Sindbad~EG File Manager
�
�� h# � �z � d dl mZ d dlmZmZmZmZmZmZm Z m
Z
d dlmZ G d� de
� � Zd� Zej ZdZdS ) � ��bord)�load_pycryptodome_raw_lib�VoidPointer�SmartPointer�create_string_buffer�get_raw_buffer�c_size_t�c_uint8_ptr�c_ubyte)�_raw_keccak_libc �D � e Zd ZdZdZdZdZd� Zd� Zd� Z d� Z
d � Zdd�Zd
S )
�
SHA3_256_Hashz�A SHA3-256 hash object.
Do not instantiate directly.
Use the :func:`new` function.
:ivar oid: ASN.1 Object ID
:vartype oid: string
:ivar digest_size: the size in bytes of the resulting hash
:vartype digest_size: integer
� z2.16.840.1.101.3.4.2.8� c � � || _ d| _ d| _ t � � }t j |� � � t | j dz � � t d� � � � }|rt d|z � � �t |� � � t j
� � | _ |r| � |� � d S d S )NF� � � �&Error %d while instantiating SHA-3/256)�_update_after_digest�_digest_done�_paddingr r
�keccak_init�
address_ofr
�digest_sizer �
ValueErrorr �get�keccak_destroy�_state�update)�self�data�update_after_digest�state�results �v/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/Hash/SHA3_256.py�__init__zSHA3_256_Hash.__init__4 s� � �$7��!�!�����
��
�
�� �,�U�-=�-=�-?�-?�-5�d�6F��6J�-K�-K�-4�R�[�[�:� :�� � '��E�%�&� '� '�
'�"�5�9�9�;�;�#2�#A�C� C���� ��K�K������� � � c � � | j r| j st d� � �t j | j � � � t |� � t t |� � � � � � }|rt d|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 objectz!Error %d while updating SHA-3/256)r r � TypeErrorr
�
keccak_absorbr r r r
�lenr )r"