
    5i                         d dl mZmZ d dlZd dlmZ  G d d          Zddede	fd	Z
dde	fd
Ze
ZeZej        Zej        Zej        Zej        Zej        Zej        ZdS )    )ABCabstractmethodN)loggerc                   r    e Zd ZdefdZed             Zed             Zed             Zed             Z	dS )hashBASEdatac                 x    d | _         |                                  || j                             |           d S d S N)_hash
setup_hashupdateselfr   s     G/home/kali/Ninja/venv/lib/python3.11/site-packages/unicrypto/hashlib.py__init__zhashBASE.__init__   sC    $*//	:T     c                     t                      r
   NotImplementedErrorr   s    r   r   zhashBASE.setup_hash   s     	r   c                     t                      r
   r   r   s     r   r   zhashBASE.update       r   c                     t                      r
   r   r   s    r   digestzhashBASE.digest   r   r   c                     t                      r
   r   r   s    r   	hexdigestzhashBASE.hexdigest   r   r   N)
__name__
__module____qualname__bytesr   r   r   r   r   r    r   r   r   r      s               .   .   .   .  r   r   r   namer   c                 >   |                                  dk    r(t          j        d| z             ddlm}  ||          S |                                  t
          j        v r,t          j        d| z             t          j        | |          S t          d| z            )Nmd4zhashlib using "pure" for "%s"r   )MD4z hashlib using "builtin" for "%s"z"Algorithm "%s" is not implemented!)	lowerr   debugunicrypto.backends.pure.MD4r%   __builtinHashlibalgorithms_availablenewr   )r"   r   r%   s      r   hashselectorr,      s    JJLLE,.5666------	TJJLL$999,1D8999		dD	)	))?$FGGGr   c                 "    t          d|           S )Nr$   )r,   )r   s    r   md4hashr.   *   s    UD!!!r   )r   )abcr   r   hashlibr)   	unicryptor   r   strr    r,   r.   r+   r$   md5sha1sha224sha256sha384sha512r!   r   r   <module>r9      s    # # # # # # # # " " " "             2
H 
Hc 
H 
H 
H 
H 
H" " " " " " 		 		 		 		 r   