hyb
2026-01-30 7657e1b2fa251a2ea372710ad75cb395a3c0e374
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
Ë
ž¬`iýOãóê—ddlZddlmZddlmZddlmZmZmZmZddl    m
Z
ddl m Z m Z ddlmZmZmZdZd    Zd
Zd Zd Zd ZdZdZdZdZdZdZdZdZdZ Gd„de!«Z"Gd„de#«Z$Gd„de#«Z%y)éN)ÚHash)ÚRandom)Ú DerSequenceÚDerOctetStringÚ DerObjectIdÚ
DerInteger)ÚAES)ÚpadÚunpad)ÚPBKDF1ÚPBKDF2Úscryptz1.2.840.113549.1.5.3z1.2.840.113549.1.5.6z1.2.840.113549.1.5.10z1.2.840.113549.1.5.11z1.2.840.113549.1.5.13z1.2.840.113549.1.5.12z1.3.6.1.4.1.11591.4.11z1.2.840.113549.2.7z1.2.840.113549.3.7z2.16.840.1.101.3.4.1.2z2.16.840.1.101.3.4.1.22z2.16.840.1.101.3.4.1.42z2.16.840.1.101.3.4.1.6z2.16.840.1.101.3.4.1.26z2.16.840.1.101.3.4.1.46có —eZdZy)Ú    PbesErrorN)Ú__name__Ú
__module__Ú __qualname__©óõbH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/IO/_PBES.pyrrCs„Ørrcó —eZdZdZed„«Zy)ÚPBES1z¼Deprecated encryption scheme with password-based key derivation
    (originally defined in PKCS#5 v1.5, but still present in `v2.0`__).
 
    .. __: http://www.ietf.org/rfc/rfc2898.txt
    cóR—t«j|«}t«j|d«}t«j|d«j}t    «j|d«j
}i}|t k(rddlm}ddl    m
}|}    |}
nc|tk(rddlm}ddl    m } |}    | }
d|d<nD|tk(rddlm} ddl    m
}| }    |}
n*|tk(rddlm} ddl    m } | }    | }
d|d<n t!d    «‚t«j|dd
¬ «} t«j| d«j}| d}t#||d ||    «}|d d|dd }}|
j$||
j&|fi|¤Ž}|j)|«}t+||j,«S)axDecrypt a piece of data using a passphrase and *PBES1*.
 
        The algorithm to use is automatically detected.
 
        :Parameters:
          data : byte string
            The piece of data to decrypt.
          passphrase : byte string
            The passphrase to use for decrypting the data.
        :Returns:
          The decrypted data, as a binary string.
        ré)ÚMD5)ÚDES)ÚARC2é@Úeffective_keylen)ÚSHA1zUnknown OID for PBES1é©Ú nr_elementséNé)rÚdecoderÚpayloadrÚvalueÚ_OID_PBE_WITH_MD5_AND_DES_CBCÚ Crypto.HashrÚ Crypto.CipherrÚ_OID_PBE_WITH_MD5_AND_RC2_CBCrÚ_OID_PBE_WITH_SHA1_AND_DES_CBCr Ú_OID_PBE_WITH_SHA1_AND_RC2_CBCrr ÚnewÚMODE_CBCÚdecryptr Ú
block_size)ÚdataÚ
passphraseÚenc_private_key_infoÚencrypted_algorithmÚencrypted_dataÚpbe_oidÚ cipher_paramsrrÚhashmodÚmodulerr Ú
pbe_paramsÚsaltÚ
iterationsÚkey_ivÚkeyÚivÚcipherÚpts                     rr1z PBES1.decrypt„s €ô +›}×3Ñ3°DÓ9ÐÜ)›m×2Ñ2Ð3GÈÑ3JÓKÐÜ'Ó)×0Ñ0Ð1EÀaÑ1HÓI×QÑQˆä“-×&Ñ&Ð':¸1Ñ'=Ó>×DÑDˆØˆ Ø Ô3Ò 3å 'Ý )؈G؉FØ Ô5Ò 5å 'Ý *؈G؈FØ02ˆMÐ,Ò -Ø Ô6Ò 6å (Ý )؈G؉FØ Ô6Ò 6å (Ý *؈G؈FØ02ˆMÐ,Ò -äÐ3Ó4Ð 4ä “]×)Ñ)Ð*=¸aÑ*@ÈaÐ)ÓPˆ
ÜÓ×&Ñ& z°!¡}Ó5×=Ñ=ˆØ ‘]ˆ
ä˜
 D¨"¨j¸'ÓBˆØ˜˜!*˜f Q R˜jˆRˆà—‘˜C §¡°"ÑF¸ ÑFˆØ ^‰^˜NÓ +ˆÜR˜×*Ñ*Ó+Ð+rN)rrrÚ__doc__Ú staticmethodr1rrrrr}s„ñð ñ:,óñ:,rrcó2—eZdZdZedd„«Zed„«Zy)ÚPBES2z‡Encryption scheme with password-based key derivation
    (defined in `PKCS#5 v2.0`__).
 
    .. __: http://www.ietf.org/rfc/rfc2898.txt.Nc ó    —|€i}|€tj«j}tjd«}|j |«}|€t d|z«‚|jd«r%d}|jd«}|jd«}    nd}|jd«}    d}
