Your IP : 3.143.244.45


Current Path : /lib64/python2.7/site-packages/dns/
Upload File :
Current File : //lib64/python2.7/site-packages/dns/entropy.pyo

�
!`Nc@s}ddlZddlZyddlZWnek
rGddlZnXdefd��YZe�Zd�Z	d�Z
dS(i����NtEntropyPoolcBsMeZdd�Zed�Zd�Zd�Zd�Zd�Z	d�Z
RS(cCs�d|_d|_d|_tj�|_y(ddl}|j�|_	d|_
Wn]y(ddl}|j�|_	d|_
Wq�ddl
}|j�|_	d|_
q�XnXd|j
|_|dk	r�|j|�t|_n	t|_dS(Nii����iit(t
pool_indextNonetdigestt	next_bytet
_threadingtLocktlockthashlibtsha1thashthash_lentshatnewtmd5tpooltstirtTruetseededtFalse(tselftseedR	R
R((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyt__init__s,			


cCs�|s|jj�nz�g|jD]}t|�^q#}x^|D]V}|j|jkrfd|_nt|�d@}||jc|N<|jd7_qBWdjg|D]}t|�^q��|_Wd|s�|jj�nXdS(Nii�it(	RtacquireRtordRRtjointchrtrelease(Rtentropytalready_lockedtctbytestb((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyR1s"
/cCs�|js�ytjd�}WnZy7tddd�}z|jd�}Wd|j�XWqyttj��}qyXnXt|_|j	|t�ndS(Nis/dev/urandomtri(
RtosturandomtfiletreadtclosetstrttimeRR(RRR#((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyt_maybe_seedAs		cCs�|jj�|j�z�|jdks;|j|jkr|jj|j	�|jj�|_|j
|jt�d|_nt|j|j�}|jd7_Wd|jj
�X|S(Nii(RRR+RRRRRtupdateRRRRR(Rtvalue((s1/usr/lib64/python2.7/site-packages/dns/entropy.pytrandom_8Qs

!cCs|j�d|j�S(Ni(R.(R((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyt	random_16`scCs|j�d|j�S(Ni(R/(R((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyt	random_32cscCs�||d}|dkr)td��n|dkrG|j}d}n-|dkre|j}d}n|j}d}|||�|dS(	Nilstoo bigil��ii��i�(t
ValueErrorR0R/R.(Rtfirsttlasttsizetrandtmax((s1/usr/lib64/python2.7/site-packages/dns/entropy.pytrandom_betweenfs					N(t__name__t
__module__RRRRR+R.R/R0R7(((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyRs				cCs
tj�S(N(RR/(((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyR/wscCstj||�S(N(RR7(R2R3((s1/usr/lib64/python2.7/site-packages/dns/entropy.pytbetweenzs(R$R*t	threadingRtImportErrortdummy_threadingtobjectRRR/R:(((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyt<module>s
^