§
    &xÅj¬  ã                   ó   — d Z ddlZddlZej        j        Z	 ej        j        Z	 ej        j	        Z
	 ej        j        Z	 ej        j        Z	 ej        j        Z	 ej        j        Z	 ej        j        Z	 ej        j        Z	 ej        j        Z	 ej        j        Z	 ej        j        Z	 ej        j        Z	 ej        j        Z ej        j!        Z"ej        j#        Z$ej%        j&        fde'dej%        j(        de'fd„Z)ej%        j&        fde'dej%        j(        de'fd„Z*edddej%        j&        fd	e'd
e+de'de'de'dej%        j(        de'fd„Z,e,Z-dej%        j&        fde'de'dej%        j(        de'fd„Z.e.Z/dej%        j&        fde'de'dej%        j(        de'fd„Z0dS )zŠ
The :mod:`nacl.hash` module exposes one-shot interfaces
for libsodium selected hash primitives and the constants needed
for their usage.
é    NÚmessageÚencoderÚreturnc                 óf   — |                      t          j                             | ¦  «        ¦  «        S )zç
    Hashes ``message`` with SHA256.

    :param message: The message to hash.
    :type message: bytes
    :param encoder: A class that is able to encode the hashed message.
    :returns: The hashed message.
    :rtype: bytes
    )ÚencodeÚnaclÚbindingsÚcrypto_hash_sha256©r   r   s     ú:C:\Projects\Historical\venv\Lib\site-packages\nacl/hash.pyÚsha256r   =   ó&   € ð �>Š>�$œ-×:Ò:¸7ÑCÔCÑDÔDÐDó    c                 óf   — |                      t          j                             | ¦  «        ¦  «        S )zç
    Hashes ``message`` with SHA512.

    :param message: The message to hash.
    :type message: bytes
    :param encoder: A class that is able to encode the hashed message.
    :returns: The hashed message.
    :rtype: bytes
    )r   r   r	   Úcrypto_hash_sha512r   s     r   Úsha512r   L   r   r   r   ÚdataÚdigest_sizeÚkeyÚsaltÚpersonc                 óT   — t          | ||||¬¦  «        }|                     |¦  «        S )aø  
    Hashes ``data`` with blake2b.

    :param data: the digest input byte sequence
    :type data: bytes
    :param digest_size: the requested digest size; must be at most
                        :const:`BLAKE2B_BYTES_MAX`;
                        the default digest size is
                        :const:`BLAKE2B_BYTES`
    :type digest_size: int
    :param key: the key to be set for keyed MAC/PRF usage; if set, the key
                must be at most :data:`~nacl.hash.BLAKE2B_KEYBYTES_MAX` long
    :type key: bytes
    :param salt: an initialization salt at most
                 :const:`BLAKE2B_SALTBYTES` long;
                 it will be zero-padded if needed
    :type salt: bytes
    :param person: a personalization string at most
                   :const:`BLAKE2B_PERSONALBYTES` long;
                   it will be zero-padded if needed
    :type person: bytes
    :param encoder: the encoder to use on returned digest
    :type encoder: class
    :returns: The hashed message.
    :rtype: bytes
    )r   r   r   r   )Ú	_b2b_hashr   )r   r   r   r   r   r   Údigests          r   Úblake2br   [   s8   € õF Ø˜+¨3°TÀ&ðñ ô €Fð �>Š>˜&Ñ!Ô!Ð!r   c                 óL   — t          | |¦  «        }|                     |¦  «        S )a¾  
    Computes a keyed MAC of ``message`` using the short-input-optimized
    siphash-2-4 construction.

    :param message: The message to hash.
    :type message: bytes
    :param key: the message authentication key for the siphash MAC construct
    :type key: bytes(:const:`SIPHASH_KEYBYTES`)
    :param encoder: A class that is able to encode the hashed message.
    :returns: The hashed message.
    :rtype: bytes(:const:`SIPHASH_BYTES`)
    )Ú	_sip_hashr   ©r   r   r   r   s       r   Ú	siphash24r   ‡   s%   € õ" �w Ñ$Ô$€FØ�>Š>˜&Ñ!Ô!Ð!r   c                 óL   — t          | |¦  «        }|                     |¦  «        S )aE  
    Computes a keyed MAC of ``message`` using the 128 bit variant of the
    siphash-2-4 construction.

    :param message: The message to hash.
    :type message: bytes
    :param key: the message authentication key for the siphash MAC construct
    :type key: bytes(:const:`SIPHASHX_KEYBYTES`)
    :param encoder: A class that is able to encode the hashed message.
    :returns: The hashed message.
    :rtype: bytes(:const:`SIPHASHX_BYTES`)
    :raises nacl.exceptions.UnavailableError: If called when using a
        minimal build of libsodium.

    .. versionadded:: 1.2
    )Ú
