ó
    ÞÎšj®  ã                   ó<   • S r SSKrSrS\S\4S jrS\S\S\4S jrg)	uü   Password hashing helpers.

Uses the `bcrypt` package directly (not passlib) â€” passlib's bcrypt backend
is known to break on newer bcrypt releases, so we call bcrypt straight.
bcrypt silently truncates input beyond 72 bytes, so we guard against that.
é    NéH   ÚplainÚreturnc                 ó¤   • U R                  S5      S [         n[        R                  " U[        R                  " 5       5      R                  S5      $ )Núutf-8)ÚencodeÚ_MAX_BCRYPT_BYTESÚbcryptÚhashpwÚgensaltÚdecode)r   Úpws     ÚH/var/www/html/health-monitoring.indevconsultancy.in/app/core/security.pyÚhash_passwordr      s<   € Ø	�‰�gÓ	Ð1Ô 1Ð	2€BÜ�=Š=˜œVŸ^š^Ó-Ó.×5Ñ5°gÓ>Ð>ó    Úhashedc                 óª   •  U R                  S5      S [         n[        R                  " X!R                  S5      5      $ ! [        [
        4 a     gf = f)Nr   F)r   r	   r
   ÚcheckpwÚ
ValueErrorÚ	TypeError)r   r   r   s      r   Úverify_passwordr      sM   € ðØ�\‰\˜'Ó"Ð#5Ô$5Ð6ˆÜ�~Š~˜b§-¡-°Ó"8Ó9Ð9øÜœ	Ð"ó Ùðús   ‚<? ¿AÁA)Ú__doc__r
   r	   Ústrr   Úboolr   © r   r   Ú<module>r      sB   ðñó àÐ ð?˜ð ? ô ?ð
˜3ð ¨ð °õ r   