Ew X d dl mZmZmZ ddlmZ ddlmZmZ G d de Z d Z
dS ) )bordis_bytestobytes ) cSHAKE128)_encode_str
_right_encodec 0 e Zd ZdZd Zd Zd Zd Zd ZdS ) TupleHashz\A Tuple hash object.
Do not instantiate directly.
Use the :func:`new` function.
c Z || _ | d|d | _ d | _ d S )N s TupleHash)digest_size_new_cshake_digest)selfcustomcshaker s z/builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/Hash/TupleHash128.py__init__zTupleHash.__init__+ s, &{{3==r
c | j t d t | st d | j t t
| | S )zAuthenticate the next byte string in the tuple.
Args:
data (bytes/bytearray/memoryview): The next byte string.
Nz6You cannot call 'update' after 'digest' or 'hexdigest'z#You can only call 'update' on bytes)r TypeErrorr r updater r )r datas r r zTupleHash.update2 sb <#TUUU~~ CABBBK
66777r
c | j S| j t | j dz | j | j | _ | j S )zReturn the **binary** (non-printable) digest of the tuple of byte strings.
:return: The hash digest. Binary form.
:rtype: byte string
N )r r r r r readr s r digestzTupleHash.digestC sT <L
d.>.B C CDDD<,,T-=>>DL|r
c ~ d d t | D S )zReturn the **printable** digest of the tuple of byte strings.
:return: The hash digest. Hexadecimal encoded.
:rtype: string
c 2 g | ]}d t | z S )z%02x)r ).0xs r