python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_hmac.cpython-311.pyc

e9gddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	ddl
mZ	ddl
Zddl
mZddl
mZddl
mZn#e$rdZdZdZdZYnwxYw	ddlZn
#e$rdZYnwxYwdZGdd	ejZGd
dejZGdd
ejZGddejZGddejZedkrej dSdS)N)hashlib_helpercheck_disallow_instantiation)_compare_digest)HMAC)hmac_new)compare_digestcFtjfd}|S)Nctj5tjdt|i|cdddS#1swxYwYdS)Nignore)category)warningscatch_warningsfilterwarningsDeprecationWarning)argskwargsfuncs  B/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_hmac.pywrapperzignore_warning.<locals>.wrappers

$
&
&	)	)#H-?
A
A
A
A4(((	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)s#AA	A	)	functoolswraps)rrs` rignore_warningrs8_T)))))
NceZdZdZdZejdddZejdddZd	Z	ejd
ddZ
ejddd
ZejdddZejdddZ
ejddZdZdZdS)TestVectorsTestCasec|||||t	j|||jd|||j|||j|dS)Nzhmac-)	assertEqual	hexdigestupperdigestbinascii	unhexlifynamedigest_size
block_size)selfhr hashnamer$r%s      rassert_hmac_internalsz)TestVectorsTestCase.assert_hmac_internals*s	
,,..???X%7%?%?@@@!3!3!3444444z22222rc	tj|||}||||||tj|||}||||||tj||}|}	|	d|||||tj|||}||||||tj|d|}|||||tj||}|||||tj|||}||||tj	|||tj||tj	|||tj|tjtj}|
|||||||||tet|||}||||||t||}|}	|	d|||||tt d|}
t|||
}||||||tjtj}||||||||||dSdS)N	digestmodstest update)r openssl_)hmacrr)copyupdaterrrnewr r!r"__new__	_init_old
c_hmac_newgetattr_hashopenssl
_init_hmac)r&keydatar hashfuncr(r$r%r'h2rs           rassert_hmaczTestVectorsTestCase.assert_hmac3sO
Ic48444""
vxj	
	
	

Ic48444""
vxj	
	
	

IcX...
VVXX
		.!!!	,,..???HS$(333""
vxj	
	
	

HS$(333	,,..???HSH---	,,..???HS$(333,,..???KT(333v&&	
	
	
	
KT(333v&&	
	
	


Idi((	C222""
vxj	
	
	
!3999A&&68[*


3(333ABIIn%%%
HHTNNNQ[[]]0022FLLNNCCC<)>H)>)>??D3555A&&68[*


	!!$),,A
LLdhL777&&68[*




)"!rmd5T)opensslcfd}|ddd|ddd|dd	d
|ttddd
d|ddd|ddd|ddddS)Nc	T|||tjddddS)Nr=@r:r(r$r%)r<hashlibr=r8r9r r&s   rmd5testz5TestVectorsTestCase.test_md5_vectors.<locals>.md5tests?T6 





rHi There 9294727A3638BB1C13F48EF8158BFC9DJefewhat do ya want for nothing? 750c783e6ab0b503eaa86e310a5db738s2 56be34521d144c88dbb8c733f0e8b3f62 697eaf0aca3a3aea3a75164746ffaa79sTest With Truncation 56461ef2342edc00f9bab995690efd4cP6Test Using Larger Than Block-Size Key - Hash Key First 6b1ab7fe4bd7bf8f0b62e6ce61b9d0cdITest Using Larger Than Block-Size Key and Larger Than One Block-Size Data 6f630fad67cda0ee1fb1f562db3aa53ebytesrange)r&rFs` rtest_md5_vectorsz$TestVectorsTestCase.test_md5_vectors}s
						2	4	4	4	/2	4	4	4	2	4	4	4	eArll##2	4	4	4	'2	4	4	4	I2	4	4	4	82	4	4	4	4	4rsha1cfd}|ddd|ddd|dd	d
|ttddd
d|ddd|ddd|ddddS)Nc	T|||tjddddS)Nr^rBrC)r<rDr^rEs   rshatestz5TestVectorsTestCase.test_sha_vectors.<locals>.shatests?T6 





rrH(b617318655057264e28bc0b6fb378c8ef146be00rJrK(effcdf6ae5eb2fa2d27416d5f184df9c259a7c79rM(125d7342b9ac11cd91a39af48aa17b4f63f175d3rOrPrQ(4c9007f4026250c6bc8414f9bf50c86c2d7235dasrS(4c1a03424b55e07fe7f27be1d58bb9324a9a5a04rUrV(aa4ae5e15272d00e95705637ce8a3b55ed402112rX(e8e99d0f45237d786d6bbaa7965c7808bbff1a91rZ)r&rbs` rtest_sha_vectorsz$TestVectorsTestCase.test_sha_vectorss
						:	<	<	<	/:	<	<	<	:	<	<	<	eArll##:	<	<	<	':	<	<	<	I:	<	<	<	8:	<	<	<	<	<rcTfd}|ddtjdtjdtjdtjdi|d	d
tjdtjdtjd
tjdi|ddtjdtjdtjdtjdi|tdt
ddDdtjdtjdtjdtjdi|ddtjdtjd tjd!tjd"i|dd#tjd$tjd%tjd&tjd'idS)(Nc	P|}|||dS)NrC)r<)	r8r9
hexdigestsr r%r$	hash_namer:r&s	    rhmactestz9TestVectorsTestCase._rfc4231_test_cases.<locals>.hmactestsG)FT6!"'%





rrcrH8896fb1128abbdf196832107cd49df33f47b4b1169912ba4f53684b22@b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7`afd03944d84895626b0825f4ab46907f15f9dadbe4101ec682aa034c7cebc59cfaea9ea9076ede7f4af152e8b2fa9cb6ڀ87aa7cdea5ef619d4ff0b4241a1d6cb02379f4e2ce4ec2787ad0b30545e17cdedaa833b7d6b8a702038b274eaea3f4e4be9d914eeb61f1702e696c203a126854)r8r9rorJrK8a30e01098bc6dbbf45690f3a7e9e6d0f8bbea2a39e6148008fd05e44@5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843`af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649ڀ164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737rfrM87fb3cb3588c6c1f6ffa9694d7d6ad2649365b0c1f65d69d1ec8333ea@773ea91e36800e46854db8ebd09181a72959098b3ef8c122d9635514ced565fe`88062608d3e6ad8a0aa2ace014c8a86f0aa635d947ac9febe83ef4e55966144b2a5ab39dc13814b94e3ab6e101a34f27ڀfa73b0089d56a284efb0f0756c890be9b1b5dbdd8ee81a3655f83e33b2279d39bf3e848279a722c806b485a47e67c807b946a337bee8942674278859e13292fbc3K|]}|VdSN).0xs  r	<genexpr>z:TestVectorsTestCase._rfc4231_test_cases.<locals>.<genexpr>s"<<1Q<<<<<<rrOrPrQ86c11506874013cac6a2abc1bb382627cec6a90d86efc012de7afec5a@82558a389a443c0ea4cc819899f2083a85f0faa3e578f8077a2e3ff46729665b`3e8a69b7783c25851933ab6290af6ca77a9981480850009cc5577c6e1f573b4e6801dd23c4a7d679ccf8a386c674cffbڀb0ba465637458c6990e5a8c5f61d4af7e576d97ff94b872de76f8050361ee3dba91ca5c11aa25eb4d679275cc5788063a5f19741120c4f2de2adebeb10a298ddsrV895e9a0db962095adaebe9b2d6f0dbce2d499f112f2d2b7273fa6870e@60e431591ee0b67f0d8a26aacbf5b77f8e0bc6213728c5140546040f0ee37f54`4ece084485813e9088d2c63a041bc5b44f9ef1012a2b588f3cd11f05033ac4c60c2ef6ab4030fe8296248df163f44952ڀ80b24263c7c1a3ebb71493c1dd7be8b49b46d1f41b4aeec1121b013783f8f3526b56d037e05f2598bd0fd2215d6a1e5295e64f73f63f0aec8b915a985d786598sThis is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.83a854166ac5d9f023f54d517d0b39dbd946770db9c2b95c9f6f565d1@9b09ffa71b942fcb27635fbcd5b0e944bfdc63644f0713938a7f51535c3a35e2`6617178e941f020d351e2f254e8fd32c602420feb0b8fb9adccebb82461e99c5a678cc31e799176d3860e6110c46523eڀe37b6a775dc87dbaa4dfa9f96e5e3ffddebd71f8867289865df5a32d20cdc944b6022cac3c4982b10d5eeb55c3e4de15134676fb6de0446065c97440fa8c6a58)rDsha224sha256sha384sha512r[r\)r&r:rpr$r%rqs````` r_rfc4231_test_casesz'TestVectorsTestCase._rfc4231_test_casessS																			z#>$>>$F>$F>$F				"	w7>$>>$F>$F>$F				"	z">$>>$F>$F>$F				"	u<<dF(;(;<<<<<">$>>$F>$F>$F				"	{2>$>>$F>$F>$F				$	{4>$>>$F>$F>$F
						rrcJ|tjddddS)NrrB)rrDrr&s rtest_sha224_rfc4231z'TestVectorsTestCase.test_sha224_rfc4231F$  2rBBBBBrrcJ|tjddddS)Nr rB)rrDrrs rtest_sha256_rfc4231z'TestVectorsTestCase.test_sha256_rfc4231JrrrcJ|tjddddS)Nr0)rrDrrs rtest_sha384_rfc4231z'TestVectorsTestCase.test_sha384_rfc4231N$  2sCCCCCrrcJ|tjddddS)NrrBr)rrDrrs rtest_sha512_rfc4231z'TestVectorsTestCase.test_sha512_rfc4231Rrrc>Gddt}tj5tjdt|t5t
jdd||ddddn#1swxYwYd|_	|t5t
jdd||d	dddn#1swxYwYddddS#1swxYwYdS)
Nc$eZdZdZdZdZdZdS)JTestVectorsTestCase.test_legacy_block_size_warnings.<locals>.MockCrazyHashz#Ain't no block_size attribute here.cNtj||_|jj|_dSr)rDr_xr$)r&rs  r__init__zSTestVectorsTestCase.test_legacy_block_size_warnings.<locals>.MockCrazyHash.__init__Zs#!.$/#'7#6   rc:|j|dSr)rr0)r&vs  rr0zQTestVectorsTestCase.test_legacy_block_size_warnings.<locals>.MockCrazyHash.update]sq!!!!!rc4|jSr)rr rs rr zQTestVectorsTestCase.test_legacy_block_size_warnings.<locals>.MockCrazyHash.digest_sw~~'''rN)__name__
__module____qualname____doc__rr0r rrr
MockCrazyHashrXsG55
7
7
7
"
"
"
(
(
(
(
(rrerrorabr+z)Expected warning about missing block_sizerOz'Expected warning about small block_size)
objectr
rsimplefilterRuntimeWarningassertRaisesr.rfailr%)r&rs  rtest_legacy_block_size_warningsz3TestVectorsTestCase.test_legacy_block_size_warningsVs	(	(	(	(	(F	(	(	(
$
&
&		E		E!'>:::"">22
G
G	$
>>>>		EFFF
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G()M$"">22
E
E	$
>>>>		CDDD
E
E
E
E
E
E
E
E
E
E
E
E
E
E
E		E		E		E		E		E		E		E		E		E		E		E		E		E		E		E		E		E		EsY5D-B	DB	DB	$D-C:.D:C>	>DC>	DDDc|td5d}d}tj||ddddn#1swxYwY|td5tj||dddn#1swxYwY|td5tj||dddddS#1swxYwYdS)z5The digestmod parameter is required as of Python 3.8.zrequired.*digestmodrGrHNr+)msgr,)assertRaisesRegex	TypeErrorr.rr1)r&r8r9s   rtest_with_digestmod_no_defaultz2TestVectorsTestCase.test_with_digestmod_no_defaultms

#
#I/E
F
F	1	1CDIc440000	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
#
#I/E
F
F	 	 HS$	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 

#
#I/E
F
F	3	3Ictr2222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3s5AAA*BBB2CCCc.ttd}	tj|d<tjddd}d}||||ddS#|dwxYw)N__builtin_constructor_cachefookeysmessage@6e9ef29b75fffc5b7abae527d58fdadb2fe42e7219011976917343065f58ed4a)r5rDrr.r hexrpop)r&cacherexpecteds    rtest_with_fallbackz&TestVectorsTestCase.test_with_fallbackxs!>??	">E%LFJ>>BBDDIYHY111IIeEIIesAA==BN)rrrr)r<rrequires_hashdigestr]rlrrrrrrrrrrrrr(s333HHHT(^'t<<<'4'4=<'4R(^'===%<%<>=%<Nuuun(^'$???CC@?C(^'$???CC@?C(^'$???DD@?D(^'$???DD@?D(^'11EE21E,	3	3	3rrceZdZdZejddZejddZejddZejddZ	ejddZ
ejddZejdd	Ze
jed
uddZe
jed
ud
dZd
S)ConstructorTestCase@6c845b47f52b3b47f6590c502db7825aad757bf4fadc8fa972f7cd2e76a5bdebrc	tjdddS#t$r|dYdSwxYw)Nrrr+z+Standard constructor call raised exception.)r.r	Exceptionrrs rtest_normalzConstructorTestCase.test_normals^	EIf111111	E	E	EIICDDDDDD	Es==c|t5tjdd}ddddS#1swxYwYdSNr8rr+)rrr.rr&r's  rtest_with_str_keyz%ConstructorTestCase.test_with_str_keys

y
)
)	5	5	%8444A	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5?AAc|t5tjdd}ddddS#1swxYwYdSr)rrr.r1rs  rtest_dot_new_with_str_keyz-ConstructorTestCase.test_dot_new_with_str_keys

y
)
)	4	4(333A	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4	4rc	tjddd}n%#t$r|dYnwxYw|||jdS)Nr
hash this!rr+z5Constructor call with text argument raised exception.)r.rrrrrrrs  r
test_withtextz!ConstructorTestCase.test_withtexts~	O	&-8DDDAA	O	O	OIIMNNNNN	O
66666s<<c	tjtdtdd}n%#t$r|dYnwxYw|||jdS)Nrrrr+z;Constructor call with bytearray arguments raised exception.)r.r	bytearrayrrrrrrs  rtest_with_bytearrayz'ConstructorTestCase.test_with_bytearrays	U	)F++Y}-E-E$,...AA	U	U	UIISTTTTT	U
66666s14AAc	tjdtdd}n%#t$r|dYnwxYw|||jdS)Nrrrr+z6Constructor call with memoryview msg raised exception.)r.r
memoryviewrrrrrrs  rtest_with_memoryview_msgz,ConstructorTestCase.test_with_memoryview_msgs	P	&*]";";xPPPAA	P	P	PIINOOOOO	P
66666s$'A	A	c	tjddtj}dS#t$r|dYdSwxYw)Nrrz6Constructor call with hashlib.sha256 raised exception.)r.rrDrrrrs  rtest_withmodulez#ConstructorTestCase.test_withmodules\	P	&#w~66AAA	P	P	PIINOOOOOO	Ps $AANz
need _hashlibct|t|td5dt_ddddS#1swxYwYdS)Nzimmutable type)rC_HMACrrvaluers rtest_internal_typesz'ConstructorTestCase.test_internal_typess	%T6222

#
#I/?
@
@	 	 FL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s
AAAzneed _sha256crtjddtj}|||j||jdtjddtj}||tj
|jdS)Nrrr+zhmac-sha256)r.r
sha256_modulerrrrr#r r!r")r&r'r s   rtest_with_sha256_modulez+ConstructorTestCase.test_with_sha256_modulesIfm}7KLLL
666///V]M4HII!3DM!B!BCCCCCr)rrrrrrrrrrrrrunittest
skipUnlessrrrrrrrrrs	K
(^'11EE21E(^'1155215(^'1144214(^'1177217(^'1177217(^'1177217(^'11PP21PXt+_==  >= Xd2NCCDDDCDDDrrc@eZdZejddZdS)SanityTestCaserc"	tjdd}|d|||dS#t$r|dYdSwxYw)Ns
my secret keyrr+scompute the hash of this text!z3Exception raised during normal usage of HMAC class.)r.rr0r rr/rrrs  rtest_exercise_all_methodsz(SanityTestCase.test_exercise_all_methodss	M	*h???A
HH6777
HHJJJ
KKMMM
FFHHHHH	M	M	MIIKLLLLLL	MsA'A++B
BN)rrrrrrrrrrrs@'^'11
M
M21
M
M
Mrrc:eZdZejddZejddZeje	dudejddZ
ejddZejddZdS)	CopyTestCaserctjtj}|ddd|}|t
|jt
|jd|t
|jt
|jddS)Nrmsgrr+zTypes of inner don't match.zTypes of outer don't match.)	r.rr2r3r/rtype_inner_outerr&h1r;s   rtest_attributes_oldz CopyTestCase.test_attributes_oldsY

ty
)
)
VVx888
WWYYbi$ry//)	+	+	+bi$ry//)	+	+	+	+	+rcFtjtj}|ddd|}|t
|t
|kd|t
|jt
|jkd|t
|jt
|jkd|	|j
ddS)Nrrrr+"No real copy of the HMAC instance.z&No real copy of the attribute 'inner'.z&No real copy of the attribute 'outer'.)r.rr2r3r/
assertTrueidrrassertIs_hmacrs   rtest_realcopy_oldzCopyTestCase.test_realcopy_oldsY

ty
)
)
VVx888
WWYY2"R&&(*NOOO29

BI64	6	6	629

BI64	6	6	6

bh%%%%%rNztest requires _hashopensslc*tjtj}|ddd|}|t
|jt
|jkdS)Nrrrr+)r.rr2r7r/rrrrs   rtest_realcopy_hmaczCopyTestCase.test_realcopy_hmacsmY

ty
)
)


ff
999
WWYY2828455555rcptjdd}|d|}|||d|||ddS)Nrrr+some random text-Digest of copy doesn't match original digest.3Hexdigest of copy doesn't match original hexdigest.)r.rr0r/rr rrs   r
test_equalityzCopyTestCase.test_equalitysYv
2
2
2
		%&&&
WWYYbiikk;	=	=	=A	C	C	C	C	Crctjdd}|d|}|t|t|kd|||d|||ddS)Nrrr+rrrr)	r.r1r0r/rrrr rrs   rtest_equality_newzCopyTestCase.test_equality_newsXf
1
1
1
		%&&&
WWYYrFFbffB	
	
	
	
biikk;	=	=	=A	C	C	C	C	Cr)
rrrrrrrrskipIfr6rrr
rrrrrs'^'11++21+(^'11&&21&X_\T)+GHH'^'116621IH6(^'11CC21C(^'11CC21CCCrrcXeZdZdZdZejeduddZdZ	dS)CompareDigestTestCasec|tjt'|tjtdS|tjt
dSr)_test_compare_digestr.ropenssl_compare_digestroperator_compare_digestrs rtest_hmac_compare_digestz.CompareDigestTestCase.test_hmac_compare_digest!s[!!$"5666!-MM$-/EFFFFFMM$-/FGGGGGrc:|tdSr)rrrs rtest_operator_compare_digestz2CompareDigestTestCase.test_operator_compare_digest(s!!"9:::::rNztest requires _hashlibc:|tdSr)rrrs rtest_openssl_compare_digestz1CompareDigestTestCase.test_openssl_compare_digest+s!!"899999rc"d\}}|t|||d\}}|t|||d\}}|t|||d\}}|t|||d\}}|t|||d\}}||||d\}}||||d\}}||||d	\}}||||d
\}}||||d\}}||||t	dt	d}}||||t	dt	d
}}||||t	dt	d}}||||t	dd}}||||||||t	dd
}}||||||||t	dd}}||||||||d\}}||||d\}}||||d\}}||||d\}}|t|||d\}}|t|||d\}}|t|||d\}}|t|||d\}}|t|||Gddt
}|d|d}}|||||dd}}|||||d|d}}||||Gddt}|d|d}}|||||dd}}|||||d|d}}||||dS)N)d)rfoobar)rr)foobarr)rr)rfoo)ޭsޭ)rfoobaz)rs)rr)rrrrr)rr)rr)rfoobaz)rrO)fooär ceZdZdZdS)9CompareDigestTestCase._test_compare_digest.<locals>.mystrcdSNFrr&others  r__eq__z@CompareDigestTestCase._test_compare_digest.<locals>.mystr.__eq__urNrrrr'rrrmystrr"#




rr*rrceZdZdZdS);CompareDigestTestCase._test_compare_digest.<locals>.mybytescdSr$rr%s  rr'zBCompareDigestTestCase._test_compare_digest.<locals>.mybytes.__eq__r(rNr)rrrmybytesr-r+rr/)rrassertFalserrstrr[)r&rabr*r/s      rrz*CompareDigestTestCase._test_compare_digest/s#1)^Q:::1)^Q:::1)^Q:::"1)^Q:::"1)^Q:::!11--.../11--...$11--...711--...$1q!,,---71q!,,---##Yy%9%91q!,,---##Yv%6%611--...##Yy%9%911--...##Y1q!,,---q!,,---##V11--...1--...##Y11--...1--..."1q!,,---11--..."11--...#1)^Q:::"1)^Q:::1)^Q:::1)^Q:::1)^Q:::					C			uXh1q!,,---uX1q!,,---uXh11--...					e			wy!!779#5#51q!,,---wy!!91q!,,---wy!!779#5#511--.....r)
rrrrrrrrrrrrrr
r
s{HHH;;;X_+t35MNN::ON:g/g/g/g/g/rr
__main__)!r!rr.rDr
unittest.mockr
test.supportrr	_operatorrr_hashlibr6rrrr4rrImportError_sha256rrTestCaserrrrr
rmainrrr<module>r=svEEEEEEEE@@@@@@	"####''''''//////AAAAAAA"""L
FJ!	"#####MMMXXXXX(+XXXv
LDLDLDLDLD(+LDLDLD^
M
M
M
M
MX&
M
M
M :C:C:C:C:C8$:C:C:Czw/w/w/w/w/H-w/w/w/tzHMOOOOOs#A
AAAA&%A&