hyb
2026-01-30 15bc7727b58bf9ca0c8f21702fa893daac232b8d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Ë
ž¬`i,ãóf—ddlmZddlmZmZmZmZmZmZm    Z    m
Z
edd«Z Gd„de «Z d„Zy)    é)Úbord)Úload_pycryptodome_raw_libÚ VoidPointerÚ SmartPointerÚcreate_string_bufferÚget_raw_bufferÚc_size_tÚ c_uint8_ptrÚc_ubytezCrypto.Hash._keccakaö
                        int keccak_init(void **state,
                                        size_t capacity_bytes,
                                        uint8_t rounds);
                        int keccak_destroy(void *state);
                        int keccak_absorb(void *state,
                                          const uint8_t *in,
                                          size_t len);
                        int keccak_squeeze(const void *state,
                                           uint8_t *out,
                                           size_t len,
                                           uint8_t padding);
                        int keccak_digest(void *state,
                                          uint8_t *digest,
                                          size_t len,
                                          uint8_t padding);
                        int keccak_copy(const void *src, void *dst);
                        int keccak_reset(void *state);
                        có.—eZdZdZd„Zd„Zd„Zd„Zd„Zy)Ú Keccak_Hashz¿A Keccak hash object.
    Do not instantiate directly.
    Use the :func:`new` function.
 
    :ivar digest_size: the size in bytes of the resulting hash
    :vartype digest_size: integer
    cóz—||_||_d|_d|_t    «}t
j |j«t|jdz«td««}|rtd|z«‚t|j«t
j«|_|r|j|«yy)NFéééz#Error %d while instantiating keccak)Ú digest_sizeÚ_update_after_digestÚ _digest_doneÚ_paddingrÚ_raw_keccak_libÚ keccak_initÚ
address_ofr    r Ú
ValueErrorrÚgetÚkeccak_destroyÚ_stateÚupdate)ÚselfÚdataÚ digest_bytesÚupdate_after_digestÚstateÚresults      õeH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/Hash/keccak.pyÚ__init__zKeccak_Hash.__init__Es¥€à'ˆÔà$7ˆÔ!Ø!ˆÔ؈Œ ä“ ˆÜ ×,Ñ,¨U×-=Ñ-=Ó-?Ü-5°d×6FÑ6FÈÑ6JÓ-KÜ-4°R«[ó:ˆñ ÜÐBÀVÑKÓLÐ LÜ" 5§9¡9£;Ü#2×#AÑ#AóCˆŒ á Ø K‰K˜Õ ð óc    ó—|jr|js td«‚tj    |j
j «t|«tt|«««}|rtd|z«‚|S)z¼Continue hashing of a message by consuming the next chunk of data.
 
        Args:
            data (byte string/byte array/memoryview): The next chunk of the message being hashed.
        z8You can only call 'digest' or 'hexdigest' on this objectzError %d while updating keccak) rrÚ    TypeErrorrÚ keccak_absorbrrr
r    Úlenr)rrr#s   r$rzKeccak_Hash.updateXsn€ð × Ò  T×%>Ò%>ÜÐVÓWÐ Wä ×.Ñ.¨t¯{©{¯©Ó/@Ü/:¸4Ó/@Ü/7¼¸D»    Ó/BóDˆñ ÜÐ=ÀÑFÓGÐ G؈ r&có—d|_t|j«}tj    |j
j «|t|j«t|j««}|rtd|z«‚t|«S)zçReturn the **binary** (non-printable) digest of the message that has been hashed so far.
 
        :return: The hash digest, computed over the data processed so far.
                 Binary form.
        :rtype: byte string
        TzError %d while squeezing keccak) rrrrÚ keccak_digestrrr    r rrr)rÚbfrr#s   r$ÚdigestzKeccak_Hash.digestisx€ð!ˆÔÜ" 4×#3Ñ#3Ó4ˆÜ ×.Ñ.¨t¯{©{¯©Ó/@Ø/2Ü/7¸×8HÑ8HÓ/IÜ/6°t·}±}Ó/EóGˆñ ÜÐ>ÀÑGÓHÐ Hä˜cÓ"Ð"r&c    ó~—dj|j«Dcgc]}dt|«z‘Œc}«Scc}w)zÝReturn the **printable** digest of the message that has been hashed so far.
 
        :return: The hash digest, computed over the data processed so far.
                 Hexadecimal encoded.
        :rtype: string
        Úz%02x)Újoinr.r)rÚxs  r$Ú    hexdigestzKeccak_Hash.hexdigest|s0€ðw‰w°$·+±+³-Ö@¨Q˜¤ a£Ó(Ò@ÓAÐAùÒ@sž:c óF—d|vrd|vr|j|d<tdi|¤ŽS)z"Create a fresh Keccak hash object.r Ú digest_bits©)rÚnew)rÚkwargss  r$r7zKeccak_Hash.new†s/€ð  Ñ '¨MÀÑ,GØ%)×%5Ñ%5ˆF>Ñ "ä‰}V‰}Ðr&N)    Ú__name__Ú
__module__Ú __qualname__Ú__doc__r%rr.r3r7r6r&r$r r <s!„ñòò&ò"#ò&Bór&r c ón—|jdd«}|jdd«}|jdd«}|jdd«}d||fvr td«‚d||fk(r td    «‚||d
vrtd «‚|d vr td «‚|dz}|rtdt|«z«‚t    |||«S)aoCreate a new hash object.
 
    Args:
        data (bytes/bytearray/memoryview):
            The very first chunk of the message to hash.
            It is equivalent to an early call to :meth:`Keccak_Hash.update`.
        digest_bytes (integer):
            The size of the digest, in bytes (28, 32, 48, 64).
        digest_bits (integer):
            The size of the digest, in bits (224, 256, 384, 512).
        update_after_digest (boolean):
            Whether :meth:`Keccak.digest` can be followed by another
            :meth:`Keccak.update` (default: ``False``).
 
    :Return: A :class:`Keccak_Hash` hash object
    rNr!Fr r5z*Only one digest parameter must be provided)NNz&Digest size (bits, bytes) not provided)éé é0é@z('digest_bytes' must be: 28, 32, 48 or 64)éàéi€iz,'digest_bytes' must be: 224, 256, 384 or 512ézUnknown parameters: )Úpopr(rÚstrr )r8rr!r r5s     r$r7r7sڀð$ :‰:f˜dÓ #€DØ Ÿ*™*Ð%:¸EÓBÐà—:‘:˜n¨dÓ3€LØ—*‘*˜]¨DÓ1€KØ L +Ð.Ñ.ÜÐDÓEÐEؘ  kÐ2Ò2ÜÐ@ÓAÐAØÐØ Ð/Ñ /ÜÐGÓHÐ Hà Ð2Ñ 2ÜÐKÓLÐ LØ" aÑ'ˆ á ÜÐ.´°V³Ñ<Ó=Ð=ä t˜\Ð+>Ó ?Ð?r&N)ÚCrypto.Util.py3compatrÚCrypto.Util._raw_apirrrrrr    r
r rÚobjectr r7r6r&r$ú<module>rJsBðõ>'÷8÷8ó8ñ ,Ð,Aðó€ô*P&ôPóf&@r&