|    d    k(r(d
d l    m
} d } | } | j}t}d |d«i}n(|    dk(r)d} t} tj}t}d |d«i}nú|    dk(r)d } t} tj}t}d |d«i}nÌ|    dk(r)d} t} tj}t }d |d«i}nž|    dk(r+d} t} tj"}t$}d|d«i}d}
nn|    dk(r+d } t} tj"}t&}d|d«i}d}
n>|    dk(r+d} t} tj"}t(}d|d«i}d}
nt d|    z«‚t+|j-««d
}||j/dd««}|dk(rÆ|j/dd«}t1j«}t3||| ||¬«}t5t7|«t9|«g«}|dk7rP    t0j:jd |¬!«j<}|jAt5tC|«g««t5tCtD«|g«}n´|dk(r’|j/dd#«}|j/d$d«}|j/d%d&«}tG||| |||«}t5tCtH«t5t7|«t9|«t9|«t9|«g«g«}nt d'|jd&«z«‚| j||fi|¤Ž}|
r|jK|«\}}||z}n%|jMtO||jP««}t5tC|«t7|«g«}t5t5tCtR«t5||g«g«t7|«g«} | jU«S#t>$r t d"«‚wxYw)(a¦    Encrypt a piece of data using a passphrase and *PBES2*.
 
        :Parameters:
          data : byte string
            The piece of data to encrypt.
          passphrase : byte string
            The passphrase to use for encrypting the data.
          protection : string
            The identifier of the encryption algorithm to use.
            The default value is '``PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC``'.
          prot_params : dictionary
            Parameters of the protection algorithm.
 
            +------------------+-----------------------------------------------+
            | Key              | Description                                   |
            +==================+===============================================+
            | iteration_count  | The KDF algorithm is repeated several times to|
            |                  | slow down brute force attacks on passwords    |
            |                  | (called *N* or CPU/memory cost in scrypt).    |
            |                  |                                               |
            |                  | The default value for PBKDF2 is 1 000.        |
            |                  | The default value for scrypt is 16 384.       |
            +------------------+-----------------------------------------------+
            | salt_size        | Salt is used to thwart dictionary and rainbow |
            |                  | attacks on passwords. The default value is 8  |
            |                  | bytes.                                        |
            +------------------+-----------------------------------------------+
            | block_size       | *(scrypt only)* Memory-cost (r). The default  |
            |                  | value is 8.                                   |
            +------------------+-----------------------------------------------+
            | parallelization  | *(scrypt only)* CPU-cost (p). The default     |
            |                  | value is 1.                                   |
            +------------------+-----------------------------------------------+
 
 
          randfunc : callable
            Random number generation function; it should accept
            a single integer N and return a string of random data,
            N bytes long. If not specified, a new RNG will be
            instantiated from ``Crypto.Random``.
 
        :Returns:
          The encrypted data, as a binary string.
        z5^(PBKDF2WithHMAC-([0-9A-Z-]+)|scrypt)And([0-9A-Z-]+)$zUnknown protection %sÚPBKDFÚpbkdf2r!érFz DES-EDE3-CBCr©ÚDES3érAr%z