_sip_hashxr   r   s       r   Ú
siphashx24r"   Ÿ   s%   € õ* ˜ Ñ%Ô%€FØ�>Š>˜&Ñ!Ô!Ð!r   )1Ú__doc__Únacl.bindingsr   Únacl.encodingr	   Úcrypto_generichash_BYTESÚBLAKE2B_BYTESÚcrypto_generichash_BYTES_MINÚBLAKE2B_BYTES_MINÚcrypto_generichash_BYTES_MAXÚBLAKE2B_BYTES_MAXÚcrypto_generichash_KEYBYTESÚBLAKE2B_KEYBYTESÚcrypto_generichash_KEYBYTES_MINÚBLAKE2B_KEYBYTES_MINÚcrypto_generichash_KEYBYTES_MAXÚBLAKE2B_KEYBYTES_MAXÚcrypto_generichash_SALTBYTESÚBLAKE2B_SALTBYTESÚ crypto_generichash_PERSONALBYTESÚBLAKE2B_PERSONALBYTESÚ crypto_shorthash_siphash24_BYTESÚSIPHASH_BYTESÚ#crypto_shorthash_siphash24_KEYBYTESÚSIPHASH_KEYBYTESÚhas_crypto_shorthash_siphashx24ÚSIPHASHX_AVAILABLEÚ!crypto_shorthash_siphashx24_BYTESÚSIPHASHX_BYTESÚ$crypto_shorthash_siphashx24_KEYBYTESÚSIPHASHX_KEYBYTESÚ(crypto_generichash_blake2b_salt_personalr   Úcrypto_shorthash_siphash24r   Úcrypto_shorthash_siphashx24r!   ÚencodingÚ
HexEncoderÚbytesÚEncoderr   r   Úintr   Úgenerichashr   Ú	shorthashr"   © r   r   ú<module>rK      s¿  ððð ð Ð Ð Ð Ø Ð Ð Ð ð ”Ô6€Ø 2Ø”MÔ>Ð Ø :Ø”MÔ>Ð Ø :Ø”=Ô<Ð Ø EØ”}ÔDÐ Ø MØ”}ÔDÐ Ø MØ”MÔ>Ð ðàœÔFÐ ð'ð ”Ô>€Ø *Ø”=ÔDÐ Ø Bà”]ÔBÐ Ø >à”Ô@€Ø +Ø”MÔFÐ Ø CàŒMÔB€	ØŒMÔ4€	ØŒ]Ô6€
ð 6:´]Ô5MðEð EØðEØ!œ]Ô2ðEà
ðEð Eð Eð Eð  6:´]Ô5MðEð EØðEØ!œ]Ô2ðEà
ðEð Eð Eð Eð" %ØØØØ%)¤]Ô%=ð&"ð &"Ø
ð&"àð&"ð 
ð&"ð ð	&"ð
 ð&"ð Œ]Ô"ð&"ð ð&"ð &"ð &"ð &"ðR €ð
 Ø%)¤]Ô%=ð"ð "Øð"à	ð"ð Œ]Ô"ð"ð ð	"ð "ð "ð "ð* €	ð
 Ø%)¤]Ô%=ð"ð "Øð"à	ð"ð Œ]Ô"ð"ð ð	"ð "ð "ð "ð "ð "r   