← Back
Editing: keccak.cpython-311.pyc
� 8�tc � �p � d dl mZ d dlmZmZmZmZmZmZm Z edd� � Z G d� de� � Zd� Z dS ) � ��bord)�load_pycryptodome_raw_lib�VoidPointer�SmartPointer�create_string_buffer�get_raw_buffer�c_size_t�c_uint8_ptrzCryptodome.Hash._keccaka� int keccak_init(void **state, size_t capacity_bytes, uint8_t padding_byte); int keccak_destroy(void *state); int keccak_absorb(void *state, const uint8_t *in, size_t len); int keccak_squeeze(const void *state, uint8_t *out, size_t len); int keccak_digest(void *state, uint8_t *digest, size_t len); int keccak_copy(const void *src, void *dst); c �0 � e Zd ZdZd� Zd� Zd� Zd� Zd� ZdS )�Keccak_Hashz�A Keccak hash object. Do not instantiate directly. Use the :func:`new` function. :ivar digest_size: the size in bytes of the resulting hash :vartype digest_size: integer c � � || _ || _ d| _ t � � }t � |� � � t | j dz � � d� � }|rt d|z � � �t |� � � t j � � | _ |r| � |� � d S d S )NF� � z#Error %d while instantiating keccak)�digest_size�_update_after_digest�_digest_doner �_raw_keccak_lib�keccak_init� address_ofr � ValueErrorr �get�keccak_destroy�_state�update)�self�data�digest_bytes�update_after_digest�state�results �8/usr/lib/python3/dist-packages/Cryptodome/Hash/keccak.py�__init__zKeccak_Hash.__init__@ s� � �'���$7��!�!���� � �� �,�,�U�-=�-=�-?�-?�-5�d�6F��6J�-K�-K�-1�3� 3�� � M��B�V�K�L�L�L�"�5�9�9�;�;�#2�#A�C� C���� ��K�K������� � � c � � | j r| j st d� � �t � | 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 objectzError %d while updating keccak)r r � TypeErrorr � keccak_absorbr r r r �lenr )r r r! s r"