관리-도구
편집 파일: win32.cpython-39.pyc
a f�Wc � @ sj d Z ddlmZ ede� ddlmZ ddlmZ ddlm Z ddl mZ g d�Zd Z ejZddd �ZdS )a passlib.win32 - MS Windows support - DEPRECATED, WILL BE REMOVED IN 1.8 the LMHASH and NTHASH algorithms are used in various windows related contexts, but generally not in a manner compatible with how passlib is structured. in particular, they have no identifying marks, both being 32 bytes of binary data. thus, they can't be easily identified in a context with other hashes, so a CryptHandler hasn't been defined for them. this module provided two functions to aid in any use-cases which exist. .. warning:: these functions should not be used for new code unless an existing system requires them, they are both known broken, and are beyond insecure on their own. .. autofunction:: raw_lmhash .. autofunction:: raw_nthash See also :mod:`passlib.hash.nthash`. � )�warnz�the 'passlib.win32' module is deprecated, and will be removed in passlib 1.8; please use the 'passlib.hash.nthash' and 'passlib.hash.lmhash' classes instead.)�hexlify)�unicode)�des_encrypt_block)�nthash)r � raw_lmhash� raw_nthashs KGS!@#$%�asciiFc C sn t | t�r| �|�} | �� dd� ddt| � }t|dd� t�t|dd� t� }|rjt|��d�S |S )z]encode password using des-based LMHASH algorithm; returns string of raw bytes, or unicode hexN� � � r ) � isinstancer �encode�upper�lenr �LM_MAGICr �decode)Zsecret�encoding�hex�ns�out� r �1/usr/lib/python3.9/site-packages/passlib/win32.pyr 5 s $r N)r F)�__doc__�warningsr �DeprecationWarningZbinasciir Zpasslib.utils.compatr Zpasslib.crypto.desr Zpasslib.hashr �__all__r r r r r r r �<module> s �