HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/test/__pycache__/test_crypt.cpython-312.pyc
�

h�e���,�ddlZddlZddlmZmZ	edd��rej
d��ejd�ZdZejejdk(d�ejed	�Gd
�dej���Zejed�Gd
�dej��Zedk(rej&�yy#e	$r;Z
ejdk7rej
ee
���dZee
�ZYdZ
[
��dZ
[
wwxYw)�N)�check_sanitizer�warnings_helperT)�address�memoryz.The crypt module SEGFAULTs on ASAN/MSAN builds�crypt�win32zThis should only run on windowszimport succeededc��eZdZd�Zy)�TestWhyCryptDidNotImportc�0�|jdt�y)Nz
not supported)�assertIn�IMPORT_ERROR��selfs �6/opt/alt/python312/lib64/python3.12/test/test_crypt.py�test_import_failure_messagez4TestWhyCryptDidNotImport.test_import_failure_messages���
�
�o�|�4�N)�__name__�
__module__�__qualname__r�rrr
r
s��5rr
zcrypt module is requiredc�*�eZdZd�Zd�Zd�Zd�Zeje	xr2e	je	jvxse	je	jvd�d��Z
eje	xre	je	jvd�d��Zd	�Zy
)�
CryptTestCasec��tjd�}tjd|�}|j||�tjdd�}|�)tjd|�}|j||�yy)N�
mypassword�ab)r�assertEqual)r�cr�cr2s   r�
test_cryptzCryptTestCase.test_cryptsj��
�[�[��
&���k�k�,��+������b�!�
�[�[��t�
,��
�>��+�+�l�B�/�C����S�"�%�rc	��|jttj�d�tjD]�}tj|�}|j
t|�|jz
hd��|js�O|j
|j|dt|�|jz
���y)N�@>r�����)	r�lenr�
_saltchars�methods�mksaltr�
salt_chars�ident)r�method�salts   r�	test_saltzCryptTestCase.test_salt&s�������U�-�-�.��3��m�m�	P�F��<�<��'�D��M�M�#�d�)�f�&7�&7�7�9K�L��|�|��
�
�f�l�l�D�1M�#�d�)�F�<M�<M�2M�,N�O�		Prc��tjD]�}tjd|�}|jt|�|j�tjd|�}|j||�tjdtj|��}|jt|�|j���y)N�assword)rr)rr'�
total_sizer*)rr-rrs    r�test_saltedcryptzCryptTestCase.test_saltedcrypt.s����m�m�	9�F����Y��/�B����S��W�f�&7�&7�8��+�+�i��,�C����S�"�%����Y����V�(<�=�B����S��W�f�&7�&7�8�
	9rc�Z�|jttj�dk\�tj
j
d�r0|jtjtjg�y|jtjdtj�y)Nr"�openbsd���)
�
assertTruer'rr)�sys�platform�
startswithr�METHOD_BLOWFISH�METHOD_CRYPTrs r�test_methodszCryptTestCase.test_methods7sj������E�M�M�*�a�/�0��<�<�"�"�9�-����U�]�]�U�-B�-B�,C�D����U�]�]�2�.��0B�0B�Crzrequires support of SHA-2c���tjtjfD]�}dD]�}tj||��}|j	d|z|�|jt
|�|jz
dt
t|��z�tjd|�}|j|�tjd|�}|j||�����y)N)��i'i����roundsz$rounds=%d$�r)
r�
METHOD_SHA256�
METHOD_SHA512r*rrr'r+�strr7)rr-rAr.rrs      r�test_sha2_roundszCryptTestCase.test_sha2_rounds>s����*�*�E�,?�,?�@�		*�F�/�
*���|�|�F�6�|�:���
�
�m�f�4�d�;�� � ��T��V�->�->�!>�!#�c�#�f�+�&6�!6�8��[�[��t�4������#��k�k�,��3��� � ��b�)�
*�		*rzrequires support of Blowfishc��tdd�D]�}tjtjd|z��}|j	d|z|�|j	t|�tjjz
ddh�tjd|�}|j|�tjd|�}|j||���y)	Nr$rBr"r@z$%02d$r%r&r)	�rangerr*r;rr'r+r7r)r�
log_roundsr.rrs     r�test_blowfish_roundsz"CryptTestCase.test_blowfish_roundsQs��� ��2�,�	&�J��<�<�� 5� 5�a�:�o�<�N�D��M�M�(�Z�/��6��M�M�#�d�)�e�&;�&;�&F�&F�F��A��O����\�4�0�B��O�O�B���+�+�l�B�/�C����S�"�%�	&rc�|�tjtjtjfD]�}|j	t
�5tj
|d��ddd�|j	t
�5tj
|d��ddd�dddddzfD]7}|j	t�5tj
||��ddd��9��|j	t�5tj
tjd��ddd�tjtjfD]8}|jtd	�5tj
|d
��ddd��:y#1swY��#xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�vxYw)N�4096r@g�@rr"r6i�r?�supporti)rrCrDr;�assertRaises�	TypeErrorr*�
ValueErrorr<�
METHOD_MD5�assertRaisesRegex)rr-rAs   r�test_invalid_roundsz!CryptTestCase.test_invalid_rounds^s|���*�*�E�,?�,?��,�,�.�	8�F��"�"�9�-�
4����V�F��3�
4��"�"�9�-�
4����V�F��3�
4��a��Q��V�,�
8���&�&�z�2�8��L�L���L�7�8�8�
8�
	8��
�
�z�
*�	=��L�L��.�.�t�L�<�	=��)�)�5�+;�+;�<�	2�F��'�'�
�I�>�
2����V�D��1�
2�
2�	2�
4�
4��
4�
4��8�8��	=�	=��
2�
2�s<�F�=F�>F�7&F&�F2�F	�F	�F#�&F/�2F;	N)rrrrr/r3r=�unittest�
skipUnlessrrCr)rDrFr;rJrSrrrrrs���&�P�9�D��X���
�	
����5�=�=�0�X�E�4G�4G�5�=�=�4X�#��
*��
*��X���
�8�%�'�'�5�=�=�8�:X��&��&�2rr�__main__)r8rT�test.supportrr�SkipTest�import_deprecatedrr
�ImportError�exr9rErU�skipIf�TestCaser
rr�mainrrr�<module>r_s,��
��9�	��t�D�1��h��� P�Q�Q�-�O�-�-�g�6�E��L�����S�\�\�W�,�.O�P������*�+�5�x�0�0�5�,�Q�5�����U�6�7�Q2�H�%�%�Q2�8�Q2�h�z���H�M�M�O���I��
�|�|�w���h����B��(�(��E��r�7�L��	�s�0C�D�1D�D