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
Ë
ž¬`ikãóh—ddlmZmZmZmZmZmZmZddlm    Z    ddl
m Z ddl m Z Gd„de«Zd„Zy    )
é)Ú VoidPointerÚ SmartPointerÚcreate_string_bufferÚget_raw_bufferÚc_size_tÚ c_uint8_ptrÚc_ubyte)Ú long_to_bytes)Úbchré)Ú_raw_keccak_libcó0—eZdZdZd„Zd„Zd„Zdd„Zd„Zy)    Ú
TurboSHAKEzaA TurboSHAKE hash object.
    Do not instantiate directly.
    Use the :func:`new` function.
    cóR—t«}tj|j«t    |«t d««}|rt d|z«‚t|j«tj«|_
d|_ ||_ ||_ |r|j|«yy)Né z'Error %d while instantiating TurboSHAKEF)rr Ú keccak_initÚ
address_ofrr    Ú
ValueErrorrÚgetÚkeccak_destroyÚ_stateÚ _is_squeezingÚ    _capacityÚ_domainÚupdate)ÚselfÚcapacityÚdomain_separationÚdataÚstateÚresults      õlH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/Hash/TurboSHAKE128.pyÚ__init__zTurboSHAKE.__init__s”€ä“ ˆÜ ×,Ñ,¨U×-=Ñ-=Ó-?Ü-5°hÓ-?Ü-4°R«[ó:ˆñ ÜÐFØ%ñ&ó'ð 'ä" 5§9¡9£;´×0NÑ0NÓOˆŒ à"ˆÔØ!ˆŒØ(ˆŒ á Ø K‰K˜Õ ð óc    óè—|jr td«‚tj|jj «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.
        z/You cannot call 'update' after the first 'read'z(Error %d while updating TurboSHAKE state)
rÚ    TypeErrorr Ú keccak_absorbrrrrÚlenr)rrr!s   r"rzTurboSHAKE.update%sm€ð × Ò ÜÐMÓNÐ Nä ×.Ñ.¨t¯{©{¯©Ó/@Ü/:¸4Ó/@Ü/7¼¸D»    Ó/BóDˆñ ÜÐGØ%ñ&ó'ð 'àˆ r$cóô—d|_t|«}tj|jj «|t |«t|j««}|rtd|z«‚t|«S)ah
        Compute the next piece of XOF output.
 
        .. note::
            You cannot use :meth:`update` anymore after the first call to
            :meth:`read`.
 
        Args:
            length (integer): the amount of bytes this method must return
 
        :return: the next piece of XOF output (of the given length)
        :rtype: byte string
        Tz)Error %d while extracting from TurboSHAKE) rrr Úkeccak_squeezerrrr    rrr)rÚlengthÚbfrr!s    r"ÚreadzTurboSHAKE.read7su€ð"ˆÔÜ" 6Ó*ˆÜ ×/Ñ/°· ± ·±Ó0AØ03Ü08¸Ó0@Ü07¸¿ ¹ Ó0EóGˆñ ÜÐHØ%ñ&ó'ð 'ô˜cÓ"Ð"r$NcóP—t|«|j|j|«S©N)Útyperr)rrs  r"ÚnewzTurboSHAKE.newRs€ØŒtD‹z˜$Ÿ.™.¨$¯,©,¸Ó=Ð=r$cóŒ—tj|jj««}|rt    d|z«‚d|_y)Nz)Error %d while resetting TurboSHAKE stateF)r Ú keccak_resetrrrr)rr!s  r"Ú_resetzTurboSHAKE._resetUs@€Ü ×-Ñ-¨d¯k©k¯o©oÓ.?Ó@ˆÙ ÜÐHØ%ñ&ó'ð 'à"ˆÕr$r/)    Ú__name__Ú
__module__Ú __qualname__Ú__doc__r#rr-r1r4©r$r"rr s „ñò
ò&ò$#ó6>ó#r$rc óš—|jdd«}d|cxkrdksntd|z«‚|jd«}td||¬«S)    a†Create a new TurboSHAKE128 object.
 
    Args:
       domain (integer):
         Optional - A domain separation byte, between 0x01 and 0x7F.
         The default value is 0x1F.
       data (bytes/bytearray/memoryview):
        Optional - The very first chunk of the message to hash.
        It is equivalent to an early call to :meth:`update`.
 
    :Return: A :class:`TurboSHAKE` object
    Údomainér éz&Incorrect domain separation value (%d)ré )r)rrr)Úkwargsrrs   r"r1r1]sY€ðŸ
™
 8¨TÓ2ÐØ Ð%Ô -¨Ô -ÜÐAØ*ñ+ó,ð    ,à :‰:fÓ €DÜ bÐ+°$Ô 7Ð7r$N)ÚCrypto.Util._raw_apirrrrrrr    ÚCrypto.Util.numberr
ÚCrypto.Util.py3compatr Úkeccakr Úobjectrr1r9r$r"ú<module>rEs3ð÷8÷8ñ8õ
-Ý&å#ôN#ôN#ób8r$