hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Ë
ž¬`i¢Eãó°—dZddlZddlmZmZmZddlmZddlm    Z    Gd„d«Z
e
fd„Z Gd    „d
ej«Z Gd „d e «ZGd „dej«ZGd„dej«ZGd„dej«ZGd„dej«ZGd„dej«ZGd„dej«Ze«fd„Zd„Zy)z&Self-testing for PyCrypto hash moduleséN)Úa2b_hexÚb2a_hexÚhexlify)Úb)Ústrxor_ccó —eZdZy)Ú
_NoDefaultN)Ú__name__Ú
__module__Ú __qualname__©óõpH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Cipher/common.pyr    r    !s…rr    cóL—    ||}||=|S#t$r|tur‚|cYSwxYw)zAGet an item from a dictionary, and remove it from the dictionary.)ÚKeyErrorr    )ÚdÚkÚdefaultÚretvals    rÚ_extractr"s?€ðؐ1‘ˆð
    
ˆ!ˆØ €Møô òØ ”jÑ  Ø ØŠðús ‚ Œ#¢#có*—eZdZd„Zd„Zd„Zd„Zd„Zy)ÚCipherSelfTestcó¨—tjj|«||_|j    «}t |d«|_tt |d««|_tt |d««|_    tt |d««|_
t |dd«|_ t |dd«|_ t |dd«|_ |jrt|j«|_ t |dd«}t|«|_||t!|jd    |z«|_t |d
d«|_|j$€t |d d«|_|j$at|j$«|_||_yd|_t |d
d«|_|j$t|j$«|_||_y© NÚ descriptionÚkeyÚ    plaintextÚ
ciphertextÚ module_nameÚ
assoc_dataÚmacÚmodeÚMODE_ÚivÚnonce©ÚunittestÚTestCaseÚ__init__ÚmoduleÚcopyrrrrrrrr r!ÚstrÚ    mode_nameÚgetattrr"r$Ú extra_params©Úselfr*Úparamsr"s    rr)zCipherSelfTest.__init__0st€Ü×Ñ×"Ñ" 4Ô(؈Œ ð—‘“ˆÜ# F¨MÓ:ˆÔÜ”X˜f eÓ,Ó-ˆŒÜœ8 F¨KÓ8Ó9ˆŒÜœH V¨\Ó:Ó;ˆŒÜ# F¨M¸4Ó@ˆÔÜ" 6¨<¸Ó>ˆŒÜ˜F E¨4Ó0ˆŒØ ?Š?ܘŸ™“{ˆDŒH䘠¨Ó-ˆÜ˜T›ˆŒà Ð ä § ¡ ¨W°t©^Ó<ˆDŒIä˜v t¨TÓ2ˆDŒG؏w‰wˆÜ" 6¨7°DÓ9”؏w‰wÐ"ܘDŸG™G›*”ð#ˆÕð ˆDŒIܘv t¨TÓ2ˆDŒG؏w‰wÐ"ܘDŸG™G›*”à"ˆÕrcó—|jS©N)r©r1s rÚshortDescriptionzCipherSelfTest.shortDescriptionVs€Ø×ÑÐrcó —|jj«}t|j«}g}|j |jg}|j
|t|j
«gz }|j j|g|¢­i|¤ŽSr4©r/r+rrr"r$r*Únew©r1r2rÚ    old_styles    rÚ_newzCipherSelfTest._newYó}€Ø×"Ñ"×'Ñ'Ó)ˆÜd—h‘hÓˆàˆ    Ø 9‰9Ð  ØŸ)™)˜ ˆIØ 7‰7Ð Ø œ7 4§7¡7Ó+Ð-Ñ -ˆIàˆt{‰{‰˜sÐ9 YÒ9°&Ñ9Ð9rcó‚—t|jd|z«sy|jt|jd|z«k(S)Nr#F)Úhasattrr*r"r.)r1Únames  rÚisModezCipherSelfTest.isModees5€Üt—{‘{ G¨D¡LÔ1ØØy‰yœG D§K¡K°¸±Ó>Ñ>Ð>rcó†—t|j«}t|j«}g}|jr+|jDcgc]}tt    |««‘Œ}}d}d}t d«D]©}|j «}|j «}    |D]$}
|j|
«|    j|
«Œ&t|j|««} t|    j|««} |r$|j|| «|j|| «| | }}Œ«|j|j|«|j|j|«|jrZtj««} |j|j| «    jt|j««yycc}w)Né)rrrr rÚranger<ÚupdaterÚencryptÚdecryptÚ assertEqualr!ÚdigestÚverify)r1rrr ÚxÚctÚptÚiÚcipherÚdecipherÚcompÚctXÚptXr!s              rÚrunTestzCipherSelfTest.runTestjsr€Ü˜DŸN™NÓ+ˆ    Ü˜TŸ_™_Ó-ˆ
؈
Ø ?Š?Ø26·/±/ÖB¨Qœ7¤1 Q£4=ÐBˆJÐBà ˆØ ˆô q“ò    ˆAØ—Y‘Y“[ˆFØ—y‘y“{ˆHð#ò &Ø— ‘ ˜dÔ#Ø—‘ Õ%ð &ô˜&Ÿ.™.¨Ó3Ó4ˆCܘ(×*Ñ*¨:Ó6Ó7ˆCáØ× Ñ   SÔ)Ø× Ñ   SÔ)ؘ#‰Bð    ð"     ×јŸ™¨"Ô-Ø ×јŸ™¨Ô,à 8Š8ܘ&Ÿ-™-›/Ó*ˆCØ × Ñ ˜TŸX™X sÔ +Ø O‰OœG D§H¡HÓ-Õ .ð ùò;CsÁF>N)r
r r r)r6r<rArTr rrrr.s„ò$#òL ò
:ò?ó
%/rrcó—eZdZd„Zd„Zy)ÚCipherStreamingSelfTestcób—|j}|j|d|j›dz }|›dS)Nz in z modez# should behave like a stream cipher)rr"r-)r1Údescs  rr6z(CipherStreamingSelfTest.shortDescription“s1€Ø×ÑˆØ 9‰9Ð  Ù  T§^£^Ð5Ñ 5ˆDÚ:>Ð@Ð@rc    ó —t|j«}t|j«}g}|j«}t    dt |«d«D](}|j |j|||dz««Œ*ttd«j|««}|j|j|«g}|j«}t    dt |«d«D](}|j |j|||dz««Œ*ttd«j|««}|j|j|«y)NréÚ) rrrr<rDÚlenÚappendrFrrÚjoinrH)r1rrÚct3rOrNÚpt3s       rrTzCipherStreamingSelfTest.runTest™s€Ü˜DŸN™NÓ+ˆ    Ü˜TŸ_™_Ó-ˆ
ð
ˆØ—‘“ˆÜqœ#˜i›.¨!Ó,ò    9ˆAØ J‰Jv—~‘~ i°°!°A±#Ð&6Ó7Õ 8ð    9ä”a˜“e—j‘j “oÓ&ˆØ ×јŸ™¨#Ô.ðˆØ—‘“ˆÜqœ#˜j›/¨1Ó-ò    :ˆAØ J‰Jv—~‘~ j°°1°Q±3Ð&7Ó8Õ 9ð    :ô”a˜“e—j‘j “oÓ&ˆØ ×јŸ™¨Õ-rN)r
r r r6rTr rrrVrV‘s „òAó .rrVcó—eZdZd„Zd„Zd„Zy)Ú RoundtripTestcó—ddlm}tjj    |«||_|j |j«|_t|d«|_
dt|d«z|_ |jdd«|_ y)Nr)ÚRandomrédrr)ÚCryptordr'r(r)r*Úget_random_bytesÚ
block_sizer$rrrÚgetr)r1r*r2rds    rr)zRoundtripTest.__init__²sq€Ý!Ü×Ñ×"Ñ" 4Ô(؈Œ Ø×)Ñ)¨&×*;Ñ*;Ó<ˆŒÜV˜E‘]Ó#ˆŒØœq ¨ Ñ!4Ó5Ñ5ˆŒØ!Ÿ:™: m°TÓ:ˆÕrcó —|j›dS)Nz6 .decrypt() output of .encrypt() should not be garbled)rr5s rr6zRoundtripTest.shortDescription»s€ØQU×QaÓQaÐcÐcrcó|—|jj}|jjt|j«|«}|j |j «}|jjt|j«|«}|j|«}|j|j |«yr4)    r*ÚMODE_ECBr9rrrFrrGrH)r1r"Úencryption_cipherrÚdecryption_cipherÚdecrypted_plaintexts      rrTzRoundtripTest.runTest¾s‰€ð{‰{×#Ñ#ˆØ ŸK™KŸO™O¬G°D·H±HÓ,=¸tÓDÐØ&×.Ñ.¨t¯~©~Ó>ˆ
Ø ŸK™KŸO™O¬G°D·H±HÓ,=¸tÓDÐØ/×7Ñ7¸
ÓCÐØ ×јŸ™Ð)<Õ=rN)r
r r r)r6rTr rrrbrb±s„ò;òdó>rrbcó$—eZdZd„Zd„Zd„Zd„Zy)Ú IVLengthTestcóv—tjj|«||_t    |d«|_y©Nr©r'r(r)r*rr©r1r*r2s   rr)zIVLengthTest.__init__Êó-€Ü×Ñ×"Ñ" 4Ô(؈Œ ܐV˜E‘]Ó#ˆrcó—y)NzTCheck that all modes except MODE_ECB and MODE_CTR require an IV of the proper lengthr r5s rr6zIVLengthTest.shortDescriptionÏs€Øerc    ó¾—|jt|jjt    |j
«|jj td««y)Nr[)Ú assertRaisesÚ    TypeErrorr*r9rrrlrr5s rrTzIVLengthTest.runTestÒs:€Ø ×Ñœ) T§[¡[§_¡_´g¸d¿h¹hÓ6GØ— ‘ ×$Ñ$¤a¨£eõ    -rcó4—d|jjzS)Nú)r*rhr5s rÚ_dummy_counterzIVLengthTest._dummy_counterÖs€Ød—k‘k×,Ñ,Ñ,Ð,rN)r
r r r)r6rTr}r rrrqrqÉs„ò$ò
fò-ó-rrqcó—eZdZd„Zd„Zy)ÚNoDefaultECBTestcóv—tjj|«||_t    |d«|_yrsrtrus   rr)zNoDefaultECBTest.__init__Ûrvrcó€—|jt|jjt    |j
««yr4)ryrzr*r9rrr5s rrTzNoDefaultECBTest.runTestàs%€Ø ×Ñœ) T§[¡[§_¡_´g¸d¿h¹hÓ6GÕHrN©r
r r r)rTr rrrrÚs „ò$ó
Irrcó—eZdZd„Zd„Zy)Ú BlockSizeTestcóˆ—tjj|«||_t    t |d««|_yrs)r'r(r)r*rrrrus   rr)zBlockSizeTest.__init__ås2€Ü×Ñ×"Ñ" 4Ô(؈Œ Üœ1˜V E™]Ó+Ó,ˆrcóؗ|jj|j|jj«}|j    |j
|jj
«yr4)r*r9rrlrHrh)r1rOs  rrTzBlockSizeTest.runTestêsD€Ø—‘—‘ §¡¨4¯;©;×+?Ñ+?Ó@ˆØ ×ј×*Ñ*¨D¯K©K×,BÑ,BÕCrNr‚r rrr„r„äs „ò-ó
Drr„có"—eZdZdZd„Zd„Zd„Zy)Ú ByteArrayTestz;Verify we can use bytearray's for encrypting and decryptingcó¨—tjj|«||_|j    «}t |d«|_tt |d««|_tt |d««|_    tt |d««|_
t |dd«|_ t |dd«|_ t |dd«|_ |jrt|j«|_ t |dd«}t|«|_||t!|jd    |z«|_t |d
d«|_|j$€t |d d«|_|j$at|j$«|_||_yd|_t |d
d«|_|j$t|j$«|_||_yrr&r0s    rr)zByteArrayTest.__init__òót€Ü×Ñ×"Ñ" 4Ô(؈Œ ð—‘“ˆÜ# F¨MÓ:ˆÔÜ”X˜f eÓ,Ó-ˆŒÜœ8 F¨KÓ8Ó9ˆŒÜœH V¨\Ó:Ó;ˆŒÜ# F¨M¸4Ó@ˆÔÜ" 6¨<¸Ó>ˆŒÜ˜F E¨4Ó0ˆŒØ ?Š?ܘŸ™“{ˆDŒH䘠¨Ó-ˆÜ˜T›ˆŒà Ð ä § ¡ ¨W°t©^Ó<ˆDŒIä˜v t¨TÓ2ˆDŒG؏w‰wˆÜ" 6¨7°DÓ9”؏w‰wÐ"ܘDŸG™G›*”ð#ˆÕð ˆDŒIܘv t¨TÓ2ˆDŒG؏w‰wÐ"ܘDŸG™G›*”à"ˆÕrcó —|jj«}t|j«}g}|j |jg}|j
|t|j
«gz }|j j|g|¢­i|¤ŽSr4r8r:s    rr<zByteArrayTest._newr=rc
óR—t|j«}t|j«}g}|jr4|jDcgc]}t    tt |«««‘Œ!}}|j «}|j «}|D]$}|j|«|j|«Œ&t|jt    |«««}t|jt    |«««}    |j|j|«|j|j|    «|jrct|j««}
|j|j|
«|jt    t|j«««yycc}wr4)rrrr Ú    bytearrayrr<rErrFrGrHr!rIrJ© r1rrr rKrOrPrQrLrMr!s            rrTzByteArrayTest.runTest#s9€ä˜DŸN™NÓ+ˆ    Ü˜TŸ_™_Ó-ˆ
؈
Ø ?Š?Ø=A¿_¹_ÖM¸œ9¤W¬Q¨q«T£]Õ3ÐMˆJÐMà—‘“ˆØ—9‘9“;ˆðò    "ˆDØ M‰M˜$Ô Ø O‰O˜DÕ !ð    "ôV—^‘^¤I¨iÓ$8Ó9Ó :ˆÜ X×%Ñ%¤i°
Ó&;Ó<Ó =ˆà ×јŸ™¨"Ô-Ø ×јŸ™¨Ô,à 8Š8ܘ&Ÿ-™-›/Ó*ˆCØ × Ñ ˜TŸX™X sÔ +Ø O‰OœI¤g¨d¯h©hÓ&7Ó8Õ 9ð ùò!NóÁ$F$N©r
r r Ú__doc__r)r<rTr rrrˆrˆïs„ÙEò##òJ
:ó:rrˆcó"—eZdZdZd„Zd„Zd„Zy)ÚMemoryviewTestz;Verify we can use memoryviews for encrypting and decryptingcó¨—tjj|«||_|j    «}t |d«|_tt |d««|_tt |d««|_    tt |d««|_
t |dd«|_ t |dd«|_ t |dd«|_ |jrt|j«|_ t |dd«}t|«|_||t!|jd    |z«|_t |d
d«|_|j$€t |d d«|_|j$at|j$«|_||_yd|_t |d
d«|_|j$t|j$«|_||_yrr&r0s    rr)zMemoryviewTest.__init__BrŠrcó —|jj«}t|j«}g}|j |jg}|j
|t|j
«gz }|j j|g|¢­i|¤ŽSr4r8r:s    rr<zMemoryviewTest._newgr=rc
óR—t|j«}t|j«}g}|jr4|jDcgc]}t    tt |«««‘Œ!}}|j «}|j «}|D]$}|j|«|j|«Œ&t|jt    |«««}t|jt    |«««}    |j|j|«|j|j|    «|jrct|j««}
|j|j|
«|jt    t|j«««yycc}wr4)rrrr Ú
memoryviewrr<rErrFrGrHr!rIrJrŽs            rrTzMemoryviewTest.runTestss9€ä˜DŸN™NÓ+ˆ    Ü˜TŸ_™_Ó-ˆ
؈
Ø ?Š?Ø>B¿o¹oÖN¸œ:¤g¬a°«d£mÕ4ÐNˆJÐNà—‘“ˆØ—9‘9“;ˆðò    "ˆDØ M‰M˜$Ô Ø O‰O˜DÕ !ð    "ôV—^‘^¤J¨yÓ$9Ó:Ó ;ˆÜ X×%Ñ%¤j°Ó&<Ó=Ó >ˆà ×јŸ™¨"Ô-Ø ×јŸ™¨Ô,à 8Š8ܘ&Ÿ-™-›/Ó*ˆCØ × Ñ ˜TŸX™X sÔ +Ø O‰OœJ¤w¨t¯x©xÓ'8Ó9Õ :ð ùò!OrNrr rrr“r“?s„ÙEò##òJ
:ó;rr“c
óX—g}d}tt|««D]}||}i}t|«dk(r|\|d<|d<|d<nnt|«dk(r|\|d<|d<|d<|d<nLt|«dk(r&|\|d<|d<|d<|d<}    |j|    «ntd    t|«fz«‚d
|vrd |d
<|j    «}
t |
d«} t |
d«} t |
d«} t |
d
«}t |
dd«}||}n|d k(r |
s    d | ›d | ›}n d | ›d | ›d|
›}d||dz|fz}||d<||d<|j|«|s>|t ||«t||«t||«t||«t||«gz }d}|jt||««Œ|S)NFrZrrréréúUnsupported tuple size %dr"ÚECBúp=ú, k=ú, ú
%s #%d: %sérT) rDr\rEÚAssertionErrorr+rrbrqrrˆr„r]r)r*rÚ    test_dataÚadditional_paramsÚtestsÚextra_tests_addedrNÚrowr2r/Úp2Úp_keyÚ p_plaintextÚ p_ciphertextÚp_modeÚ p_descriptionrr@s                  rÚmake_block_testsr®s€Ø €EØÐÜ ”3y“>Ó "ó75ˆØ˜‰lˆðˆÜ ˆs‹8qŠ=ØILÑ FˆVKÑ   &¨Ñ"6¸¸uº Ü ‹X˜Š]Ø`cÑ ]ˆVKÑ   &¨Ñ"6¸¸u¹ ÀvÈmÒG\Ü ‹X˜Š]ØnqÑ kˆVKÑ   &¨Ñ"6¸¸u¹ ÀvÈmÑG\Ð^jØ M‰M˜,Õ 'ä Ð!<ÄÀCø{Ñ!JÓKÐ Kà˜ÑØ"ˆF6‰Nð[‰[‹]ˆÜ˜˜UÓ#ˆÜ˜r ;Ó/ˆ Ü  LÓ1ˆ ܘ"˜fÓ%ˆÜ   ]°DÓ9ˆ à Ð $Ø'‰KØ uŠ_¢RÚ*5±uÐ=‰Køâ.9º5Á"ÐEˆKؘ{¨A¨a©C°Ð=Ñ=ˆØ $ˆˆ}ÑØ +ˆˆ}ÑØ ‰ Ð'Ô(ñ!Ø Ü˜f fÓ-ܘV VÓ,Ü  ¨Ó0ܘf fÓ-ܘf fÓ-ð ñ ˆEð!%Ð ð     ‰ ”^ F¨FÓ3Ö4ðo75ðr €Lrcó—g}d}tt|««D]l}||}i}t|«dk(r|\|d<|d<|d<nnt|«dk(r|\|d<|d<|d<|d<nLt|«dk(r&|\|d<|d<|d<|d<}|j|«ntd    t|«fz«‚|j    «}    t |    d«}
t |    d«} t |    d«} t |    dd«} | | }n|    s    d
| ›d |
›}n d
| ›d |
›d |    ›}d ||dz|fz}||d<||d<|s-|t ||«gz }|jt||««d}|jt||««|jt||««Œo|S)NFrZrrrr™rršr›rržrŸr r¡rT) rDr\rEr¢r+rrˆr]r“rrV)r*rr£r¥r¦rNr§r2r/r¨r©rªr«r­rr@s                rÚmake_stream_testsr°ÍsÖ€Ø €EØÐÜ ”3y“>Ó "ó+>ˆØ˜‰lˆðˆÜ ˆs‹8qŠ=ØILÑ FˆVKÑ   &¨Ñ"6¸¸uº Ü ‹X˜Š]Ø`cÑ ]ˆVKÑ   &¨Ñ"6¸¸u¹ ÀvÈmÒG\Ü ‹X˜Š]ØnqÑ kˆVKÑ   &¨Ñ"6¸¸u¹ ÀvÈmÑG\Ð^jØ M‰M˜,Õ 'ä Ð!<ÄÀCø{Ñ!JÓKÐ Kð[‰[‹]ˆÜ˜˜UÓ#ˆÜ˜r ;Ó/ˆ Ü  LÓ1ˆ Ü   ]°DÓ9ˆ à Ð $Ø'‰KÚÚ*5±uÐ=‰Kðò/:º5Á"ÐEˆKؘ{¨A¨a©C°Ð=Ñ=ˆØ $ˆˆ}ÑØ +ˆˆ}Ññ!Ø Ü˜f fÓ-ðñ ˆEð L‰Lœ¨°Ó7Ô 8Ø $Ð ð     ‰ ”^ F¨FÓ3Ô4Ø  ‰ Ô,¨V°VÓ<Ö=ðW+>ðX €Lr)r‘r'ÚbinasciirrrÚCrypto.Util.py3compatrÚCrypto.Util.strxorrr    rr(rrVrbrqrr„rˆr“Údictr®r°r rrú<module>rµsÓðñ2-ãß.Ñ.å#Ý'çÑØ%ó    ôa/X×&Ñ&ôa/ôF.˜nô.ô@>H×%Ñ%ô>ô0-8×$Ñ$ô-ô"Ix×(Ñ(ôIôDH×%Ñ%ôDôM:H×%Ñ%ôM:ô`M;X×&Ñ&ôM;ñ`HLÃvó<ó|/r