File: //lib/python3/dist-packages/cryptography/hazmat/primitives/__pycache__/hashes.cpython-38.pyc
U
�e�]> � @ sv d dl mZmZmZ d dlZd dlZd dlmZ d dlm Z m
Z
mZ d dlm
Z
e�ej�G dd� de��Ze�ej�G dd � d e��Ze�ej�G d
d� de��Ze�e�G dd
� d
e��Ze�e�G dd� de��Ze�e�G dd� de��Ze�e�G dd� de��Ze�e�G dd� de��Ze�e�G dd� de��Ze�e�G dd� de��Ze�e�G dd� de��Ze�e�G dd� de��Ze�e�G dd� de��Ze�e�G d d!� d!e��Ze�e�G d"d#� d#e��Z e�e�e�e�G d$d%� d%e���Z!e�e�e�e�G d&d'� d'e���Z"e�e�G d(d)� d)e��Z#e�e�G d*d+� d+e��Z$e�e�G d,d-� d-e��Z%dS ).� )�absolute_import�division�print_functionN)�utils)�AlreadyFinalized�UnsupportedAlgorithm�_Reasons)�HashBackendc @ s( e Zd Zejdd� �Zejdd� �ZdS )�
HashAlgorithmc C s dS )zH
A string naming this algorithm (e.g. "sha256", "md5").
N� ��selfr r �G/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/hashes.py�name s zHashAlgorithm.namec C s dS )z<
The size of the resulting digest in bytes.
Nr r r r r �digest_size s zHashAlgorithm.digest_sizeN)�__name__�
__module__�__qualname__�abc�abstractpropertyr r r r r r r
s
r
c @ sD e Zd Zejdd� �Zejdd� �Zejdd� �Zejdd� �Z d S )
�HashContextc C s dS )zD
A HashAlgorithm that will be used by this context.
Nr r r r r � algorithm# s zHashContext.algorithmc C s dS )z@
Processes the provided bytes through the hash.
Nr �r
�datar r r �update) s zHashContext.updatec C s dS )zR
Finalizes the hash context and returns the hash digest as bytes.
Nr r r r r �finalize/ s zHashContext.finalizec C s dS )zM
Return a HashContext that is a copy of the current context.
Nr r r r r �copy5 s zHashContext.copyN)
r r r r r r �abstractmethodr r r r r r r r ! s
r c @ s e Zd ZdZdS )�ExtendableOutputFunctionz7
An interface for extendable output functions.
N)r r r �__doc__r r r r r <