5Xc@sdZddlmZededdlmZddlmZddlm Z ddl m Z dd d gZ d Z e jZd ed ZdS(s 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`. i(twarnsthe '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.(thexlify(tunicode(tdes_encrypt_block(tnthashRt raw_lmhasht raw_nthashsKGS!@#$%tasciicCst|tr!|j|}n|jd ddt|}t|d tt|dt}|rt|jdS|S(s]encode password using des-based LMHASH algorithm; returns string of raw bytes, or unicode hexitiR( t isinstanceRtencodetuppertlenRtLM_MAGICRtdecode(tsecrettencodingthextnstout((s1/usr/lib/python2.7/site-packages/passlib/win32.pyR5s "$N(t__doc__twarningsRtDeprecationWarningtbinasciiRtpasslib.utils.compatRtpasslib.crypto.desRt passlib.hashRt__all__R RtFalseR(((s1/usr/lib/python2.7/site-packages/passlib/win32.pyts