Ë
    º2Úiù  ã                   ó`   — d dl Z d dlmZ d dlmZ d dlmZ d dlm	Z	 e	j                  Zd„ Zd„ Zy)é    N)Úurandom)Údefault_backend)Úhashes)Úknox_settingsc                  óŽ   — t        j                  t        t        t        j
                  dz  «      «      «      j                  «       S )Né   )ÚbinasciiÚhexlifyÚgenerate_bytesÚintr   ÚAUTH_TOKEN_CHARACTER_LENGTHÚdecode© ó    úB/var/www/html/acx/venv/lib/python3.12/site-packages/knox/crypto.pyÚcreate_token_stringr      s4   € Ü×ÑÜ”sœ=×DÑDÀqÑHÓIÓJóç�fƒhðr   c                 óú   — t        j                  t        «       t        «       ¬«      }|j	                  t        j                  | «      «       t        j                  |j                  «       «      j                  «       S )z¨
    Calculates the hash of a token.
    input is unhexlified

    token must contain an even number of hex digits or a binascii.Error
    exception will be raised
    )Úbackend)
r   ÚHashÚshar   Úupdater	   Ú	unhexlifyr
   Úfinalizer   )ÚtokenÚdigests     r   Ú
hash_tokenr      sQ   € ô �[‰[œ›¬Ó(9Ô:€FØ
‡M�M”(×$Ñ$ UÓ+Ô,Ü×Ñ˜FŸO™OÓ-Ó.×5Ñ5Ó7Ð7r   )r	   Úosr   r   Úcryptography.hazmat.backendsr   Úcryptography.hazmat.primitivesr   Úknox.settingsr   ÚSECURE_HASH_ALGORITHMr   r   r   r   r   r   ú<module>r"      s)   ðÛ Ý (å 8Ý 1å 'à×)Ñ)€òó
8r   