File: //lib/python3/dist-packages/cryptography/hazmat/primitives/__pycache__/hashes.cpython-312.pyc
�
�)%a� � �J � d dl Z d dlZd dlmZ d dlmZmZmZ d dlm Z d dl
mZ G d� de j �� Z
G d � d
e j �� Z G d� de j �� Z G d
� de� Z G d� de
� Z G d� de
� Z G d� de
� Z G d� de
� Z G d� de
� Z G d� de
� Z G d� de
� Z G d� de
� Z G d� d e
� Z G d!� d"e
� Z G d#� d$e
� Z G d%� d&e
e� Z G d'� d(e
e� Z G d)� d*e
� Z G d+� d,e
� Z G d-� d.e
� Z y)/� N)�utils)�AlreadyFinalized�UnsupportedAlgorithm�_Reasons)�_get_backend)�HashBackendc � � e Zd Zej defd�� Zej defd�� Zej de j e fd�� Zy)�
HashAlgorithm�returnc � � y)zH
A string naming this algorithm (e.g. "sha256", "md5").
N� ��selfs �G/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py�namezHashAlgorithm.name � � � c � � y)z<
The size of the resulting digest in bytes.
Nr
r s r �digest_sizezHashAlgorithm.digest_size r r c � � y)z�
The internal block size of the hash function, or None if the hash
function does not use blocks internally (e.g. SHA3).
Nr
r s r �
block_sizezHashAlgorithm.block_size r r N)�__name__�
__module__�__qualname__�abc�abstractproperty�strr �intr �typing�Optionalr r
r r r
r
sl � �����c� � ��
����S� � ��
����F�O�O�C�0� � �r r
)� metaclassc � � e Zd Zej defd�� Zej deddfd�� Z ej defd�� Z
ej dd�� Zy) �HashContextr c � � y)zD
A HashAlgorithm that will be used by this context.
Nr
r s r � algorithmzHashContext.algorithm( r r �dataNc � � y)z@
Processes the provided bytes through the hash.
Nr
�r r&