← Back
Editing: SHA3_384.cpython-311.pyc
� 8�tc � �v � d dl mZ d dlmZmZmZmZmZmZm Z d dl mZ G d� de� � Z d� Ze j ZdZdS ) � ��bord)�load_pycryptodome_raw_lib�VoidPointer�SmartPointer�create_string_buffer�get_raw_buffer�c_size_t�c_uint8_ptr)�_raw_keccak_libc �L � e Zd ZdZdZdZdZd� Zd� Zd� Z d� Z d � Zd d�Zd d�Zd S )� SHA3_384_Hashz�A SHA3-384 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 �0 z2.16.840.1.101.3.4.2.9�h c �t � || _ d| _ t � � }t j |� � � t | j dz � � d� � }|rt d|z � � �t |� � � t j � � | _ |r| � |� � d S d S )NF� � �&Error %d while instantiating SHA-3/384)�_update_after_digest�_digest_doner r �keccak_init� address_ofr �digest_size� ValueErrorr �get�keccak_destroy�_state�update)�self�data�update_after_digest�state�results �:/usr/lib/python3/dist-packages/Cryptodome/Hash/SHA3_384.py�__init__zSHA3_384_Hash.__init__4 s� � �$7��!�!���� � �� �,�U�-=�-=�-?�-?�-5�d�6F��6J�-K�-K�-1�3� 3�� � '��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/384)r r � TypeErrorr � keccak_absorbr r r r �lenr )r r r# s r$ r zSHA3_384_Hash.updateD s� � � �� X�T�%>� X��V�W�W�W� �.�t�{���/@�/@�/:�4�/@�/@�/7��D� � �/B�/B�D� D�� � '��@�%�&� '� '� '��r&