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.cpython-39.opt-1.pyc
a

f�Wc�@s dZddlmZddlZe�e�ZddlZddlZddl	Z	ddl
mZmZddl
mZddlmZmZmZmZddlmZmZmZmZmZmZed�Zed	�Zed
�ZdZgd�Zgd
�Z dd�Z!gd�Z"Gdd�de�Z#Gdd�de�Z$Gdd�de�Z%e%�&d�Z'e%�&d�Z(Gdd�de�Z)Gdd�de�Z*e*�&d�Z+e*�&d�Z,Gdd�de�Z-Gdd �d e�Z.Gd!d"�d"e�Z/Gd#d$�d$e�Z0Gd%d&�d&e�Z1Gd'd(�d(e�Z2Gd)d*�d*ee�Z3Gd+d,�d,e�Z4Gd-d.�d.e�Z5Gd/d0�d0e�Z6Gd1d2�d2e�Z7Gd3d4�d4e�Z8Gd5d6�d6e�Z9Gd7d8�d8e�Z:Gd9d:�d:e�Z;e;�&d�Z<e;�&d�Z=Gd;d<�d<e�Z>e>�&d�Z?Gd=d>�d>ee�Z@Gd?d@�d@e�ZAeA�&d�ZBeA�&d�ZCGdAdB�dBee�ZDGdCdD�dDee�ZEGdEdF�dFe�ZFGdGdH�dHe�ZGGdIdJ�dJe�ZHGdKdL�dLe�ZIGdMdN�dNe�ZJGdOdP�dPe�ZKGdQdR�dRee�ZLGdSdT�dTe�ZMGdUdV�dVe�ZNGdWdX�dXe�ZOGdYdZ�dZee�ZPGd[d\�d\e�ZQeQ�&d�ZReQ�&d�ZSGd]d^�d^e�ZTGd_d`�d`e�ZUeU�&d�ZVeU�&d�ZWGdadb�dbe�ZXeX�&d�ZYeX�&d�ZZGdcdd�dde�Z[Gdedf�dfe�Z\Gdgdh�dhe�Z]dS)iz?passlib.tests.test_handlers - tests for passlib hash algorithms�)�with_statementN)�exc�hash)�
repeat_string)�irange�PY3�u�get_method_function)�TestCase�HandlerCase�
skipUnless�	TEST_MODE�UserHandlerMixin�EncodingHandlerMixinuΙωαννηςu€¥$u
táБℓəs
táБℓə)Z
django_bcryptZdjango_bcrypt_sha256Z
django_argon2)Z
test_handlersZtest_handlers_argon2Ztest_handlers_bcryptZtest_handlers_ciscoZtest_handlers_djangoZtest_handlers_pbkdf2Ztest_handlers_scryptc	Cs�ddlm}||�}t|d�rX|tvrXz|��}WntjyH�Yn0d||f}nd|}tD]B}d|}t|�t	j
|}zt||�WSty�Yqd0qdt
d||f��dS)	al
    return HandlerCase instance for scheme, used by other tests.

    :param scheme: name of hasher to locate test for (e.g. "bcrypt")

    :raises KeyError:
        if scheme isn't known hasher.

    :raises MissingBackendError:
        if hasher doesn't have any available backends.

    :returns:
        HandlerCase subclass (which derives from TestCase)
    r)�get_crypt_handlerZbackendsz
