HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/hmac.cpython-38.pyc
U

�e�]��@sdddlmZmZmZddlmZddlmZmZm	Z	ddl
mZmZe�
ej�Gdd�de��ZdS)�)�absolute_import�division�print_function)�utils)�InvalidSignature�UnsupportedAlgorithm�_Reasons)�
constant_time�hashesc@s@eZdZd
dd�Ze�d�Zdd�Zdd�Zd	d
�Z	dd�Z
dS)�_HMACContextNcCs�||_||_|dkr�|jj��}|j�||jjjk�|jj�||jjj�}|j�	|�}||jjjkrzt
d�|j�t
j��|jj�|�}|jj�||t|�||jjj�}|j�|dk�||_||_dS)Nz*{} is not a supported hash on this backendr)�
_algorithm�_backend�_lib�Cryptography_HMAC_CTX_new�openssl_assert�_ffi�NULL�gc�Cryptography_HMAC_CTX_freeZ_evp_md_from_algorithmr�format�namerZUNSUPPORTED_HASH�from_bufferZHMAC_Init_ex�len�_ctx�_key)�selfZbackend�key�	algorithm�ctxZevp_mdZkey_ptr�res�r �K/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/hmac.py�__init__s8����z_HMACContext.__init__rcCsp|jj��}|j�||jjjk�|jj�||jjj�}|jj�||j	�}|j�|dk�t
|j|j|j|d�S)Nr)r)
r
rrrrrrrZ
HMAC_CTX_copyrrrr)rZ
copied_ctxrr r r!�copy-s��z_HMACContext.copycCs:|jj�|�}|jj�|j|t|��}|j�|dk�dS)Nr)r
rrrZHMAC_Updaterrr)r�dataZdata_ptrrr r r!�update9sz_HMACContext.updatecCsz|jj�d|jjj�}|jj�d�}|jj�|j||�}|j�|dk�|j�|d|jj	k�|jj�
|�d|d�S)Nzunsigned char[]zunsigned int *r)r
r�newrZEVP_MAX_MD_SIZEZ
HMAC_FinalrrrZdigest_size�buffer)rZbufZoutlenrr r r!�finalize>s
�z_HMACContext.finalizecCs |��}t�||�std��dS)NzSignature did not match digest.)r(r	Zbytes_eqr)rZ	signatureZdigestr r r!�verifyGsz_HMACContext.verify)N)�__name__�
__module__�__qualname__r"rZread_only_propertyrr#r%r(r)r r r r!rs

	rN)Z
__future__rrrZcryptographyrZcryptography.exceptionsrrrZcryptography.hazmat.primitivesr	r
Zregister_interfaceZHashContext�objectrr r r r!�<module>s