File manager - Edit - /usr/local/CyberCP/lib/python3.10/site-packages/nacl/__pycache__/hashlib.cpython-310.pyc
Back
o �h0 � @ s� d dl Z d dlmZ d dlZd dlmZ ejjZ ejj ZejjZ ejjZejjZejjZejjZejjZejjZejjZejjZejjZG dd� d�Z dde!d e!de"de"de"de"de"de!fdd�Z#dS )� N)�NoReturn)�bytes_as_stringc @ s� e Zd ZdZeZeZeZ e Zdedddfdede dededef dd �Zed e fdd��Zed e fd d��Zed efdd��Zded dfdd�Zd efdd�Zd efdd�Zddd�Zd efdd�ZdS )�blake2bzK :py:mod:`hashlib` API compatible blake2b algorithm implementation � �data�digest_size�key�salt�personc C s. t ||||d�| _|| _|r| �|� dS dS )ab :py:class:`.blake2b` algorithm initializer :param data: :type data: bytes :param int digest_size: the requested digest size; must be at most :py:attr:`.MAX_DIGEST_SIZE`; the default digest size is :py:data:`.BYTES` :param key: the key to be set for keyed MAC/PRF usage; if set, the key must be at most :py:data:`.KEYBYTES_MAX` long :type key: bytes :param salt: a initialization salt at most :py:attr:`.SALT_SIZE` long; it will be zero-padded if needed :type salt: bytes :param person: a personalization string at most :py:attr:`.PERSONAL_SIZE` long; it will be zero-padded if needed :type person: bytes )r r r r N)� _b2b_init�_state�_digest_size�update)�selfr r r r r � r �?/usr/local/CyberCP/lib/python3.10/site-packages/nacl/hashlib.py�__init__0 s ��zblake2b.__init__�returnc C s | j S �N)r �r r r r r U s zblake2b.digest_sizec C � dS )N� r r r r r � block_sizeY � zblake2b.block_sizec C r )Nr r r r r r �name] r zblake2b.nameNc C s t | j|� d S r )�_b2b_updater )r r r r r r a s zblake2b.updatec C s | j �� }t|�S r )r �copy� _b2b_final)r �_str r r �digestd s zblake2b.digestc C s t t�| �� ��S r )r �binascii�hexlifyr r r r r � hexdigesth s zblake2b.hexdigestc C s$ t | �| jd�}| j�� }||_|S )N)r )�typer r r )r �_cpr r r r r k s zblake2b.copyc C s t d�| jj���)zc Raise the same exception as hashlib's blake implementation on copy.copy() zcan't pickle {} objects)� TypeError�format� __class__�__name__r r r r � __reduce__q s �zblake2b.__reduce__)r r )r( � __module__�__qualname__�__doc__�BYTES�MAX_DIGEST_SIZE�KEYBYTES_MAX�MAX_KEY_SIZE� PERSONALBYTES�PERSON_SIZE� SALTBYTES� SALT_SIZE�bytes�intr �propertyr r �strr r r r"