%s_%s_testz%s_testzpasslib.tests.z$can't find test case named %r for %rN)Zpasslib.registryr�hasattr�_omitted_backend_testsZget_backendrZMissingBackendError�_handler_test_modules�
__import__�sys�modules�getattr�AttributeError�RuntimeError)�schemer�handlerZbackend�name�module�modname�mod�r �?/usr/lib/python3.9/site-packages/passlib/tests/test_handlers.py�get_handler_case-s$
r")Zargon2ZbcryptZ
bcrypt_sha256c@s$eZdZejZdedfgZdgZdS)�apr_md5_crypt_test)Z
myPasswordz%$apr1$r31.....$HqJZimcKQFAMYayBlzkrA/z%$apr1$bzYrOHUx$a1FcpXuQDJV3vPY20CS6N1z%$apr1$r31.....$HqJZimcKQFAMYayBlzkrA!N)	�__name__�
__module__�__qualname__rZ
apr_md5_cryptr�UPASS_TABLE�known_correct_hashes�known_malformed_hashesr r r r!r#\s��r#c@s>eZdZejZddedfgZdgZdd�e	j
D�Z
dd�Zd	S)
�
bigcrypt_test)�
passphraseZqiyh4XPJGsOZ2MEAyLkfWqeQ)zThis is very long passwdz#f8.SVpL2fvwjkAnxn8/rgTkwvrif6bjYB5cZSEChBAyMbMNhgGLyP7kD1HZUz;qiyh4XPJGsOZ2MEAyLkfWqef8.SVpL2fvwjkAnxn8/rgTkwvrif6bjYB5cdcCsg|]}|ddkr|�qS)r�	des_cryptr )�.0�rowr r r!�
<listcomp>�s�zbigcrypt_test.<listcomp>cCs|jttjdtd�d�dS)NTZ
yh4XPJGsOZ)Zuse_defaultsZchecksum)�assertRaises�
ValueErrorr�bigcryptr��selfr r r!�test_90_internal�s�zbigcrypt_test.test_90_internalN)r$r%r&rr2rr'r(�known_unidentified_hashesr�known_other_hashesr5r r r r!r*us��	r*csheZdZdZejZdddddddd	d
ddd
dddddedfgZdgZ	gd�Z
�fdd�Zdd�Z�Z
S)�_bsdi_crypt_testztest BSDiCrypt algorithm)�U*U*U*U*z_J9..CCCCXBrJUJV154M)�U*U***Uz_J9..CCCCXUhOBTXzaiE)�U*U***U*z_J9..CCCC4gQ.mB/PffM)�*U*U*U*Uz_J9..XXXXvlzQGqpPPdk)z	*U*U*U*U*z_J9..XXXXsqM/YSSP..Y)z*U*U*U*U*U*U*U*Uz_J9..XXXXVL7qJCnku0I)z*U*U*U*U*U*U*U*U*z_J9..XXXXAj8cFbP5scI)Z	ab1234567z_J9..SDizh.vll5VED9g)Z	cr1234567z_J9..SDizRjWQ/zePPHc)ZzxyDPWgydbQjgqz_J9..SDizxmRI1GjnQuE)z726 evenz_K9..SaltNrQgIYUAeoY)�z_J9..SDSD5YGyRCr4W4c)� z_K1..crsmZxOLzfJH8iw)Zmyz_KR/.crsmykRplHbAvwA)zmy socraz_K1..crsmf/9NzZr1fLM)zmy socratesz_K1..crsmOv1rbde9A9o)zmy socrates notez_K1..crsm/2qeAhdISMAz_7C/.ABw0WIKy0ILVqo2z_K1.!crsmZxOLzfJH8iw)�z
openbsd[6789]F�Zopenbsd5N�ZopenbsdT)zfreebsd|netbsd|darwinT)�solarisF�ZlinuxNcs&t�dd�tt|�jfi|��dS)N�ignorez!bsdi_crypt rounds should be odd.*)�warnings�filterwarnings�superr8�test_77_fuzz_input�r4�kwds��	__class__r r!rH�sz#_bsdi_crypt_test.test_77_fuzz_inputcCst|j}d}d}d}|�|�||��|�|�||��|�|�|��|�|�|��|�d�}|�|�|��dS)z&needs_update() should flag even roundsz_Y/../cG0zkJa6LY6k4cz_Z/..TgFg0/ptQtpAgws�test�stubN)r�
assertTrue�verifyZneeds_update�assertFalser)r4rZ	even_hashZodd_hash�secretZnew_hashr r r!�test_needs_update_w_even_rounds�s
z0_bsdi_crypt_test.test_needs_update_w_even_rounds)r$r%r&�__doc__rZ
bsdi_cryptrr'r(r6�platform_crypt_supportrHrS�
__classcell__r r rKr!r8�s4� �r8Zos_cryptZbuiltinc	@s*eZdZejZdddddddedfgZd	S)
�crypt16_test)r+zqi8H8R7OM4xMUNMPuRAZxlY.)�printfZaaCjFz4Sh8Eg2QSqAReePlq6)rXzAA/xje2RyeiSU0iBY3PDwjYo)ZLOLOAQICI82QB4IPz/.FcK3mad6JwYt8LVmDqz9Lc)Z	LOLOAQICIz/.FcK3mad6JwYSaRHJoTPzY2)ZLOLOAQICz/.FcK3mad6JwYelhbtlysKy6)�Lz/.CIu/PzYCkl6elhbtlysKy6ZYeDc9tKkkmDvwP7buzpwhoqQN)r$r%r&rZcrypt16rr'r(r r r r!rW�s�rWc
@sJeZdZdZejZdddddddd	d
dded
�dfgZgd�Z	gd�Z
dS)�_des_crypt_testztest des-crypt algorithm)r9Z
CCNf8Sbh3HDfQ)r:z
CCX.K.MFy4Ois)r;z
CC4rMpbg9AMZ.)r<Z
XXxzOu6maQKqQ)r=Z
SDbsugeBiC58A)r=Z
OgAwTx2l6NADI)r>z
/Hk.VPuwQTXbc)rMZ
N1tQbOFcM5fpg)�Compl3X AlphaNu3mericz
um.Wguz3eVCx2)�%4lpHa N|_|M3r1K W/ Cur5Es: #$%(*)(*%#Z
sNYqfOyauIyic)ZAlOtBsOlZ
cEpWz5IUCShqMuhellÖZ
saykDgk3BPZ9E)z
!gAwTx2l6NADIZOgAwTx2l6NADZOgAwTx2l6NADIj)r?r@rA)z#freebsd|netbsd|linux|solaris|darwinTN)r$r%r&rTrr,rrr(r6rUr r r r!rZs"
�
rZc@s@eZdZdZejZddddedfgZddgZ	gd	�Z
d
d�ZdS)
�	fshp_testztest fshp algorithm)rMz'{FSHP0|0|1}qUqP5cyxm6YcTAhz05Hph5gvu9M=)rMzF{FSHP1|8|4096}MTIzNDU2NzjTdHcmoXwNc0ff9+ArUHoN0CvlbPZpxFi1C6RDM/MHSA==)ZOrpheanBeholderScryDoubtzF{FSHP1|8|4096}GVSUFDAjdh0vBosn1GUhzGLHP7BmkbCZVH/3TQqGIjADXpc+6NCg3g==)ZExecuteOrder66z{{FSHP3|16|8192}0aY7rZQ+/PR+Rd5/I9ssRM7cjguyT8ibypNaSp/U1uziNO3BVlg5qPUng+zHUDQC3ao/JbzOnIBUtAeWHEy7a2vZeZ7jAwyJJa2EqOsq4Io=zP{FSHP1|16|16384}9v6/l3Lu/d9by5nznpOScqQo8eKu/b/CKli3RCkgYg4nRTgZu5y659YV8cCZ68ULz'{FSHX0|0|1}qUqP5cyxm6YcTAhz05Hph5gvu9M=z&FSHP0|0|1}qUqP5cyxm6YcTAhz05Hph5gvu9M=)z&{FSHP0|0|1}qUqP5cyxm6YcTAhz05Hph5gvu9Mz'{FSHP0|1|1}qUqP5cyxm6YcTAhz05Hph5gvu9M=z'{FSHP0|0|A}qUqP5cyxm6YcTAhz05Hph5gvu9M=cCs�|j}tddd�}|fddi|��|fdtd�i|��|fddi|��|fdtd�i|��|fddi|��|jt|fdd	i|��|jt|fdtdd�i|��|jt|fdd
i|��|jt|fddi|��d	S)ztest variant keyword�a�)Zsalt�roundsZvariant�1�1Zsha256ssha256N�9�	)r�dictrr0�	TypeError�complexr1)r4rrJr r r!�test_90_variantuszfshp_test.test_90_variantN)r$r%r&rTrZfshprr'r(r6r)rhr r r r!r]@s�"�r]c@seZdZejZdedfgZdS)�hex_md4_test)�passwordZ 8a9d093f14f8701df17732b2bb182c74Z 876078368c47817ce5f9115f3a42cf74N)r$r%r&rZhex_md4rr'r(r r r r!ri�s�ric@s&eZdZejZdedfgZdd�ZdS)�hex_md5_test)rj� 5f4dcc3b5aa765d61d8327deb882cf99Z 05473f8a19f66815e737b33264a0d0b0c
Cs�ddlm}ddlm}m}|ddd�j}|�|jj|�|rP|�|�|d�ddl	m
}|ddd�}|�|j�d}d	}|�|�
|��|�|�
|��d
}	|�||	|jd�|�||	|jd|�dS)
zn
        if md5 isn't available, a dummy instance should be created.
        (helps on FIPS systems).
        r)�UnknownHashError)�lookup_hash�_set_mock_fips_modeZmd5F)�required)�create_hex_hashrlZxxxz'md5' hash disabled for fipsrjN)Zpasslib.excrmZpasslib.crypto.digestrnro�	supported�assertEqualrZ
