%PDF- %PDF-
| Direktori : /proc/self/root/proc/3522530/root/usr/lib/python2.7/site-packages/salt/utils/ |
| Current File : //proc/self/root/proc/3522530/root/usr/lib/python2.7/site-packages/salt/utils/pycrypto.pyo |
�
���^c @@ sl d Z d d l m Z m Z m Z d d l Z d d l Z d d l Z d d l Z yj y d d l m
Z WnI e k
r� y d d l
m Z Wq� e k
r� d d l m Z q� Xn Xe Z Wn e k
r� e Z n Xy d d l Z e Z Wn e k
re Z n Xd d l Z d d l m Z m Z d d l m Z e j e � Z d e d � Z d d d
d � Z d S( u7
Use pycrypto to generate random passwords on the fly.
i ( t absolute_importt print_functiont unicode_literalsN( t
rand_bytes( t get_random_bytes( t CommandExecutionErrort SaltInvocationError( t sixi c C@ s y� t | � } d } x� t | � | k r� t r� | r� xA t ry y t j j j t d � � } PWq9 t k
ru q9 q9 Xq9 W| t
j t j j j d � t � | � 7} q | t
j � j t j t j � 7} q W| SWn5 t k
r} t j d � t t j | � � � n Xd S( u%
Generate a secure password.
u i u [\W_]u# Failed to generate secure passswordN( t intt lent
HAS_RANDOMt Truet saltt utilst stringutilst to_strR t UnicodeDecodeErrort ret subt strt randomt SystemRandomt choicet stringt
ascii_letterst digitst Exceptiont logt exceptionR R t text_type( t lengtht
use_randomt pwt chart exc( ( s7 /usr/lib/python2.7/site-packages/salt/utils/pycrypto.pyt secure_password* s(
'
u sha512c C@ s� t s t d � � n t d d d d d d d d � } | | k rZ t d
j | � � � n | d k rr t � } n | d k r� t d � } n | | | } t j | | � S(
u#
Generate /etc/shadow hash
u No crypt module for windowst md5u $1$t blowfishu $2a$t sha256u $5$t sha512u $6$u Algorithm '{0}' is not supportedi N( t HAS_CRYPTR t dictt formatt NoneR# t crypt( t
crypt_saltt passwordt algorithmt hash_algorithms( ( s7 /usr/lib/python2.7/site-packages/salt/utils/pycrypto.pyt gen_hashF s (! t __doc__t
__future__R R R t loggingR R R t
M2Crypto.RandR R t ImportErrort Cryptodome.Randomt
Crypto.RandomR R
t FalseR, R( t salt.utils.stringutilsR t salt.exceptionsR R t salt.extR t getLoggert __name__R R# R+ R1 ( ( ( s7 /usr/lib/python2.7/site-packages/salt/utils/pycrypto.pyt <module> s6