%PDF- %PDF-
Direktori : /usr/lib/python2.7/site-packages/salt/utils/ |
Current File : //usr/lib/python2.7/site-packages/salt/utils/pycrypto.pyc |
� ���^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