Your IP : 3.143.239.63
3
� fH � @ s� d Z ddlZddlZddlmZ ddlmZ ej
ej d Ze� Z
G dd� de dd��Zdd d
�Zddd�Zed
ddd�Zedddd�Zedddd�Zedddd�Zg Zx:eeeefD ]*Zede�Zer�ee�ejkr�eje� q�W [[dS )zEWrapper to the POSIX crypt library call and associated functionality.� N)�SystemRandom)�
namedtuplez./c @ s e Zd ZdZdd� ZdS )�_MethodziClass representing a salt method per the Modular Crypt Format or the
legacy 2-character crypt method.c C s dj | j�S )Nz<crypt.METHOD_{}>)�format�name)�self� r �*/opt/alt/python36/lib64/python3.6/crypt.py�__repr__ s z_Method.__repr__N)�__name__�
__module__�__qualname__�__doc__r
r r r r r
s r z name ident salt_chars total_sizec C sH | dkrt d } | jr"dj| j�nd}|djdd� t| j�D ��7 }|S )zsGenerate a salt for the specified method.
If not specified, the strongest available method will be used.
Nr z${}$� c s s | ]}t jt�V qd S )N)�_srZchoice�
_saltchars)�.0�charr r r � <genexpr> s zmksalt.<locals>.<genexpr>)�methodsZidentr �join�rangeZ
salt_chars)�method�sr r r �mksalt s
r c C s&