o
    Ù­‘hU  ã                   @   sr   d dl Z ddœde jeef dedefdd„Zddœde jeef dedefd	d
„ZG dd„ de jƒZddgZdS )é    Nzutf-8)ÚencodingÚvr   Úreturnc                C   s    t | tƒr
|  |¡S t t| ¡S ©N)Ú
isinstanceÚbytesÚdecodeÚtypingÚcastÚstr©r   r   © r   úX/var/www/html/stock_analysis/be/venv/lib/python3.10/site-packages/pwdlib/hashers/base.pyÚ
ensure_str   s    r   c                C   s   t | tƒr
|  |¡S | S r   )r   r   Úencoder   r   r   r   Úensure_bytes   s   r   c                   @   s¢   e Zd Zedejeef defdd„ƒZ	ddœdejeef dejedf defd	d
„Z
dejeef dejeef defdd„Zdejeef defdd„ZdS )ÚHasherProtocolÚhashr   c                 C   ó   d S r   r   )Úclsr   r   r   r   Úidentify   s   zHasherProtocol.identifyN)ÚsaltÚpasswordr   c                C   r   r   r   )Úselfr   r   r   r   r   r      s   zHasherProtocol.hashc                 C   r   r   r   )r   r   r   r   r   r   Úverify   s   zHasherProtocol.verifyc                 C   r   r   r   )r   r   r   r   r   Úcheck_needs_rehash   s    z!HasherProtocol.check_needs_rehash)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr	   ÚUnionr   r   Úboolr   r   r   r   r   r   r   r   r      s&    üþü
ûþý
ü r   )	r	   r    r   r   r   r   ÚProtocolr   Ú__all__r   r   r   r   Ú<module>   s
    &&