
    #	h                    f   S SK Jr  S SKrS SKJr  / SQr " S S\R                  S9r " S S	\R                  S9r	\R                  R                  r\	R                  \5         " S
 S\R                  S9r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S  S!\5      r " S" S#\\5      r " S$ S%\\5      r " S& S'\5      r " S( S)\5      r " S* S+\5      r " S, S-\5      rg).    )annotationsN)openssl)MD5SHA1SHA3_224SHA3_256SHA3_384SHA3_512SHA224SHA256SHA384SHA512
SHA512_224
SHA512_256SHAKE128SHAKE256SM3BLAKE2bBLAKE2sExtendableOutputFunctionHashHashAlgorithmHashContextc                      \ rS rSr\\R                  SS j5       5       r\\R                  SS j5       5       r\\R                  S	S j5       5       r	Sr
g)
r   $   c                    g)z8
A string naming this algorithm (e.g. "sha256", "md5").
N selfs    W/var/www/html/env/lib/python3.13/site-packages/cryptography/hazmat/primitives/hashes.pynameHashAlgorithm.name%           c                    g)z,
The size of the resulting digest in bytes.
Nr   r   s    r    digest_sizeHashAlgorithm.digest_size,   r#   r$   c                    g)zx
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_sizeHashAlgorithm.block_size3   r#   r$   r   N)returnstrr+   int)r+   z
int | None)__name__
__module____qualname____firstlineno__propertyabcabstractmethodr!   r&   r)   __static_attributes__r   r$   r    r   r   $   sf      
   
   r$   r   )	metaclassc                      \ rS rSr\\R                  SS j5       5       r\R                  S	S j5       r\R                  S
S j5       r	\R                  SS j5       r
Srg)r   <   c                    g)z4
A HashAlgorithm that will be used by this context.
Nr   r   s    r    	algorithmHashContext.algorithm=   r#   r$   c                    g)z0
Processes the provided bytes through the hash.
Nr   )r   datas     r    updateHashContext.updateD   r#   r$   c                    g)zB
Finalizes the hash context and returns the hash digest as bytes.
Nr   r   s    r    finalizeHashContext.finalizeJ   r#   r$   c                    g)z=
Return a HashContext that is a copy of the current context.
Nr   r   s    r    copyHashContext.copyP   r#   r$   r   N)r+   r   )r>   bytesr+   None)r+   rG   )r+   r   )r/   r0   r1   r2   r3   r4   r5   r;   r?   rB   rE   r6   r   r$   r    r   r   <   sp      
 	 
 	 
 	 r$   r   c                      \ rS rSrSrSrg)r   [   z/
An interface for extendable output functions.
r   N)r/   r0   r1   r2   __doc__r6   r   r$   r    r   r   [   s    r$   r   c                       \ rS rSrSrSrSrSrg)r   a   sha1   @   r   Nr/   r0   r1   r2   r!   r&   r)   r6   r   r$   r    r   r   a   s    DKJr$   r   c                       \ rS rSrSrSrSrSrg)r   g   z
sha512-224      r   NrQ   r   r$   r    r   r   g       DKJr$   r   c                       \ rS rSrSrSrSrSrg)r   m   z
sha512-256    rU   r   NrQ   r   r$   r    r   r   m   rV   r$   r   c                       \ rS rSrSrSrSrSrg)r   s   sha224rT   rP   r   NrQ   r   r$   r    r   r   s       DKJr$   r   c                       \ rS rSrSrSrSrSrg)r   y   sha256rY   rP   r   NrQ   r   r$   r    r   r   y   r]   r$   r   c                       \ rS rSrSrSrSrSrg)r      sha3840   rU   r   NrQ   r   r$   r    r   r          DKJr$   r   c                       \ rS rSrSrSrSrSrg)r      sha512rP   rU   r   NrQ   r   r$   r    r   r      re   r$   r   c                       \ rS rSrSrSrSrSrg)r      zsha3-224rT   Nr   rQ   r   r$   r    r   r          DKJr$   r   c                       \ rS rSrSrSrSrSrg)r      zsha3-256rY   Nr   rQ   r   r$   r    r   r      rk   r$   r   c                       \ rS rSrSrSrSrSrg)r	      zsha3-384rd   Nr   rQ   r   r$   r    r	   r	      rk   r$   r	   c                       \ rS rSrSrSrSrSrg)r
      zsha3-512rP   Nr   rQ   r   r$   r    r
   r
      rk   r$   r
   c                  :    \ rS rSrSrSrSS jr\SS j5       rSr	g)	r      shake128Nc                r    [        U[        5      (       d  [        S5      eUS:  a  [        S5      eXl        g Nzdigest_size must be an integer   z&digest_size must be a positive integer
isinstancer.   	TypeError
ValueError_digest_sizer   r&   s     r    __init__SHAKE128.__init__   4    +s++<==?EFF'r$   c                    U R                   $ Nr|   r   s    r    r&   SHAKE128.digest_size          r$   r   r&   r.   r-   
r/   r0   r1   r2   r!   r)   r~   r3   r&   r6   r   r$   r    r   r      %    DJ( ! !r$   r   c                  :    \ rS rSrSrSrSS jr\SS j5       rSr	g)	r      shake256Nc                r    [        U[        5      (       d  [        S5      eUS:  a  [        S5      eXl        g rv   rx   r}   s     r    r~   SHAKE256.__init__   r   r$   c                    U R                   $ r   r   r   s    r    r&   SHAKE256.digest_size   r   r$   r   r   r-   r   r   r$   r    r   r      r   r$   r   c                       \ rS rSrSrSrSrSrg)r      md5   rP   r   NrQ   r   r$   r    r   r          DKJr$   r   c                  B    \ rS rSrSrSrSrSrS
S jr\	SS j5       r
Srg	)r      blake2brP   rw   rU   c                2    US:w  a  [        S5      eXl        g )NrP   zDigest size must be 64r{   r|   r}   s     r    r~   BLAKE2b.__init__       "566'r$   c                    U R                   $ r   r   r   s    r    r&   BLAKE2b.digest_size   r   r$   r   Nr   r-   )r/   r0   r1   r2   r!   _max_digest_size_min_digest_sizer)   r~   r3   r&   r6   r   r$   r    r   r      s1    DJ( ! !r$   r   c                  B    \ rS rSrSrSrSrSrS
S jr\	SS j5       r
Srg	)r      blake2srP   rY   rw   c                2    US:w  a  [        S5      eXl        g )NrY   zDigest size must be 32r   r}   s     r    r~   BLAKE2s.__init__   r   r$   c                    U R                   $ r   r   r   s    r    r&   BLAKE2s.digest_size   r   r$   r   Nr   r-   )r/   r0   r1   r2   r!   r)   r   r   r~   r3   r&   r6   r   r$   r    r   r      s1    DJ( ! !r$   r   c                       \ rS rSrSrSrSrSrg)r      sm3rY   rP   r   NrQ   r   r$   r    r   r      r   r$   r   )
__future__r   r4   "cryptography.hazmat.bindings._rustr   rust_openssl__all__ABCMetar   r   hashesr   registerr   r   r   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r$   r    <module>r      s:  
 # 
 F2ckk 0CKK 6    T  =   ] ] ] ] } } } } !}6 !$!}6 !$- !m !"!m !"- r$   