a fWc @sjdZddlmZededdlmZddlmZddlm Z ddl m Z gdZ d Z e jZdd d 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`. )warnzthe '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_nthashsKGS!@#$%asciiFcCsnt|tr||}|ddddt|}t|ddtt|ddt}|rjt|dS|S)z]encode password using des-based LMHASH algorithm; returns string of raw bytes, or unicode hexNr ) isinstancerencodeupperlenrLM_MAGICrdecode)Zsecretencodinghexnsoutr1/usr/lib/python3.9/site-packages/passlib/win32.pyr5s    $rN)r F)__doc__warningsrDeprecationWarningZbinasciirZpasslib.utils.compatrZpasslib.crypto.desrZ passlib.hashr__all__rrrrrrrs