hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
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
Ë
ž¬`iãóP—ddlmZmZmZddlmZddlmZmZGd„de«Z    d„Z
y)    é)ÚbordÚis_bytesÚtobytesé)Ú    cSHAKE128)Ú _encode_strÚ _right_encodecó.—eZdZdZd„Zd„Zd„Zd„Zd„Zy)Ú    TupleHashz\A Tuple hash object.
    Do not instantiate directly.
    Use the :func:`new` function.
    cóP—||_|jd|d«|_d|_y)Nós    TupleHash)Ú digest_sizeÚ_newÚ_cshakeÚ_digest)ÚselfÚcustomÚcshakers    õkH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/Hash/TupleHash128.pyÚ__init__zTupleHash.__init__+s%€à&ˆÔà—{‘{ 3¨° Ó=ˆŒ ؈ r có¶—|j td«‚|D]<}t|«s td«‚|jj    t |««Œ>|S)zÜAuthenticate the next tuple of byte strings.
        TupleHash guarantees the logical separation between each byte string.
 
        Args:
            data (bytes/bytearray/memoryview): One or more items to hash.
        z6You cannot call 'update' after 'digest' or 'hexdigest'z#You can only call 'update' on bytes)rÚ    TypeErrorrrÚupdater)rÚdataÚitems   rrzTupleHash.update2sZ€ð <‰<Ð #ÜÐTÓUÐ Uàò    3ˆDܘD”>ÜРEÓGÐGØ L‰L× Ñ ¤ ¨DÓ 1Õ 2ð    3ð
ˆ r cóè—|j€[|jjt|jdz««|jj |j«|_|jS)zŸReturn the **binary** (non-printable) digest of the tuple of byte strings.
 
        :return: The hash digest. Binary form.
        :rtype: byte string
        é)rrrr    rÚread)rs rÚdigestzTupleHash.digestDsV€ð <‰<Ð Ø L‰L× Ñ ¤ ¨d×.>Ñ.>ÀÑ.BÓ CÔ DØŸ<™<×,Ñ,¨T×-=Ñ-=Ó>ˆDŒLà|‰|Ðr c    ó—djt|j««Dcgc]}dt|«z‘Œc}«Scc}w)z•Return the **printable** digest of the tuple of byte strings.
 
        :return: The hash digest. Hexadecimal encoded.
        :rtype: string
        Úz%02x)ÚjoinÚtuplerr)rÚxs  rÚ    hexdigestzTupleHash.hexdigestQs5€ðw‰w´%¸¿ ¹ » Ó2FÖG¨Q˜¤ a£Ó(ÒGÓHÐHùÒGs§Ac óF—d|vrd|vr|j|d<tdi|¤ŽS)zNReturn a new instance of a TupleHash object.
        See :func:`new`.
        Ú digest_bytesÚ digest_bits©)rÚnew)rÚkwargss  rr*z TupleHash.newZs/€ð
 Ñ '¨MÀÑ,GØ%)×%5Ñ%5ˆF>Ñ "ä‰}V‰}Ðr N)    Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrrr%r*r)r rr r %s!„ñò
òò$ òIór r c ó—|jdd«}|jdd«}d||fvr td«‚d||fk(rd}||dkr%td«‚|dks|dzr td    «‚|dz}|jd
d «}t|t|«S) aîCreate a new TupleHash128 object.
 
    Args:
       digest_bytes (integer):
        Optional. The size of the digest, in bytes.
        Default is 64. Minimum is 8.
       digest_bits (integer):
        Optional and alternative to ``digest_bytes``.
        The size of the digest, in bits (and in steps of 8).
        Default is 512. Minimum is 64.
       custom (bytes):
        Optional.
        A customization bytestring (``S`` in SP 800-185).
 
    :Return: A :class:`TupleHash` object
    r'Nr(z*Only one digest parameter must be provided)NNé@rz!'digest_bytes' must be at least 8z0'digest_bytes' must be at least 64 in steps of 8rr )ÚpoprÚ
ValueErrorr r)r+r'r(rs    rr*r*es²€ð$—:‘:˜n¨dÓ3€LØ—*‘*˜]¨DÓ1€KØ L +Ð.Ñ.ÜÐDÓEÐEؘ  kÐ2Ò2؈ ØÐØ ˜!Ò ÜÐ@ÓAÐ Aà ˜Ò ˜{¨QšÜð-ó.ð .à" aÑ'ˆ à Z‰Z˜ #Ó &€Fä VœY¨ Ó 5Ð5r N) ÚCrypto.Util.py3compatrrrr!rrr    Úobjectr r*r)r rú<module>r6s%ð÷>:Ñ9åß1ô=ô=ó@#6r