addCleanupZpasslib.handlers.digestsrqrQrOZidentifyZassertRaisesRegexrrP)
r4rmrnrorrrqZhasherZref1Zref2�patr r r!�test_mock_fips_mode�s"z hex_md5_test.test_mock_fips_modeN)	r$r%r&rZhex_md5rr'r(rur r r r!rk�s
�rkc@seZdZejZdedfgZdS)�
hex_sha1_test)rjZ(5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8Z(e059b2628e3a3e2de095679de9822c1d1466e0f0N)r$r%r&rZhex_sha1rr'r(r r r r!rv�s�rvc@seZdZejZdedfgZdS)�hex_sha256_test)rjZ@5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8Z@6ed729e19bf24d3d20f564375820819932029df05547116cfc2cc868a27b4493N)r$r%r&rZ
hex_sha256rr'r(r r r r!rw�s�rwc@seZdZejZdedfgZdS)�hex_sha512_test)rjZ�b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86Z�d91bb0a23d66dca07a1781fd63ae6a05f6919ee5fc368049f350c9f293b078a18165d66097cf0d89fdfbeed1ad6e7dba2344e57348cd6d51308c843a06f29cafN)r$r%r&rZ
hex_sha512rr'r(r r r r!rx�s�rxc@s<eZdZejZdeeefdfgZ	ddgZ
dd�Zdd�Zd	S)
�
htdigest_test))zCircle Of LifeZMufasaztestrealm@host.comZ 939e7578ed9e3c518a452acee763bce9Z 4dabed2727d583178777fab468dd1f17Z 939e7578edAe3c518a452acee763bce9Z 939e7578edxe3c518a452acee763bce9cCs|�d��dS)Nz)test case doesn't support 'realm' keyword�ZskipTestr3r r r!�test_80_user�szhtdigest_test.test_80_usercCs:t|t�r|\}}}nd\}}|�d|�|�d|�|S)zinsert username into kwds)�user�realmr|r})�
isinstance�tuple�
setdefault)r4rRrJr|r}r r r!�populate_context�s
zhtdigest_test.populate_contextN)
r$r%r&rZhtdigestrr'�	UPASS_USD�	UPASS_WAVr(r6r{r�r r r r!ry�s���ryc@seZdZejZdedfgZdS)�
ldap_md5_test)�
helloworld�{MD5}/F4DjTilcDIIVEHn/nAQsA==z{MD5}BUc/ihn2aBXnN7MyZKDQsA==N)r$r%r&r�ldap_md5rr'r(r r r r!r�s�r�c@seZdZejZdedfgZdS)�ldap_sha1_test)r�z!{SHA}at+xg6SiyUovktq1redipHiJpaE=z!{SHA}4FmyYo46Pi3glWed6YIsHRRm4PA=N)r$r%r&rZ	ldap_sha1rr'r(r r r r!r�s�r�c@s,eZdZejZdedfdddgZgd�ZdS)�ldap_salted_md5_test)Ztesting1234z"{SMD5}UjFY34os/pnZQ3oQOzjqGu4yeXE=z"{SMD5}Z0ioJ58LlzUeRxm3K6JPGAvBGIM=)rMz&{SMD5}LnuZPJhiaY95/4lmVFpg548xBsD4P4cw)rMz2{SMD5}XRlncfRzvGi0FDzgR98tUgBg7B3jXOs9p9S615qTkg==)rMz2{SMD5}FbAkzOMOxRbMp6Nn4hnZuel9j9Gas7a2lvI+x5hT6j0=)z"{SMD5}IGVhwK+anvspmfDt2t0vgGjt/Q==z%{SMD5}LnuZPJhiaY95/4lmVFpg548xBsD4P4czM{SMD5}LnuZPJhiaY95/4lmVFpg548xBsD4P4cw{SMD5}LnuZPJhiaY95/4lmVFpg548xBsD4P4cw=z&{SMD5}LnuZPJhiaY95/4lmV=pg548xBsD4P4cwz&{SMD5}LnuZPJhiaY95/4lmVFpg548xBsD4P===N)	r$r%r&rZldap_salted_md5rr'r(r)r r r r!r�s�
r�c@s.eZdZejZddedfdddgZgd�ZdS)	�ldap_salted_sha1_test)Z
testing123z&{SSHA}0c0blFTXXNuAMHECS4uxrj3ZieMoWImr)rRz&{SSHA}0H+zTv8o4MR4H43n03eCsvw1luG8LdB7z&{SSHA}3yCSD1nLZXznra4N8XzZgAL+s1sQYsx5)rMz.{SSHA}P90+qijSp8MJ1tN25j5o1PflUvlqjXHOGeOckw==)rMz6{SSHA}/ZMF5KymNM+uEOjW+9STKlfCFj51bg3BmBNCiPHeW2ttbU0=)rMz6{SSHA}Pfx6Vf48AT9x3FVv8znbo8WQkEVSipHSWovxXmvNWUvp/d/7)z&{SSHA}ZQK3Yvtvl6wtIRoISgMGPkcWU7Nfq5U=z+{SSHA}P90+qijSp8MJ1tN25j5o1PflUvlqjXHOGeOckz-{SSHA}P90+qijSp8MJ1tN25j5o1PflUvlqjXHOGeOckw=z.{SSHA}P90+qijSp8MJ1tN25j5o1Pf=UvlqjXHOGeOckw==z.{SSHA}P90+qijSp8MJ1tN25j5o1PflUvlqjXHOGeOck===N)	r$r%r&rZldap_salted_sha1rr'r(r)r r r r!r�+s�r�c@s4eZdZejZddded�dfdddgZgd	�Zd
S)�ldap_salted_sha256_test)rjzA{SSHA256}x1tymSTVjozxQ2PtT46ysrzhZxbcskK0o2f8hEFx7fAQQmhtDSEkJA==)rMzA{SSHA256}xfqc9aOR6z15YaEk3/Ufd7UL9+JozB/1EPmCDTizL0GkdA7BuNda6w==)�toomanysecretszA{SSHA256}RrTKrg6HFXcjJ+eDAq4UtbODxOr9RLeG+I69FoJvutcbY0zpfU+p1Q==�	letmèïnzA{SSHA256}km7UjUTBZN8a+gf1ND2/qn15N7LsO/jmGYJXvyTfJKAbI0RoLWWslQ==)rMz9{SSHA256}TFv2RpwyO0U9mA0Hk8FsXRa1I+4dNUtv27Qa8dzGVLinlDIm)rMzI{SSHA256}J6MFQdkfjdmXz9UyUPb773kekJdm4dgSL4y8WQEQW11VipHSundOKaV0LsV4L6U=)rMzI{SSHA256}uBLazLaiBaPb6Cpnvq2XTYDkvXbYIuqRW1anMKk85d1/j1GqFQIgpHSOMUYIIcS4)z9{SSHA256}Lpdyr1+lR+rtxgp3SpQnUuNw33ENivTl28nzF2ZI4Gm41/o=z9{SSHA256}TFv2RpwyO0U9mA0Hk8FsXRa1I+4dNUtv27Qa8dzGVLinlDI@z8{SSHA256}TFv2RpwyO0U9mA0Hk8FsXRa1I+4dNUtv27Qa8dzGVLinlDIz<{SSHA256}TFv2RpwyO0U9mA0Hk8FsXRa1I+4dNUtv27Qa8dzGVLinlDIm===N)	r$r%r&rZldap_salted_sha256rrr(r)r r r r!r�Ds
�r�c@s4eZdZejZded�dfdddddgZgd	�Zd
S)�ldap_salted_sha512_test)r�zi{SSHA512}wExp4xjiCHS0zidJDC4UJq9EEeIebAQPJ1PWSwfhxWjfutI9XiiKuHm2AE41cEFfK+8HyI8bh+ztbczUGsvVFIgICWWPt7qur�zi{SSHA512}mpNUSmZc3TNx+RnPwkIAVMf7ocEKLPrIoQNsg4Eu8dHvyCeb2xzHp5A6n4tF7ntknSvfvRZaJII4ImvNJlYsgiwAm0FMqR+3)rjze{SSHA512}f/lFQskkl7PdMsTGJxHZq8LDt/l+UqRMm6/pj4pV7/xZkcOaKCgvQqp+KCeXc/Vd4RY6vEHWn4y0DnFcQ6wgyv9fyxk=)rMzi{SSHA512}Tgx/uhHnlM9/GgQvI31dN7cheDXg7WypZwaaIkyRsgV/BKIzBG3G/wUd9o1dpi06p3SYzMedg0lvTc3b6CtdO0Xo/f9/L+Uc)rMze{SSHA512}Yg9DQ2wURCFGwobu7R2O6cq7nVbnGMPrFCX0aPQ9kj/y1hd6k9PEzkgWCB5aXdPwPzNrVb0PkiHiBnG1CxFiT+B8L8U=)rMzu{SSHA512}5ecDGWs5RY4xLszUO6hAcl90W3wAozGQoI4Gqj8xSZdcfU1lVEM4aY8s+4xVeLitcn7BO8i7xkzMFWLoxas7SeHc23sP4dx77937PyeE0A==)rMzu{SSHA512}6FQv5W47HGg2MFBFZofoiIbO8KRW75Pm51NKoInpthYQQ5ujazHGhVGzrj3JXgA7j0k+UNmkHdbJjdY5xcUHPzynFEII4fwfIySEcG5NKSU=)ze{SSHA512}zFnn4/8x8GveUaMqgrYWyIWqFQ0Irt6gADPtRk4Uv3nUC6uR5cD8+YdQni/0ZNij9etm6p17kSFuww3M6l+d6AbAeA==zh{SSHA512}Tgx/uhHnlM9/GgQvI31dN7cheDXg7WypZwaaIkyRsgV/BKIzBG3G/wUd9o1dpi06p3SYzMedg0lvTc3b6CtdO0Xo/f9/L+Uzi{SSHA512}Tgx/uhHnlM9/GgQvI31dN7cheDXg7WypZwaaIkyRsgV/BKIzBG3G/wUd9o1dpi06p3SYzMedg0lvTc3b6CtdO0Xo/f9/L+U@zk{SSHA512}Tgx/uhHnlM9/GgQvI31dN7cheDXg7WypZwaaIkyRsgV/BKIzBG3G/wUd9o1dpi06p3SYzMedg0lvTc3b6CtdO0Xo/f9/L+U===N)	r$r%r&rZldap_salted_sha512rrr(r)r r r r!r�as
�r�c@sTeZdZejZdeerenefeer(enefgZ	ddgZ
dgZGdd�dej
�Z
dS)�ldap_plaintext_test�rjrjz{FOO}barr=)r�r�cseZdZ�fdd�Z�ZS)z%ldap_plaintext_test.FuzzHashGeneratorcsttj|���}|r|SqdS)N)rGr��FuzzHashGenerator�random_password)r4�pwdrKr r!r��sz5ldap_plaintext_test.FuzzHashGenerator.random_password)r$r%r&r�rVr r rKr!r��sr�N)r$r%r&rZldap_plaintextrr'r�PASS_TABLE_UTF8r(r6r7rr�r r r r!r��s���r�c@s.eZdZejZddddddedfgZdgZd	S)
�_ldap_md5_crypt_test)r=z){CRYPT}$1$dOHYPKoP$tnxS1T8Q6VVn3kpV8cN6o.)r>z){CRYPT}$1$m/5ee7ol$bZn0kIBFipq39e.KDXX8I0)rMz){CRYPT}$1$ec6XvcoW$ghEtNK2U1MC5l.Dwgi3020)r[z){CRYPT}$1$nX1e7EeI$ljQn72ZUgt6Wxd9hfvHdV0)r\z){CRYPT}$1$jQS7o98J$V6iTcr71CGgwW2laf17pi1)rMz){CRYPT}$1$SuMrG47N$ymvzYjr7QcEQjaK5m1PGx1z){CRYPT}$1$d6/Ky1lU$/xpf8m7ftmWLF.TjHCqel0z){CRYPT}$1$dOHYPKoP$tnxS1T8Q6VVn3kpV8cN6o!N)	r$r%r&rZldap_md5_cryptrr'r(r)r r r r!r��s��r�cs6eZdZejZdedfgZ�fdd�Zdd�Z	�Z
S)�_ldap_sha1_crypt_test)rjz5{CRYPT}$sha1$10$c.mcTzCw$gF8UeYst9yXX7WNZKc5Fjkq0.au7z5{CRYPT}$sha1$10$rnqXlOsF$aGJf.cdRPewJAXo1Rn1BkbaYh0fPcs |�dd�tt|��|�dS)Nr`�
)r�rGr��populate_settingsrIrKr r!r��sz'_ldap_sha1_crypt_test.populate_settingscKs|�d��dS)NZunneededrz)r4Zignoredr r r!rH�sz(_ldap_sha1_crypt_test.test_77_fuzz_input)r$r%r&rZldap_sha1_cryptrr'r(r�rHrVr r rKr!r��s�r�c@s�eZdZejZdZddddddded	�d
fed�d
fed�d
fdfed�dfdfed�dfdfed�dfdfg
ZdgZ	dd�Z
d
S)�lmhash_testT)�OLDPASSWORDZ c9b81d939d6fd80cd408e6b105741864)�NEWPASSWORDZ 09eeab5aa415d6e4d408e6b105741864)ZwelcomeZ c23413a8a1e7665faad3b435b51404ee)r=Z aad3b435b51404eeaad3b435b51404ee)ZzzZZZzzZ a5e6066de61c3e35aad3b435b51404ee)r+Z 855c3697d9979e78ac404c4ba2c66533)ZYokohamaZ 5ecd9236d21095ce7584248b8d2c9f9eu
ENCYCLOPÆDIAZ fed6416bffc9750d48462b9d7aaac065u
encyclopædia�ÆNZ 25d8ab4a0659c97aaad3b435b51404ee�cp437zlatin-1Z 184eecbbe9991b44aad3b435b51404eezutf-8Z 00dd240fcfab20b8aad3b435b51404eeZ 855c3697d9979e78ac404c4ba2c6653XcCsxddlm}ddlm}|j}|jD]>\}}i}|�||�}|||��}|�|j|fi|��|�q$|�	t
|jd�dS)ztest lmhash.raw() methodr)�	unhexlify)�
str_to_basciir_N)Zbinasciir��passlib.utils.compatr�rr(r�rs�rawr0rf)r4r�r��lmhashrRrrJ�datar r r!�test_90_raw�szlmhash_test.test_90_raw)r$r%r&rr�r�secret_case_insensitiverr(r6r�r r r r!r��s&

��r�c@sNeZdZejZddddddddd	d
dded
�dfedfgZddgZ	gd�Z
dS)�_md5_crypt_test)r9z"$1$dXc3I7Rw$ctlgjDdWJLMT.qwHsWhXR1)r:z"$1$dXc3I7Rw$94JPyQc/eAgQ3MFMCoMF.0)r;z"$1$dXc3I7Rw$is1mVIAEtAhIzSdfn5JOO0)r<z"$1$eQT9Hwbt$XtuElNJD.eW5MN5UCWyTQ0)r=z"$1$Eu.GHtia$CFkL/nE1BYTlEPiVx1VWX0)r=z"$1$dOHYPKoP$tnxS1T8Q6VVn3kpV8cN6o.)r>z"$1$m/5ee7ol$bZn0kIBFipq39e.KDXX8I0)rMz"$1$ec6XvcoW$ghEtNK2U1MC5l.Dwgi3020)r[z"$1$nX1e7EeI$ljQn72ZUgt6Wxd9hfvHdV0)r\z"$1$jQS7o98J$V6iTcr71CGgwW2laf17pi1)rM�"$1$SuMrG47N$ymvzYjr7QcEQjaK5m1PGx1)stestr��sz"$1$ssssssss$YgmLTApYTv12qgTwBoj8i/z"$1$d6/Ky1lU$/xpf8m7ftmWLF.TjHCqel0z"$1$dOHYPKoP$tnxS1T8Q6VVn3kpV8cN6o!z#$1$dOHYPKoP$tnxS1T8Q6VVn3kpV8cN6o.$)r?r@rA)zfreebsd|netbsd|linux|solarisT)�darwinFN)r$r%r&rZ	md5_cryptrrr'r(r)rUr r r r!r�s(	
� �r�c@sreZdZejZdZdddddddd	d
dded
�ed
�fdfed�ed�fdfed�dfdfedfdfgZ	dgZ
dS)�
msdcc_testT)�ZAsdf999Zsevans� b1176c2587478785ec1037e5abc916d0))Z	ASDqwe123ZjdoeZ 592cdfbc3f1ef77ae95c75f851e37166)��test1r�� 64cd29e36a8431a2b111378564a10631))�test2r�Z ab60bdb4493822b175486810ac2abe63)��test3r�Z 14dd041848e12fc48c0aa7a416a4a00c)��test4r�Z b945d24866af4b01a6d89b9d932a153c))z1234qwer!@#$Z
AdministratorZ 7b69d06ef494621e3f47b9802fe7776d))rjr|Z 2d9f0b052932ad18b87f315641921cda))r=�rootZ 176a4c2bd45ac73687676c2f09045353))r�ZTEST1r�))Zokolada�nineteen_charactersZ 290efa10307e36a79b3eebf2a6b29455�üZ 48f84e6f73d6d5305f6558a33fa2c9bb�üüZ 593246a8335cf0261799bda2a2a9c623�€€r|Z 9121790702dda0fa5d353014c334c2ce�bobZ fcb82eb4212865c7ac3503156ca3f349)Z B1176C2587478785EC1037E5ABC916D0r�r�N)r$r%r&rZmsdccr�user_case_insensitiverr'r(�known_alternate_hashesr r r r!r�=s(
�2�r�c@sfeZdZejZdZdddddddd	d
ddd
ed�dfdfed�dfdfed�dfdfedfdfgZ	dS)�msdcc2_testT)r�Z 607bbe89611e37446e736f7856515bf8))Zqerwt�JoeZ e09b38f84ab0be586b730baf61781e30))�12345r�Z 6432f517a900b3fc34ffe57f0f346e16))r=�binZ c0cbe0313a861062e29f92ede58f9b36))�w00tr�Z 87136ae0a18b2dafe4a41d555425b2ed))r�ZeighteencharactersZ fc5df74eca97afd7cd5abb0032496223))�longpasswordZtwentyXXX_charactersZ cfc6a1e33eb36c3d4f84e4c2606623d2))r�ZtwentyoneX_charactersZ 99ff74cea552799da8769d30b2684bee))r�ZtwentytwoXX_charactersZ 0a721bdc92f27d7fb23b87a445ec562f))r�ZTEST2Z c6758e5be7fc943d00b97972a8a97620)r�Z 360e51304a2d383ea33467ab0b639cc4)r�Z 6f79ee93518306f071c47185998566aer�ZjoeZ bdb80f2c4656a8b8591bd27d39064a54r�Z 1e1e20f482ff748038e47d801d0d1bdar�ZadminZ 0839e4a07c00f18a8c65cf5b985b9e73r�Z cad511dc9edefcf69201da72efb6bb55N)
r$r%r&rZmsdcc2rr�rr'r(r r r r!r�ws&
�r�c
@sTeZdZejZdZdddddddd	d
dedfed
fgZ	dgZ
gd�Zded�gZ
dS)�mssql2000_testzverify-only)�TestZ^0x010034767D5C0CFA5FDCA28C4A56085E65E882E71CB0ED2503412FD54D6119FFF04129A1D72E7C3194F7284A7F3A)�TESTZ^0x010034767D5C2FD54D6119FFF04129A1D72E7C3194F7284A7F3A2FD54D6119FFF04129A1D72E7C3194F7284A7F3A)�xZ^0x010086489146C46DD7318D2514D1AC706457CBF6CD3DF8407F071DB4BBC213939D484BF7A766E974F03C96524794)�AAAAZ^0x0100CF465B7B12625EF019E157120D58DD46569AC7BF4118455D12625EF019E157120D58DD46569AC7BF4118455D)�123Z^0x01002D60BA07FE612C8DE537DF3BFCFA49CD9968324481C1A8A8FE612C8DE537DF3BFCFA49CD9968324481C1A8A8)r��^0x01005B20054332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B3)�fooZ^0x0100A607BA7C54A24D17B565C59F1743776A10250F581D482DA8B6D6261460D3F53B279CC6913CE747006A2E3254)�barZ^0x01000508513EADDF6DB7DDD270CCA288BF097F2FF69CC2DB74FBB9644D6901764F999BAB9ECB80DE578D92E3F80D)�canardZ^0x01008408C523CF06DCB237835D701C165E68F9460580132E28ED8BC558D22CEDF8801F4503468A80F9C52A12C0A3)�lapinZ^0x0100BF088517935FC9183FE39FDEC77539FD5CB52BA5F5761881E5B9638641A79DBF0F1501647EC941F3355440A2Z^0x0100624C0961B28E39FEE13FD0C35F57B4523F0DA1861C11D5A5B28E39FEE13FD0C35F57B4523F0DA1861C11D5A5Z^0x010083104228FAD559BE52477F2131E538BE9734E5C4B0ADEFD7F6D784B03C98585DC634FE2B8CA3A6DFFEC729B4)Z^0x01005b20054332752e1bc2e7c5df0f9ebfe486e9bee063e8d3b332752e1bc2e7c5df0f9ebfe486e9bee063e8d3b3r�r�)Z^0X01005B20054332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B3Z^0x02005B20054332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B3Z\0x01005B20054332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3Z`0x01005B20054332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B3AF�60x01005B20054332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B3s^0x01005B200543327G2E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B3Z^0x01005B200543327G2E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B332752E1BC2E7C5DF0F9EBFE486E9BEE063E8D3B3N)r$r%r&rZ	mssql2000rr�r�r'r(r�r6rr)r r r r!r��s*�5��r�c@sXeZdZejZdddddddddd	d
ddd
dddedfedfgZdgZ	gd�Z
dgZdS)�mssql2005_test)r�Z60x010034767D5C2FD54D6119FFF04129A1D72E7C3194F7284A7F3A)ZtotoZ60x01004086CEB6BF932BC4151A1AF1F13CD17301D70816A8886908)r�Z60x01004A335DCEDB366D99F564D460B1965B146D6184E4E1025195)r�Z60x0100E11D573F359629B344990DCD3D53DE82CF8AD6BBA7B638B6)r�Z60x010036D726AE86834E97F20B198ACD219D60B446AC5E48C54F30)ZtitiZ60x01004086CEB60ED526885801C23B366965586A43D3DEAC6DD3FD)r�Z60x0100A607BA7C54A24D17B565C59F1743776A10250F581D482DA8)r�Z60x01000508513EADDF6DB7DDD270CCA288BF097F2FF69CC2DB74FB)r�Z60x01008408C523CF06DCB237835D701C165E68F9460580132E28ED)r�Z60x0100BF088517935FC9183FE39FDEC77539FD5CB52BA5F5761881)r�Z60x010034767D5C0CFA5FDCA28C4A56085E65E882E71CB0ED250341)r�Z60x0100993BF2315F36CC441485B35C4D84687DC02C78B0E680411F)r�Z60x010086489146C46DD7318D2514D1AC706457CBF6CD3DF8407F07)r�Z60x0100CF465B7B12625EF019E157120D58DD46569AC7BF4118455D)r�Z60x01002D60BA07FE612C8DE537DF3BFCFA49CD9968324481C1A8A8)r�r�Z60x0100624C0961B28E39FEE13FD0C35F57B4523F0DA1861C11D5A5Z60x010083104228FAD559BE52477F2131E538BE9734E5C4B0ADEFD7)Z60x01005b20054332752e1bc2e7c5df0f9ebfe486e9bee063e8d3b3r�r�)Z60X010036D726AE86834E97F20B198ACD219D60B446AC5E48C54F30Z60x020036D726AE86834E97F20B198ACD219D60B446AC5E48C54F30Z40x010036D726AE86834E97F20B198ACD219D60B446AC5E48C54FZ80x010036D726AE86834E97F20B198ACD219D60B446AC5E48C54F3012r�Z60x010036D726AE86G34E97F20B198ACD219D60B446AC5E48C54F30N)r$r%r&rZ	mssql2005rr�r'r(r�r6r)r r r r!r��s4�;��r�c@sBeZdZejZdddedfgZdgZdd�Z	Gdd	�d	e
j�Zd
S)�
mysql323_test)ZdrewZ697a7de87c5390b2)rjZ5d2e19393cc5ef67)�mypassZ6f8c114b58f2ce9eZ4ef327ca5491c8d7Z6z8c114b58f2ce9ecCs$|�d�}|�d�}|�||�dS)z$check whitespace is ignored per specr�zmy passN)Z
do_encryptrs)r4�hZh2r r r!�test_90_whitespace^s

