403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib/python3.9/site-packages/passlib/tests/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/passlib/tests/__pycache__/test_handlers_django.cpython-39.pyc
a

f�Wc�<�@s�dZddlmZddlZe�e�ZddlZddlZddl	m
Z
ddlmZddl
mZddlmZmZmZmZddlmZmZdd	lmZmZmZed
�Zdd�ZGd
d�de�ZGdd�de�ZGdd�dee�ZGdd�dee�Z Gdd�dee�Z!Gdd�dee�Z"Gdd�dee�Z#ee
j$�%�d�Gdd�dee��Z&ee
j$�%�d�Gdd�dee��Z'dd l(m)Z)ee
j*�%�d!�Gd"d#�d#ee��Z+dS)$zFpasslib.tests.test_handlers_django - tests for passlib hash algorithms�)�with_statementN)�hash)�
repeat_string)�u)�TestCase�HandlerCase�
skipUnless�SkipTest)�	UPASS_USD�UPASS_TABLE)�DJANGO_VERSION�MIN_DJANGO_VERSION�check_django_hasher_has_backendulètmeincCsd�dd�|D��S)N�.css|]}t|�VqdS�N)�str)�.0�e�r�F/usr/lib/python3.9/site-packages/passlib/tests/test_handlers_django.py�	<genexpr>�zvstr.<locals>.<genexpr>)�join)�versionrrr�vstrsrc@sFeZdZdZdZeZdZdd�Ze	j
dZdd�Zd	d
�Z
dd�ZdS)
�
_DjangoHelperzi
    mixin for HandlerCase subclasses that are testing a hasher
    which is also present in django.
    TNcCsdt|jkr|�dt|j���|jrBt|jkrB|�dt|j���|jj}t|�s`|�d|��dS)NzDjango >= %s not installedzDjango <= %s not installedzdjango hasher %r not availableT)r�min_django_version�skipTestr�max_django_version�handler�django_namer)�self�namerrr�_require_django_support0s
z%_DjangoHelper._require_django_support)�fuzz_verifier_djangocs@z���Wnty YdS0ddlm���fdd�}|S)Nr��check_passwordcs@�jjdkr"|�d�r"|�dd�}t|t�r6|�d�}�||�S)zdjango/check_password�
django_bcryptzbcrypt$$2y$z$$2y$z$$2a$�utf-8)rr"�
startswith�replace�
isinstance�bytes�decode)�secretr�r&r!rr�
verify_djangoIs


z9_DjangoHelper.fuzz_verifier_django.<locals>.verify_django)r#r	�django.contrib.auth.hashersr&)r!r0rr/rr$Bsz"_DjangoHelper.fuzz_verifier_djangocCsl|��ddlm}|jsJ�|��D]@\}}|�|||�d||f�|�|d||�d||f�q&dS)z:run known correct hashes through Django's check_password()rr%z"secret=%r hash=%r failed to verify�xz,mangled secret=%r hash=%r incorrect verifiedN)r#r1r&�known_correct_hashesZiter_known_hashes�
assertTrue�assertFalse)r!r&r.rrrr�test_90_django_referenceRs
����z&_DjangoHelper.test_90_django_referencec	Cs�|��ddlm}ddlm}|jj}|�|jd}|�||�	��}|�|kr�|�
�\}}|sdqHt|t�rx|�
d�}|||d�}|�|�|��|�|�||��|�|�||��qHdS)z/test against output of Django's make_password()r)�tick)�
make_password�r()ZhasherN)r#�
passlib.utilsr7r1r8rr Z
max_fuzz_time�FuzzHashGeneratorZ	getRandomZrandom_password_pairr+r,r-r4Zdo_identifyZ	do_verifyr5)	r!r7r8r"�end�	generatorr.�otherrrrr�test_91_django_generationas 


z'_DjangoHelper.test_91_django_generation)�__name__�
__module__�__qualname__�__doc__Z_DjangoHelper__unittest_skipr
rrr#rZfuzz_verifiersZextra_fuzz_verifiersr$r6r?rrrrrs
rc@s.eZdZdZejZdZddedfgZ	dgZ
dS)�django_disabled_testztest django_disabledT)�password�!)�rFrF)z!9wa845vn7098ythaehasldkfjrErFN)r@rArBrCrZdjango_disabledrZdisabled_contains_saltrr3�known_alternate_hashesrrrrrDvs�	�rDc@sPeZdZdZejZdZdddedfe	dfe
d�d	fd
gZdgZdgZ
gd
�ZdS)�django_des_crypt_testztest django_des_crypt���	)rE�crypt$c2$c2M87q...WWcU)rEzcrypt$c2e86$c2M87q...WWcU)Zpasswordignoremezcrypt$c2.AZ$c2M87q...WWcUzcrypt$c2e86$c2hN1Bxd6ZiWszcrypt$0.aQs$0.wB.TT0CzvlouhellÖzcrypt$sa$saykDgk3BPZ9E)Zfooz!crypt$MNVY.9ajgdvDQ$MNVY.9ajgdvDQ)zcrypt$$c2M87q...WWcUrErM�
sha1$aa$bb)zcrypt$c2$c2M87qzcrypt$f$c2M87q...WWcUzcrypt$ffe86$c2M87q...WWcUN)r@rArBrCrZdjango_des_cryptrrr
rrr3rH�known_unidentified_hashes�known_malformed_hashesrrrrrI�s 
���rIc@sLeZdZdZejZdZddedfe	dfgZ
dgZdgZGd	d
�d
e
j�ZdS)�django_salted_md5_testztest django_salted_md5rJ)rEz.md5$123abcdef$c8272612932975ee80e8a35995708e80)�testz1md5$3OpqnFAHW5CT$54b29300675271049a1ebae07b395e20z*md5$c2e86$92105508419a81a6babfaecf876a2fa0z*md5$d9eb8$01495b32852bffb27cf5d4394fe7a54crN�	md5$aa$bbc@seZdZdd�ZdS)z(django_salted_md5_test.FuzzHashGeneratorcCs@|j}|j}|jdksJ�d}|jp*|d}|�||||d�S)NrrK�g�?)rZdefault_salt_sizeZ
min_salt_sizeZ
max_salt_size�randintgauss)r!r�default�lower�upperrrr�random_salt_size�sz9django_salted_md5_test.FuzzHashGenerator.random_salt_sizeN)r@rArBrYrrrrr;�sr;N)r@rArBrCrZdjango_salted_md5rrr
rr3rOrPrr;rrrrrQ�s�
��rQc@sBeZdZdZejZdZddedfe	dfdgZ
dgZd	gZe
jZd
S)�django_salted_sha1_testztest django_salted_sha1rJ)rEz7sha1$123abcdef$e4a1877b0e35c47329e7ed7e58014276168a37ba)rRz:sha1$bcwHF9Hy8lxS$6b4cfa0651b43161c6f1471ce9523acf1f751ba3z3sha1$c2e86$0f75c5d7fbd100d587c127ef0b693cde611b4adaz3sha1$6d853$ef13a4d8fb57aed0cb573fe9c82e28dc7fd372d4)Z
MyPasswordz3sha1$54123$893cf12e134c3c215f3a76bd50d13f92404a54d3rSzsha1$c2e86$0f75N)r@rArBrCrZdjango_salted_sha1rrr
rr3rOrPrQr;rrrrrZ�s���rZc@s"eZdZdZejZdedfgZdS)�django_pbkdf2_sha256_testztest django_pbkdf2_sha256)�not a passwordzMpbkdf2_sha256$10000$kjVJaVz6qsnJ$5yPHw3rwJGECpUf70daLGhOrQ5+AMxIJdz1c3bqK1Rs=zMpbkdf2_sha256$10000$bEwAfNrH1TlQ$OgYUblFNUX1B8GfMqaCYUK/iHyO0pa7STTDdaEJBuY0=N)	r@rArBrCrZdjango_pbkdf2_sha256rrr3rrrrr[�s��r[c@s"eZdZdZejZdedfgZdS)�django_pbkdf2_sha1_testztest django_pbkdf2_sha1)r\z;pbkdf2_sha1$10000$wz5B6WkasRoF$atJmJ1o+XfJxKq1+Nu1f1i57Z5I=z;pbkdf2_sha1$10000$KZKWwvqb8BfL$rw5pWsxJEU4JrZAQhHTCO+u0f5Y=N)	r@rArBrCrZdjango_pbkdf2_sha1rrr3rrrrr]s��r]zno bcrypt backends availablecsNeZdZdZejZdZdZdde	dfgZ
�fdd�ZGd	d
�d
ej
�Z
�ZS)�django_bcrypt_test�test django_bcrypt)r9rT)rGzCbcrypt$$2a$06$DCq7YPn5Rq63x1Lad4cll.TV4S6ytwfsfvkgY8jIucDrjc8deX1s.)ZabcdefghijklmnopqrstuvwxyzzCbcrypt$$2a$10$fVH8e28OQRj9tqiDXs1e1uxpsjN0c7II7YPKXua2NAKYvM6iQk7dqzCbcrypt$$2a$05$Z17AXnnlpzddNUvnC6cZNOSwMA/8oNiKnHTHTwLlBijfucQQlHjaGcs |�dd�tt|��|�dS�N�roundsrT)�
setdefault�superr^�populate_settings�r!�kwds��	__class__rrrd*sz$django_bcrypt_test.populate_settingsc@seZdZdd�Zdd�ZdS)z$django_bcrypt_test.FuzzHashGeneratorcCs|�dddd�S�N���rK�rU�r!rrr�
random_rounds1sz2django_bcrypt_test.FuzzHashGenerator.random_roundscCsdSrrrnrrr�random_ident5sz1django_bcrypt_test.FuzzHashGenerator.random_identN�r@rArBrorprrrrr;/sr;)r@rArBrCrr'rr�fuzz_salts_need_bcrypt_repairrr3rdrr;�
__classcell__rrrgrr^s��r^cs�eZdZdZejZdZdZde	dfe
dfedd�d	fedd�d
dfedd�dd
fgZdgZ
�fdd�ZGdd�dej�Z�ZS)�django_bcrypt_sha256_testztest django_bcrypt_sha256NT)rGzJbcrypt_sha256$$2a$06$/3OeRpbOf8/l6nPPRdZPp.nRiyYqPobEZGdNRBWihQhiFDh1ws1tuzJbcrypt_sha256$$2a$08$NDjSAIcas.EcoxCRiArvT.MkNiPYVhrsrnJsRkLueZOoV1bsQqlmCzJbcrypt_sha256$$2a$06$kCXUnRFQptGg491siDKNTu8RxjBGSjALHRuvhPYNFsa4Ea5d9M48uZabc123�HzJbcrypt_sha256$$2a$06$Tg/oYyZTyAf.Nb3qSgN61OySmyXA8FoY4PjGizjE1QSDfuL5MXNniZqwrzJbcrypt_sha256$$2a$06$Tg/oYyZTyAf.Nb3qSgN61Ocy0BEz1RK6xslSNi8PlaLX2pe7x/KQGZxyzzJbcrypt_sha256$$2a$06$Tg/oYyZTyAf.Nb3qSgN61OvY2zoRVUa2Pugv2ExVOUT2YmhvxUFUazMbcrypt_sha256$xyz$2a$06$/3OeRpbOf8/l6nPPRdZPp.nRiyYqPobEZGdNRBWihQhiFDh1ws1tucs |�dd�tt|��|�dSr`)rbrcrtrdrergrrrd\sz+django_bcrypt_sha256_test.populate_settingsc@seZdZdd�Zdd�ZdS)z+django_bcrypt_sha256_test.FuzzHashGeneratorcCs|�dddd�Srirmrnrrrrocsz9django_bcrypt_sha256_test.FuzzHashGenerator.random_roundscCsdSrrrnrrrrpgsz8django_bcrypt_sha256_test.FuzzHashGenerator.random_identNrqrrrrr;asr;)r@rArBrCrZdjango_bcrypt_sha256rZforbidden_charactersrr�
UPASS_LETMEINrrr3Zknown_malformed_hashersrdrr;rsrrrgrrt:s2�������rt)�_base_argon2_testzno argon2 backends availablecsXeZdZdZejZddedfgZ�fdd�Z	ddd	�Z
d
d�ZGdd
�d
ej
�Z
�ZS)�django_argon2_testr_)rEzDargon2$argon2i$v=19$m=256,t=1,p=1$c29tZXNhbHQ$AJFIsNZTMKTAewB4+ETN1A)rEzDargon2$argon2i$v=19$m=380,t=2,p=2$c29tZXNhbHQ$SrssP8n7m/12VWPM8dvNrwzIargon2$argon2i$v=19$m=512,t=2,p=2$V25jN1l4UUJZWkR1$MxpA1BD2Gh7+D79gaAw6sQcstt|���t�dd�dS)N�ignorez.*Using argon2pure backend.*)rcrx�
setUpWarnings�warnings�filterwarningsrnrgrrrz�sz django_argon2_test.setUpWarningsNcKsB|p|jjfi|��}|jdd�}|j|_|js4J�|�|���S)NT)Zuse_defaults)rZusing�wrappedZ_stub_checksumZchecksumZ
_wrap_hashZ	to_string)r!rZsettingsrrr�do_stub_encrypt�s

z"django_argon2_test.do_stub_encryptcCs|�d��dS)Nz!legacy 1.6 workflow not supported)rrnrrr�test_03_legacy_hash_workflow�sz/django_argon2_test.test_03_legacy_hash_workflowc@seZdZdd�Zdd�ZdS)z$django_argon2_test.FuzzHashGeneratorcCsdS)N�Irrnrrr�random_type�sz0django_argon2_test.FuzzHashGenerator.random_typecCs|�dddd�S)NrK�r9rmrnrrrro�sz2django_argon2_test.FuzzHashGenerator.random_roundsN)r@rArBr�rorrrrr;�sr;)N)r@rArBrCrZ
django_argon2rrvr3rzr~rrwr;rsrrrgrrxns�
	rx),rCZ
__future__rZloggingZ	getLoggerr@�log�rer{Zpasslibrr:rZpasslib.utils.compatrZpasslib.tests.utilsrrrr	Zpasslib.tests.test_handlersr
rZpasslib.tests.test_ext_djangorr
rrvrrrDrIrQrZr[r]ZbcryptZhas_backendr^rtZ"passlib.tests.test_handlers_argon2rwZargon2rxrrrr�<module>s4	W)( %1

Youez - 2016 - github.com/yon3zu
LinuXploit