Your IP : 3.144.6.219


Current Path : /lib64/python2.7/
Upload File :
Current File : //lib64/python2.7/crypt.pyc

�
�mec@sWdZddlZddlZddlmZddlmZ	ej
ejdZe�Z
de	dd�fd��YZdd	�Zdd
�Zedddd
�Zedddd�Zedddd�Zedddd�ZgZxQeeefD]@Zede�Zer�ee�ejkr�eje�q�q�Weje�[[dS(s�Wrapper to the POSIX crypt library call and associated functionality.

Note that the ``methods`` and ``METHOD_*`` attributes are non-standard
extensions to Python 2.7, backported from 3.3i����N(tSystemRandom(t
namedtuples./t_Methods name ident salt_chars total_sizecBseZdZd�ZRS(siClass representing a salt method per the Modular Crypt Format or the
    legacy 2-character crypt method.cCsd|jS(Ns<crypt.METHOD_%s>(tname(tself((s/usr/lib64/python2.7/crypt.pyt__repr__s(t__name__t
__module__t__doc__R(((s/usr/lib64/python2.7/crypt.pyRscCs[|dkrtd}n|jr/d|jnd}|djtjt|j��7}|S(s�Generate a salt for the specified method.

    If not specified, the strongest available method will be used.

    This is a non-standard extension to Python 2.7, backported from 3.3
    is$%s$tN(tNonetmethodstidenttjoint_srtsamplet
_saltcharst
salt_chars(tmethodts((s/usr/lib64/python2.7/crypt.pytmksalts

"cCs:|dkst|t�r*t|�}ntj||�S(sNReturn a string representing the one-way hash of a password, with a salt
    prepended.

    If ``salt`` is not specified or is ``None``, the strongest
    available method will be selected and a salt generated.  Otherwise,
    ``salt`` may be one of the ``crypt.METHOD_*`` values, or a string as
    returned by ``crypt.mksalt()``.

    Note that these are non-standard extensions to Python 2.7's crypt.crypt()
    entrypoint, backported from 3.3: the standard Python 2.7 crypt.crypt()
    entrypoint requires two strings as the parameters, and does not support
    keyword arguments.
    N(R
t
isinstanceRRt_crypttcrypt(twordtsalt((s/usr/lib64/python2.7/crypt.pyR'stCRYPTii
tMD5t1ii"tSHA256t5ii?tSHA512t6ijR	(RRtstringt_stringtrandomRt
_SystemRandomtcollectionsRt_namedtuplet
ascii_letterstdigitsRRRR
RRtMETHOD_CRYPTt
METHOD_MD5t
METHOD_SHA256t
METHOD_SHA512Rt_methodt_resulttlent
total_sizetappend(((s/usr/lib64/python2.7/crypt.pyt<module>s(