z mysql323_test.test_90_whitespacec@seZdZdd�ZdS)zmysql323_test.FuzzHashGeneratorcCs|�dd�|�dd�kS)Nr>r=)�replace)r4rR�otherr r r!�accept_password_pairfsz4mysql323_test.FuzzHashGenerator.accept_password_pairN)r$r%r&r�r r r r!r�dsr�N)r$r%r&rZmysql323rr'r(r6r�rr�r r r r!r�Fs��r�c@s*eZdZejZddddedfgZdgZdS)�mysql41_test)Zverysecretpasswordz)*2C905879F74F28F8570989947D06A8429FB943E6)Z 12345678123456781234567812345678z)*F9F1470004E888963FB466A5452C9CBD9DF6239C)z
' OR 1 /*'z)*97CF7A3ACBE0CA58D5391AC8377B5D9AC11D46D9)r�z)*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4z)*E7AFE21A9CFA2FC9D15D942AE8FB5C240FE5837Bz)*6Z8989366EAF75BB670AD8EA7A7FC1176A95CEF4N)	r$r%r&rZmysql41rr'r(r6r r r r!r�js��r�c	@s>eZdZejZded�fded�fddddd	d
dg	ZdgZd
S)�nthash_testr�Z 6677b2c394311355b54f25eec5bfacf5r�Z 256781a62031289d3c2c98c14f1efc8c)r=Z 31d6cfe0d16ae931b73c59d7e0c089c0)ZtiggerZ b7e0ea9fbffcf6dd83086e905089effd)�üZ 8bd6e4fb88e01009818749c5443ea712)süüZ cc1260adb6985ca749f150c7e0b22063)s€Z 030926b781938db4365d46adc7cfbcb8)s€€Z 682467b963bb4e61943e170a04f7db46)r+Z 7f8fe03093cc84b267b109625f6bbf4bZ 7f8fe03093cc84b267b109625f6bbfxbN)	r$r%r&rZnthashrrr(r6r r r r!r��s

��r�c@s eZdZejZddgZdgZdS)�bsd_nthash_test)r+z$$3$$7f8fe03093cc84b267b109625f6bbf4b)r�z$$3$$8bd6e4fb88e01009818749c5443ea712z$$3$$7f8fe03093cc84b267b109625f6bbfxbN)r$r%r&rZ
bsd_nthashrr(r6r r r r!r��s��r�c@sPeZdZejZdZdZded�ed�fdfdddd	d
dde	d
fdfg
Z
dgZdS)�
oracle10_testT))ZtigerZscottZF894844C34402B67ZttTiGGeRZScOZ7AA1A84E31ED7771))Zd_syspwZSYSTEMZ1B9F1F9A5CB9EB31))Zstrat_passwdZ
strat_userZAEBEDBB4EFB5225B))z#95LWEIGHTSZUSERZ000EA4D72A142E29))ZCIAO2010ZALFREDOZEB026A76F0650F7B))ZGLOUGlouZBobZCDC6B483874B875B))ZGLOUGLOUTERZbOBZEF1F9139DB2D5279))ZLONG_MOT_DE_PASSE_OUIZBOBZEC8147ABB3373D53ZSystemZB915A853F297B281ZF894844C34402B6ZN)r$r%r&rZoracle10rr�r�rr'r(r6r r r r!r��s 	
� �r�c@s(eZdZejZddddddedfgZdS)	�
oracle11_test)Zabc123z>S:5FDAB69F543563582BA57894FE1C1361FB8ED57B903603F2C52ED1B4D642)zSyStEm123!@#z>S:450F957ECBE075D2FA009BA822A9E28709FBC3DA82B44D284DDABEC14C42)Zoraclez>S:3437FF72BD69E3FB4D10C750B92B8FB90B155E26227B9AB62D94F54E5951)�11gz>S:61CE616647A4F7980AFD7C7245261AF25E0AFE9C9763FCF0D54DA667D4E6)r�z>S:B9E7556F53500C8C78A58F50F24439D79962DE68117654B6700CE7CC71CF)ZSHAlalaz>S:2BFCFDF5895014EE9BB2B9BA067B01E0389BB5711B7B5F82B7235E9E182Cz>S:51586343E429A6DF024B8F242F2E9F8507B1096FACD422E29142AA4974B0N)r$r%r&rZoracle11rr'r(r r r r!r��s�r�c@s6eZdZejZddddddddd	d
edfgZdgZd
S)�phpass_test)Z	test12345z"$P$9IQRaTwmfeRo7ud9Fh4E2PdI0S3r.L0)r�z"$H$9aaaaaSXBjgypwqm.JsMssPLiS8YQ00)�123456z"$H$9PE8jEklgZhgLmZl5.HYJAzfGCQtzi1)r�z"$H$9pdx7dbOW3Nnt32sikrjAxYFjX8XoK1)ZthisisalongertestPWz"$P$912345678LIjjb6PhecupozNBmDndU0)�
JohnRipperz"$P$612345678si5M0DDyPpmRCmcltU/YW/)r�z"$H$712345678WhEyvy1YWzT4647jzeOmo0)r�z"$P$B12345678L6Lpt4BxNotVIMILOa9u81)r=z"$P$7JaFQsPzJSuenezefD/3jHgt5hVfNH0)zcompL3X!z"$P$FiS0N5L672xzQx1rt1vgdJQRYKnQM9/z"$P$7SMy8VxnfsIy2Sxm7fJxDSdil.h7TW.z"$P$9IQRaTwmfeRo7ud9Fh4E2PdI0S3r!L0N)	r$r%r&rZphpassrr'r(r)r r r r!r��s��r�c@s:eZdZejZdZddeer ene	fe	er.ene	fgZ
dS)�plaintext_testT)r=r=r�N)r$r%r&rZ	plaintextr�accepts_all_hashesr'rr�r(r r r r!r�#s�r�c@s,eZdZejZdddedfdfgZdgZdS)�postgres_md5_test))r��postgresZ#md55fba2ea04fd36069d2574ea71c8efe9d))r�r�Z#md540c31989b20437833f697e485811254b))ZtestpasswordZtestuserZ#md5d4fc5129cc2c25465a5370113ae9835fr�Z#md5cb9f11283265811ce076db86d18a22d2Z#md54zc31989b20437833f697e485811254bN)	r$r%r&rZpostgres_md5rr'r(r6r r r r!r�4s
��r�c@s0eZdZejZddedfgZgd�Zgd�Z	dS)�_sha1_crypt_test)rjz1$sha1$19703$iVdJqfSE$v4qYKl1zqYThwpjJAoKX6UvlHq/a)rjz1$sha1$21773$uV7PTeux$I9oHnvwPZHMO0Nq6/WgyGV/tDJIHz1$sha1$40000$uJ3Sp7LE$.VEmLO5xntyRFYihC7ggd3297T/D)z1$sha1$21773$u!7PTeux$I9oHnvwPZHMO0Nq6/WgyGV/tDJIHz1$sha1$01773$uV7PTeux$I9oHnvwPZHMO0Nq6/WgyGV/tDJIHz2$sha1$21773$uV7PTeux$I9oHnvwPZHMO0Nq6/WgyGV/tDJIH$z-$sha1$$uV7PTeux$I9oHnvwPZHMO0Nq6/WgyGV/tDJIH$))ZnetbsdT)zfreebsd|openbsd|solaris|darwinFrCN)
r$r%r&rZ
sha1_cryptrr'r(r)rUr r r r!r�Os�	r�c@seZdZdd�Zdd�ZdS)�RoundupTestcCs,|�|�||��|�|�d||��dS)Nr�)rOrPrQ)r4r�rRrr r r!�
_test_pair}szRoundupTest._test_paircCsT|�tjdd�|�tjdd�|�tjdd�|�tjdd�|�tjdd�dS)NZsekritz-{SHA}8d42e738c7adee551324955458b5e2c0b49ee655z%{MD5}ccbc53f4464604e714f69dd11138d8b5z{CRYPT}nFia0rj2TT59Az{plaintext}sekritzD{PBKDF2}5000$7BvbBq.EZzz/O0HuwX3iP.nAG3s$g3oPnFFaga2BJaX5PoPRljl4XIE)r�rZ
ldap_hex_sha1Zldap_hex_md5Zldap_des_cryptZroundup_plaintextZldap_pbkdf2_sha1r3r r r!�
test_pairs�s2�����zRoundupTest.test_pairsN)r$r%r&r�r�r r r r!r�{sr�c@sfeZdZejZddddddddd	d
ed�dfgZed
�rFe�	gd��gd�Z
gd�ZdZgd�Z
dS)�_sha256_crypt_test)r9z?$5$LKO/Ute40T3FNF95$U0prpBQd4PloSGU0pnpM4z9wKn4vZ1.jsrzQfPqxph9)r:z?$5$LKO/Ute40T3FNF95$fdgfoJEBoMajNxCv3Ru9LyQ0xZgv0OBMQoq80LQ/Qd.)r;z?$5$LKO/Ute40T3FNF95$8Ry82xGnnPI/6HtFYnvPBTYgOL23sdMXn8C29aO.x/A)r<z?$5$9mx1HkCz7G1xho50$O7V7YgleJKLUhcfk9pgzdh3RapEaWqMtEp9UUBAKIPA)r=z?$5$kc7lRD1fpYg0g.IP$d7CMTcEqJyTXyeq8hTdu/jB/I6DGkoo62NXbHIR7S43)r=zL$5$rounds=10428$uy/jIAhCetNCTtb0$YWvUOXbkqlqhyoPMpN8BMe.ZGsGx2aBvxTvDFI613c3)r>zL$5$rounds=10376$I5lNtXtRmf.OoMd8$Ko3AI1VvTANdyKhBPavaRjJzNpSatKU6QVN9uwS9MH.)rMzL$5$rounds=11858$WH1ABM5sKhxbkgCK$aTQsjPkz0rBsH3lQlJxw9HDTDXPKBxC0LlVeV69P.t1)r[zL$5$rounds=10350$o.pwkySLCzwTdmQX$nCMVsnF3TXWcBPOympBUUSQi6LGGloZoOsVJMGJ09UB)r\zL$5$rounds=11944$9dhlu07dQMRWvTId$LyUI5VWkGFwASlzntk1RLurxX54LUhgAcJZIt0pYGT7u
with unicÖdezK$5$rounds=1000$IbG0EuGQXw5EkMdP$LQ5AfPf13KufFsKtmazqnzSGZ4pxtUNw3woQ.ELRDF4Zfull)	)rRz?$5$rounds=1004$nacl$oiWPbm.kQ7.jTCZoOtdv7/tO5mWv/vxw5yTqlBagVR7)rRz?$5$rounds=1005$nacl$6Mo/TmGDrXxg.bMK9isRzyWH3a..6HnSVVsJMEX7ud/)rRz?$5$rounds=1006$nacl$I46VwuAiUBwmVkfPFakCtjVxYYaOJscsuIeuZLbfKID)rRz?$5$rounds=1007$nacl$9fY4j1AV3N/dV/YMUn1enRHKH.7nEL4xf1wWB6wfDD4)rRz?$5$rounds=1008$nacl$CiFWCfn8ODmWs0I1xAdXFo09tM8jr075CyP64bu3by9)rRz?$5$rounds=1009$nacl$QtpFX.CJHgVQ9oAjVYStxAeiU38OmFILWm684c6FyED)rRz?$5$rounds=1010$nacl$ktAwXuT5WbjBW/0ZU1eNMpqIWY1Sm4twfRE1zbZyo.B)rRz?$5$rounds=1011$nacl$QJWLBEhO9qQHyMx4IJojSN9sS41P1Yuz9REddxdO721)rRz?$5$rounds=1012$nacl$mmf/k2PkbBF4VCtERgky3bEVavmLZKFwAcvxD1p3kV2)zL$5$rounds=10428$uy/:jIAhCetNCTtb0$YWvUOXbkqlqhyoPMpN8BMeZGsGx2aBvxTvDFI613c3zM$5$rounds=010428$uy/jIAhCetNCTtb0$YWvUOXbkqlqhyoPMpN8BMe.ZGsGx2aBvxTvDFI613c3zM$5$rounds=10428$uy/jIAhCetNCTtb0$YWvUOXbkqlqhyoPMpN8BMe.ZGsGx2aBvxTvDFI613c3$))z
$5$saltstring�Hello world!z9$5$saltstring$5B8vYYiY.CVt1RlTTf8KbXBH3hsxY/GNooZaBBGWEc5)z$$5$rounds=10000$saltstringsaltstringr�zL$5$rounds=10000$saltstringsaltst$3xv.VbSHBb41AL9AvLeujZkZRBAwqFMz2.opqey6IcA)z $5$rounds=5000$toolongsaltstring�This is just a testzK$5$rounds=5000$toolongsaltstrin$Un/5jzAHMgOGZ5.mWJpuVolil07guHPvOW8mGRcvxa5)z$$5$rounds=1400$anotherlongsaltstring�Ta very much longer text to encrypt.  This one even stretches over morethan one line.zK$5$rounds=1400$anotherlongsalts$Rx.j8H.h8HjEDGomFU8bDkXm3XIUnzyxf12oP84Bnq1)z$5$rounds=77777$short�4we have a short salt string but not a short passwordzA$5$rounds=77777$short$JiO1O3ZpDAxGJeaDIuqCoEFysAe1mZNJRs3pw0KQRd/)z!$5$rounds=123456$asaltof16chars..�a short stringzM$5$rounds=123456$asaltof16chars..$gP3VQ/6X7UUEW3HkBn2w1/Ptq2jxPyzV/cZKmF/wJvD)z$5$rounds=10$roundstoolow�$the minimum number is still observedzG$5$rounds=1000$roundstoolow$yfvwcWrQ8l/K0DAWyuPMDNHpIVlTQebY9l/gL972bICT))zfreebsd(9|1\d)|linuxT)Zfreebsd8N)zfreebsd|openbsd|netbsd|darwinF)rBNN)r$r%r&rZsha256_cryptrrr(r
�extendr)�known_correct_configs�filter_config_warningsrUr r r r!r��s&
�r�c@sJeZdZejZddddddddd	d
edfgZdd
gZgd�Z	dZ
ejZdS)�_sha512_crypt_test)r9zj$6$LKO/Ute40T3FNF95$6S/6T2YuOIHY0N3XpLKABJ3soYcXD9mB7uVbtEZDj/LNscVhZoZ9DEH.sBciDrMsHOWOoASbNLTypH/5X26gN0)r:zj$6$LKO/Ute40T3FNF95$wK80cNqkiAUzFuVGxW6eFe8J.fSVI65MD5yEm8EjYMaJuDrhwe5XXpHDJpwF/kY.afsUs1LlgQAaOapVNbggZ1)r;zj$6$LKO/Ute40T3FNF95$YS81pp1uhOHTgKLhSMtQCr2cDiUiN03Ud3gyD4ameviK1Zqz.w3oXsMgO6LrqmIEcG3hiqaUqHi/WEE2zrZqa/)r<zj$6$OmBOuxFYBZCYAadG$WCckkSZok9xhp4U1shIZEV7CCVwQUwMVea7L3A77th6SaE9jOPupEMJB.z0vIWCDiN9WLh2m9Oszrj5G.gt330)r=zj$6$ojWH1AiTee9x1peC$QVEnTvRVlPRhcLQCk/HnHaZmlGAAjCfrAN0FtOsOnUk5K5Bn/9eLHHiRzrTzaIKjW9NTLNIBUCtNVOowWS2mN.)r=zw$6$rounds=11021$KsvQipYPWpr93wWP$v7xjI4X6vyVptJjB1Y02vZC5SaSijBkGmq1uJhPr3cvqvvkd42Xvo48yLVPFt8dvhCsnlUgpX.//Cxn91H4qy1)r>zw$6$rounds=11104$ED9SA4qGmd57Fq2m$q/.PqACDM/JpAHKmr86nkPzzuR5.YpYa8ZJJvI8Zd89ZPUYTJExsFEIuTYbM7gAGcQtTkCEhBKmp1S1QZwaXx0)rMzw$6$rounds=11531$G/gkPn17kHYo0gTF$Kq.uZBHlSBXyzsOJXtxJruOOH4yc0Is13uY7yK0PvAvXxbvc1w8DO1RzREMhKsc82K/Jh8OquV8FZUlreYPJk1)r[zw$6$rounds=10787$wakX8nGKEzgJ4Scy$X78uqaX1wYXcSCtS4BVYw2trWkvpa8p7lkAtS9O/6045fK4UB2/Jia0Uy/KzCpODlfVxVNZzCCoV9s2hoLfDs/)r\zw$6$rounds=11065$5KXQoE1bztkY5IZr$Jf6krQSUKKOlKca4hSW07MSerFFzVIZt/N3rOTsUgKqp7cUdHrwV8MoIVNCk9q9WL3ZRMsdbwNXpVk0gVxKtz1zw$6$rounds=40000$PEZTJDiyzV28M3.m$GTlnzfzGB44DGd1XqlmC4erAJKCP.rhvLvrYxiT38htrNzVGBnplFOHjejUGVrCfusGWxLQCc3pFO0A/1jYYr0zx$6$rounds=011021$KsvQipYPWpr93wWP$v7xjI4X6vyVptJjB1Y02vZC5SaSijBkGmq1uJhPr3cvqvvkd42Xvo48yLVPFt8dvhCsnlUgpX.//Cxn91H4qy1zw$6$rounds=11021$KsvQipYPWpr9:wWP$v7xjI4X6vyVptJjB1Y02vZC5SaSijBkGmq1uJhPr3cvqvvkd42Xvo48yLVPFt8dvhCsnlUgpX.//Cxn91H4qy1))z
$6$saltstringr�zd$6$saltstring$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJuesI68u4OTLiBFdcbYEdFCoEOfaS35inz1)z$$6$rounds=10000$saltstringsaltstringr�zw$6$rounds=10000$saltstringsaltst$OW1/O6BYHV6BcXZu8QVeXbDWra3Oeqh0sbHbbMCVNSnCM/UrjmM0Dp8vOuZeHBy/YTBmSK6H9qs/y3RnOaw5v.)z $6$rounds=5000$toolongsaltstringr�zv$6$rounds=5000$toolongsaltstrin$lQ8jolhgVRVhY4b5pZKaysCLi0QBxGoNeKQzQ3glMhwllF7oGDZxUhx1yxdYcz/e1JSbq3y6JMxxl8audkUEm0)z$$6$rounds=1400$anotherlongsaltstringr�zv$6$rounds=1400$anotherlongsalts$POfYwTEok97VWcjxIiSOjiykti.o/pQs.wPvMxQ6Fm7I6IoYN3CmLs66x9t0oSwbtEW7o7UmJEiDwGqd8p4ur1)z$6$rounds=77777$shortr�zl$6$rounds=77777$short$WuQyW2YR.hBNpjjRhpYD/ifIw05xdfeEyQoMxIXbkvr0gge1a1x3yRULJ5CCaUeOxFmtlcGZelFl5CxtgfiAc0)z!$6$rounds=123456$asaltof16chars..r�zx$6$rounds=123456$asaltof16chars..$BtCwjqMJGx5hrJhZywWvt0RLE8uZ4oPwcelCjmw2kSYu.Ec6ycULevoBK25fs2xXgMNrCzIMVcgEJAstJeonj1)z$6$rounds=10$roundstoolowr�zr$6$rounds=1000$roundstoolow$kUMsbe306n21p9R.FRkW3IGn.S9NPN0x50YhH1xhLsPuWGsUSklZt58jaTfF4ZEQpyUNGc0dqbpBYYBaHHrsX.TN)
r$r%r&rZsha512_cryptrr'r(r)r�r�r�rUr r r r!r�s&��&r�c@sDeZdZejZddddedfgZgd�Zgd�Z	dd	gZ
d
d�ZdS)
�sun_md5_crypt_test)Z	Gpcs3_admz%$md5$zrdhpMlZ$$wBvMOEqbSjU.hu5T2VEP01)Z
aa12345678z%$md5$vyy8.OVF$$FY4TWzuauRl4.VQNobqMY.)�this�%$md5$3UqYqndY$$6P.aaWOoucxxq.l00SS9k0)�passwdz$$md5$RPgLF6IJ$WTvAlUJ7MqH5xak2FMEwS/z1$md5,rounds=5000$10VYDzAA$$1arAVtMA3trgE1qJ2V0Ez1))z$md5$3UqYqndY$r�r�)z%$md5$3UqYqndY$$.................DUMMYr�r�)z
$md5$3UqYqndYr��$$md5$3UqYqndY$HIZVnfJNGCPbDZ9nIRSgP1)z$$md5$3UqYqndY$.................DUMMYr�r�)	z$md5,rounds=5000z$md5,rounds=500A$xxxxz$md5,rounds=0500$xxxxz$md5,rounds=0$xxxxz$$md5$RPgL!6IJ$WTvAlUJ7MqH5xak2FMEwS/z#$md5$RPgLa6IJ$WTvAlUJ7MqH5xak2FMEwSz%$md5$RPgLa6IJ$WTvAlUJ7MqH5xak2FMEwS/.z$md5$3UqYqndY$$z&$md5$RPgLa6IJ$$$WTvAlUJ7MqH5xak2FMEwS/)rBT)z#freebsd|openbsd|netbsd|linux|darwinFcCs*t|t�r|�d�rtd��|j�||�S)Nz$.................DUMMYz,pretending '$...' stub hash is config string)r~�str�endswithr1rrP)r4rRrr r r!�	do_verify�szsun_md5_crypt_test.do_verifyN)r$r%r&rZ
sun_md5_cryptrr'r(r�r)rUr�r r r r!r�Rs�)�r�cs>eZdZejZdedfgZgd�Z�fdd�Z	dd�Z
�ZS)�unix_disabled_test�rj�!�*)z$1$xxx�abcz./azz{SHA}xxxcsd|_tt|���dS)NT)r�rGr��test_76_hash_borderr3rKr r!r�sz&unix_disabled_test.test_76_hash_bordercCs�t�dd�|j}|�|�dd�d�|�|�dd�|j�|�|�d�|j�|�|��j|j�|�|jdddd�d�|�|jddd�d�|�|jdd��d�d�|jt	|jdddd�|jt	|jddd�|jt	|jdd�d	S)
z%test marker option & special behaviorrDz-passing settings to .*.hash\(\) is deprecatedrN�!asdr=z*xxx)ZmarkerrN)
rErFrrs�genhashZdefault_markerrZusingr0r1�r4rr r r!�test_90_special�sz"unix_disabled_test.test_90_special)r$r%r&rZ
unix_disabledrr'r(r6rrrVr r rKr!r��s�r�csBeZdZejZdZdedfgZ�fdd�Z	dd�Z
dd	�Z�ZS)
�unix_fallback_testTr�r�cstt|���t�dd�dS)NrDz'unix_fallback' is deprecated)rGr�setUprErFr3rKr r!rszunix_fallback_test.setUpcCsd|j}|�|jdddd��|�|�dd��dD],}|�|jd|dd��|�|�d|��q2dS)ztest enable_wildcard flagrjr=T)Zenable_wildcardz!*xN)rrOrPrQ)r4r��cr r r!�test_90_wildcardsz#unix_fallback_test.test_90_wildcardcCsD|j}|�|�dd�d�|�|�d�d�|�|�dd�d�dS)z%test preserves existing disabled hashrNr=r�rN)rrsrrrr r r!�test_91_preserves_existingsz-unix_fallback_test.test_91_preserves_existing)
r$r%r&rZ
unix_fallbackrr�r'r(rr	r
rVr r rKr!r�s�	r)^rTZ
__future__rZloggingZ	getLoggerr$�log�osrrEZpasslibrrZ
passlib.utilsrr�rrrr	Zpasslib.tests.utilsr
rrr
rrr�r�r'r�rrr"Zconditionally_available_hashesr#r*r8Zcreate_backend_caseZbsdi_crypt_os_crypt_testZbsdi_crypt_builtin_testrWrZZdes_crypt_os_crypt_testZdes_crypt_builtin_testr]rirkrvrwrxryr�r�r�r�r�r�r�r�Zldap_md5_crypt_os_crypt_testZldap_md5_crypt_builtin_testr�Zldap_sha1_crypt_os_crypt_testr�r�Zmd5_crypt_os_crypt_testZmd5_crypt_builtin_testr�r�r�r�r�r�r�r�r�r�r�r�r�r�Zsha1_crypt_os_crypt_testZsha1_crypt_builtin_testr�r�Zsha256_crypt_os_crypt_testZsha256_crypt_builtin_testr�Zsha512_crypt_os_crypt_testZsha512_crypt_builtin_testr�r�rr r r r!�<module>s� 	
*)K

/

R)'


34

:#SY$#)(!


#\

L

u/

Youez - 2016 - github.com/yon3zu
LinuXploit