AES128-CBCr$z
AES192-CBCz
AES256-CBCé z
AES128-GCMÚnonceé Tz
AES192-GCMz
AES256-GCMzUnknown encryption mode '%s'Ú    salt_sizeÚiteration_countiè©Úhmac_hash_moduler r)Ú    digestmodzNo OID for HMAC hash algorithmi@r2Úparallelizationrz Unknown KDF )+rr/ÚreadÚreÚcompileÚmatchÚ
ValueErrorÚ
startswithÚgroupr+rMr0Ú_OID_DES_EDE3_CBCr    Ú_OID_AES128_CBCÚ_OID_AES192_CBCÚ_OID_AES256_CBCÚMODE_GCMÚ_OID_AES128_GCMÚ_OID_AES192_GCMÚ_OID_AES256_GCMÚlistÚvaluesÚgetrr rrrÚHMACÚoidÚKeyErrorÚappendrÚ _OID_PBKDF2rÚ _OID_SCRYPTÚencrypt_and_digestÚencryptr
r2Ú
_OID_PBES2Úencode)!r3r4Ú
protectionÚ prot_paramsÚrandfuncÚpatternÚresÚpbkdfÚpbkdf2_hmac_algoÚenc_algoÚaeadrMÚkey_sizer;Ú cipher_modeÚenc_oidÚ    enc_paramÚiv_noncer=ÚcountrVr@Ú pbkdf2_paramsÚhmac_oidÚkdf_infoÚscrypt_rÚscrypt_prBÚctÚtagr7Úenc_infor5s!                                 rrqz PBES2.encryptÈs€ð^ Р؈Kà Ð Ü—z‘z“|×(Ñ(ˆHä—*‘*ÐUÓVˆØm‰m˜JÓ'ˆØ ˆ;ÜÐ4°zÑAÓBÐ Bà ×  Ñ   Ô )؈EØ"Ÿy™y¨›|Ð Ø—y‘y “|‰HàˆEØ—y‘y “|ˆHàˆØ ~Ò %Ý *؈H؈FØŸ-™-ˆKÜ'ˆGØ™x¨›{Ð+ŠIØ ˜Ò %؈H܈FÜŸ,™,ˆKÜ%ˆGØ™x¨›|Ð,‰IØ ˜Ò %؈H܈FÜŸ,™,ˆKÜ%ˆGØ™x¨›|Ð,‰IØ ˜Ò %؈H܈FÜŸ,™,ˆKÜ%ˆGØ™x¨›|Ð,‰IØ ˜Ò %؈H܈FÜŸ,™,ˆKÜ%ˆGØ ¡(¨2£,Ð/ˆI؉DØ ˜Ò %؈H܈FÜŸ,™,ˆKÜ%ˆGØ ¡(¨2£,Ð/ˆI؉DØ ˜Ò %؈H܈FÜŸ,™,ˆKÜ%ˆGØ ¡(¨2£,Ð/ˆI؉DäÐ;¸hÑFÓGÐ G䘠   ×(Ñ(Ó*Ó+¨AÑ.ˆÙ˜ Ÿ™¨ °QÓ7Ó8ˆð HÒ à—O‘OÐ$5°tÓ<ˆEÜŸ™Ð!1Ó2ˆIä˜ØØ!ØØ*3ô    5ˆCô (Ü .¨tÓ 4Ü *¨5Ó 1ð)óˆMð
  6Ò)ðGÜ#Ÿy™yŸ}™}¨S¸I˜}ÓF×JÑJHð×$Ñ$¤[´+¸hÓ2GÐ1HÓ%IÔJä"ܤ Ó,Ø!ð$ó‰Hð
hÒ à—O‘OÐ$5°uÓ=ˆEØ"—‘ |°QÓ7ˆHØ"—‘Ð'8¸!Ó<ˆHܘ T¨8Ø ¨(ó4ˆCä"ܤ Ó,ÜÜ& tÓ,Ü" 5Ó)Ü" 8Ó,Ü" 8Ó,ð    !óð$ó‰Hô˜^¨c¯i©i¸«lÑ:Ó;Ð ;𐗑˜C Ñ:°    Ñ:ˆÙ Ø×/Ñ/°Ó5‰GˆBØ #™X‰Nà#Ÿ^™^¬C°°f×6GÑ6GÓ,HÓIˆNÜܘGÓ$ܘxÓ(ð 
ó ˆô  +ä ÜœJÓ'ÜØØðóðó ô ˜>Ó *ð
,
ó
  Ðð$×*Ñ*Ó,Ð,øôk òGÜ$Ð%EÓFÐFðGús Ê+Q+Ñ+RcóÚ    —t«j|d¬«}t«j|d«}t«j|d«j}t    «j|d«j
}|t k7r td«‚t«j|dd¬«}t«j|dd¬«}t    «j|d«j
}d}    |tk(r¿t«j|dd¬«}
t«j|
d«j} |
d} t|
«dz
} d}| dkDr    |
|dz
}    | dz} |dz }t}| dkDrÉt«j|
|«}t    «j|d«j
}n†|tk(rrt«j|dd¬«}t«j|d«j} d    Dcgc]}||‘Œ    c}\} }}t|«d
kDr|d
}    nd}    n td «‚t«j|d«}t    «j|d«j
}d }|tk(rdd lm}|}|j }d}d}nì|t"k(rt$}t$j }d}d}nÈ|t&k(rt$}t$j }d}d}n¤|t(k(rt$}t$j }d}d}n€|t*k(rt$}t$j,}d}d}d}nZ|t.k(rt$}t$j,}d}d}d}n4|t0k(rt$}t$j,}d}d}d}ntd|z«‚|    r|    |k7r td«‚t«j|d«j}|tk(rD    t2j4j6}t3j:|«}t=|| || |¬«} nt?|| || «} |j:| |fi||i¤Ž}!t|«|!j@kr tCd«‚|r(|!j@}"|!jE|d|" ||" d«}#|#S|!jG|«}$tI|$|!j@«}#|#S#t$rYŒSwxYwcc}w#t8$rtdz«‚wxYw)axDecrypt a piece of data using a passphrase and *PBES2*.
 
        The algorithm to use is automatically detected.
 
        :Parameters:
          data : byte string
            The piece of data to decrypt.
          passphrase : byte string
            The passphrase to use for decrypting the data.
        :Returns:
          The decrypted data, as a binary string.
        r!r"rrzNot a PBES2 objectN)r!rKé)rŒé)rr!rKrŒzUnsupported PBES2 KDFFrLrNrAr$rOrPTzUnsupported PBES2 cipher z9Mismatch between PBES2 KDF parameters and selected cipherzUnsupported HMAC %srTzToo little data to decrypt)%rr&rr'rr(rrrrnÚlenÚ    TypeErrorÚ_OID_HMAC_SHA1ror_r+rMr0r`r    rarbrdrcrerfrrjÚ_hmac2hash_oidrlr/r rr2r\Údecrypt_and_verifyr1r )%r3r4r5r{r7r8Ú pbes2_paramsr…Úkdf_oidÚkdf_key_lengthrƒr=rSÚleftÚidxÚpbkdf2_prf_oidÚpbkdf2_prf_algo_idÚ scrypt_paramsÚxr†r‡rŠrr|rMr;r~r}Ú cipher_paramrÚhmac_hash_module_oidrUr@rBÚtag_lenrCÚ    pt_paddeds%                                     rr1z PBES2.decryptŠsû€ô +›}×3Ñ3°DÀaÐ3ÓHÐÜ“=×'Ñ'Ð(<¸QÑ(?Ó@ˆÜ'Ó)×0Ñ0Ð1EÀaÑ1HÓI×QÑQˆä“-×&Ñ& x°¡{Ó3×9Ñ9ˆØ ”jÒ  ÜÐ0Ó1Ð 1ä"“}×+Ñ+¨H°Q©KÀQÐ+ÓGˆ ô“=×'Ñ'¨ °Q©ÀQÐ'ÓGˆÜ“-×&Ñ& x°¡{Ó3×9Ñ9ˆàˆð ”kÒ !ä'›M×0Ñ0°¸!±È)Ð0ÓTˆMÜ!Ó#×*Ñ*¨=¸Ñ+;Ó<×DÑDˆDØ+¨AÑ.ˆOä}Ó%¨Ñ)ˆD؈CàaŠxðà%2°3Ñ%7¸!Ñ%;NؘA‘IDؘ1‘HCô ,ˆNؐaŠxÜ%0£]×%9Ñ%9¸-ÈÑ:LÓ%MÐ"Ü!,£×!5Ñ!5Ð6HÈÑ6KÓ!L×!RÑ!R‘à œ Ò #ä'›M×0Ñ0°¸!±È&Ð0ÓQˆMÜ!Ó#×*Ñ*¨=¸Ñ+;Ó<×DÑDˆDà<Eö3GØ78ð4AÀÓ3Cò3GÑ /ˆO˜X xä=Ó! AÒ%Ø!.¨qÑ!1‘à!%‘äÐ3Ó4Ð 4ô“=×'Ñ'¨ °Q©Ó8ˆÜ“-×&Ñ& x°¡{Ó3×9Ñ9ˆàˆØ Ô'Ò 'å *؈FØŸ-™-ˆK؈H؉LØ œÒ '܈FÜŸ,™,ˆK؈H؉LØ œÒ '܈FÜŸ,™,ˆK؈H؉LØ œÒ '܈FÜŸ,™,ˆK؈H؉LØ œÒ '܈FÜŸ,™,ˆK؈HØ"ˆL؉DØ œÒ '܈FÜŸ,™,ˆK؈HØ"ˆL؉DØ œÒ '܈FÜŸ,™,ˆK؈HØ"ˆL؉DäÐ7¸(ÑBÓCÐ Cá ˜n°Ò8Üð3ó4ð 4ô"Ó#×*Ñ*¨8°A©;Ó7×?Ñ?ˆð ”kÒ !ð HÜ'+§y¡y×'?Ñ'?ÀÑ'OÐ$ô $Ÿx™xÐ(<Ó=Р䘠T¨8°_Ø*:ô<‰Cô˜ T¨8°_Ø! 8ó-ˆCà—‘˜C ÑH°¸hÐ0GÑHˆô ˆ~Ó  ×!2Ñ!2Ò 2ÜÐ9Ó:Ð :á Ø×'Ñ'ˆGØ×*Ñ*¨>¸)¸G¸8Ð+DØ+9¸7¸(¸)Ð+DóFˆBð ˆ    ðŸ™ ~Ó6ˆIܐy &×"3Ñ"3Ó4ˆBàˆ    øôS!òâðüò3GøôHò HÜР5¸Ñ FÓGÐGð Hús$Å$R=È S ÏSÒ=    S
Ó    S
ÓS*)NN)rrrrDrErqr1rrrrGrGÂs4„ñ3ð
ò-óð-ðBñWóñWrrG)&rYÚCryptorrÚCrypto.Util.asn1rrrrr+r    ÚCrypto.Util.Paddingr
r ÚCrypto.Protocol.KDFr r rr)r,r-r.rrrnrorr_r`rarbrdrerfr\rÚobjectrrGrrrú<module>r¥s£ðóD
åÝ÷óõ
ß*ß6Ñ6à 6ÐØ 6ÐØ!8ÐØ!8Ðà $€
à%€ Ø&€ à%€à(ÐØ*€Ø+€Ø+€Ø*€Ø+€Ø+€ô    
ô    ôtB,ˆFôB,ôJ`ˆFõ`r