U
    ÈZjN  ã                   @   s˜   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddd	d
d dfddgZ	dd„ Z
dd„ Zdd„ Zi fdd„Zedkr”ddlZdd„ Zejdd� dS )z&Self-test suite for Crypto.Hash.SHA512é    )Úhexlify)ÚSHA512é   )Úmake_hash_tests)Úload_test_vectors)Z€ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49fÚabc)Z€8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909ZpabcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstuZ€e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09bÚai@B z'a' * 10**6)Z€cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3eÚ )Z€af9ed2de700433b803240a552b41b5a472a6ef3fe1431a722b2063c75e9f07451f67a28e37d09cde769424c96aea6f8971389db9e1993d6c565c3c71b855723cz;Franz jagt im komplett verwahrlosten Taxi quer durch Bayernc               	   C   s˜   t dddddd„ iƒpg } td d … }| D ]V}z| d¡r>W q*W n tk
rT   Y nX |jdkrfd	|_| t|jƒ|j|j	f¡ q*t
td
|ddd�}|S )N©ZHashZSHA2zSHA512ShortMsg.rspzKAT SHA-512Úlenc                 S   s   t | ƒS ©N©Úint©Úx© r   úc/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/Crypto/SelfTest/Hash/test_SHA512.pyÚ<lambda>:   ó    z"get_tests_SHA512.<locals>.<lambda>ú[r   r   r   é@   z2.16.840.1.101.3.4.2.3)Údigest_sizeÚoid)r   Útest_data_512_otherÚ
startswithÚAttributeErrorr   ÚmsgÚappendr   ÚmdÚdescr   r   ©Ztest_vectorsZ	test_dataÚtvÚtestsr   r   r   Úget_tests_SHA5125   s,    
ýý

þr#   c               	   C   s–   t dddddd„ iƒpg } g }| D ]V}z| d¡r6W q"W n tk
rL   Y nX |jdkr^d	|_| t|jƒ|j|jf¡ q"t	t
d
|ddddid�}|S )Nr
   zSHA512_224ShortMsg.rspzKAT SHA-512/224r   c                 S   s   t | ƒS r   r   r   r   r   r   r   R   r   z&get_tests_SHA512_224.<locals>.<lambda>r   r   r   z
SHA512/224é   z2.16.840.1.101.3.4.2.5ÚtruncateZ224©r   r   Zextra_params©r   r   r   r   r   r   r   r   r   r   r   r    r   r   r   Úget_tests_SHA512_224M   s.    
ýý

ýr(   c               	   C   s–   t dddddd„ iƒpg } g }| D ]V}z| d¡r6W q"W n tk
rL   Y nX |jdkr^d	|_| t|jƒ|j|jf¡ q"t	t
d
|ddddid�}|S )Nr
   zSHA512_256ShortMsg.rspzKAT SHA-512/256r   c                 S   s   t | ƒS r   r   r   r   r   r   r   k   r   z&get_tests_SHA512_256.<locals>.<lambda>r   r   r   z
SHA512/256é    z2.16.840.1.101.3.4.2.6r%   Ú256r&   r'   r    r   r   r   Úget_tests_SHA512_256f   s.    
ýý

ýr+   c                 C   s&   g }|t ƒ 7 }|tƒ 7 }|tƒ 7 }|S r   )r#   r(   r+   )Úconfigr"   r   r   r   Ú	get_tests   s
    


r-   Ú__main__Nc                   C   s   t  tƒ ¡S r   )ÚunittestZ	TestSuiter-   r   r   r   r   r   ‰   r   r   Úsuite)ZdefaultTest)Ú__doc__Úbinasciir   ZCrypto.Hashr   Úcommonr   ZCrypto.SelfTest.loaderr   r   r#   r(   r+   r-   Ú__name__r/   r0   Úmainr   r   r   r   Ú<module>   s$   ò