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
Ë
’^iÖãóä—dZddlmZ    ddlmZddlmZmZddlm    Z    dZ
dd    l m Z dd
lZdZd Ze ej"d «Zd „Zd„Zdad„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zy
#e $rdZ
YŒNwxYw)z
Implements auth methods
é)ÚOperationalErroré)Údefault_backend)Ú serializationÚhashes)ÚpaddingTF)ÚpartialNéÚsha1có
—|syt|«j«}t|«j«}t«}|j|dt«|j|«|j«}t    ||«S)z'Scramble used for mysql_native_passwordóN)Úsha1_newÚdigestÚupdateÚSCRAMBLE_LENGTHÚ    _my_crypt)ÚpasswordÚmessageÚstage1Ústage2ÚsÚresults      õ`H:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\pymysql/_auth.pyÚscramble_native_passwordrsm€á Øä hÓ × &Ñ &Ó (€FÜ fÓ × $Ñ $Ó &€FÜ‹
€A؇HHˆWÐ%”oÐ &Ô'؇HHˆVÔØ X‰X‹Z€FÜ V˜VÓ $Ð$r có€—t|«}tt|««D]}||xx||zcc<Œt|«S©N)Ú    bytearrayÚrangeÚlenÚbytes)Úmessage1Úmessage2rÚis    rrr,sB€Ü xÓ  €Fä ”3v“;Ó ò!ˆØˆq‹    X˜a‘[Ñ Œ    ð!ô ‹=Ðr cóF—    ddlm}|ay#t$r t    d«‚wxYw)Nr©Úbindingsz='pynacl' package is required for ed25519_password auth method)Únaclr&Ú_nacl_bindingsÚ ImportErrorÚ RuntimeErrorr%s rÚ
_init_naclr+;s.€ð
Ý!à!‰øÜ ò
ÜØ Kó
ð    
ð
ús‚ ‹ có²—t|«}tt|ddzg««}tt|ddzdzg««}|t|dd«z|zS)Nréøééé@r)rr )Ús32ÚbaÚba0Úba31s    rÚ _scalar_clampr5Gs^€Ü    3‹€BÜ
”    ˜2˜a™5 3™;˜-Ó(Ó
)€CÜ ”˜R ™V c™\¨RÑ/Ð0Ó1Ó 2€DØ ”s˜1˜RyÓ!Ñ ! DÑ (Ð(r có2—ts
t«tj|«j    «}t |dd«}tj|dd|z«j    «}tj |«}tj|«}tj|«}tj||z|z«j    «}tj |«}tj||«}tj||«}    ||    zS)znSign a random scramble with elliptic curve Ed25519.
 
    Secret and public key are derived from password.
    Né )
r(r+ÚhashlibÚsha512rr5Ú!crypto_core_ed25519_scalar_reduceÚ&crypto_scalarmult_ed25519_base_noclampÚcrypto_core_ed25519_scalar_mulÚcrypto_core_ed25519_scalar_add)
rÚscrambleÚhrÚrÚRÚAÚkÚksÚSs
          rÚed25519_passwordrFNsò€õ ÜŒ ô    ‰xÓ ×'Ñ'Ó)€Aô    a˜˜fÓ€Aô    ‰q˜˜v Ñ(Ó)×0Ñ0Ó2€Aô    ×8Ñ8¸Ó;€AÜ×=Ñ=¸aÓ@€Aô    ×=Ñ=¸aÓ@€Aô    ‰q˜1‘u˜xÑ'Ó(×/Ñ/Ó1€Aô    ×8Ñ8¸Ó;€AÜ    ×    6Ñ    6°q¸!Ó    <€BÜ×5Ñ5°b¸!Ó<€Að ˆq‰5€Lr cóh—|j|«|j«}|j«|Sr)Ú write_packetÚ _read_packetÚ check_error)ÚconnÚ    send_dataÚpkts   rÚ
_roundtriprNws-€Ø×ѐiÔ Ø
€C؇OOÔØ €Jr có®—|dt}t|«}t|«}tt|««D]}||xx|||zzcc<Œt    |«Sr)rrrrr )rÚsaltÚpassword_bytesÚsalt_lenr#s     rÚ _xor_passwordrS~sa€ð Р”Ð !€DܘxÓ(€Nä4‹y€HÜ ”3~Ó&Ó 'ò0ˆØqÓ˜T ! h¡,Ñ/Ñ/Ôð0ä Ó  Ð r c    ó>—ts td«‚t|dz|«}tj|t ««}|j |tjtjtj«¬«tj«d¬««S)zhEncrypt password with salt and public_key.
 
    Used for sha256_password and caching_sha2_password.
    z\'cryptography' package is required for sha256_password or caching_sha2_password auth methodsó)Ú    algorithmN)ÚmgfrVÚlabel) Ú_have_cryptographyr*rSrÚload_pem_public_keyrÚencryptrÚOAEPÚMGF1rÚSHA1)rrPÚ
public_keyrÚrsa_keys     rÚsha2_rsa_encryptraŠs€õ
Üð 4ó
ð    
ô˜H uÑ,¨dÓ3€GÜ×/Ñ/°
¼OÓ<MÓN€GØ ?‰?ØÜ ‰ Ü— ‘ ¤v§{¡{£}Ô5Ü—k‘k“mØô    
ó ðr cóÜ—|jr,tr td«|jdz}t    ||«S|j «ry|j «|_|jjd«r|jdd|_|js)|jrtr td«t    |d«}|j«r?|jdd|_    tr%td|jjd««|jrC|js td    «‚t|j|j|j«}nd
}t    ||«S) Nzsha256: Sending plain passwordrUéÿÿÿÿz$sha256: Requesting server public keyórzReceived public key:
Úasciiz$Couldn't receive server's public keyr )Ú_secureÚDEBUGÚprintrrNÚis_auth_switch_requestÚread_allrPÚendswithÚserver_public_keyÚis_extra_auth_dataÚ_dataÚdecoderra)rKrMÚdatas   rÚsha256_password_authrq s€Ø ‡|‚|Ý Ü Ð2Ô 3؏}‰}˜uÑ$ˆÜ˜$ Ó%Ð%à
×!Ñ!Ô#Ø—L‘L“NˆŒ    Ø 9‰9× Ñ ˜eÔ $ØŸ    ™     # 2˜ˆDŒIØ×%Ò%¨$¯-ª-åÜÐ<Ô=ܘT 5Ó)ˆCà
×ÑÔØ!$§¡¨1¨2 ˆÔÝ Ü Ð*¨D×,BÑ,B×,IÑ,IÈ'Ó,RÔ Sà ‡}‚}Ø×%Ò%Ü"Ð#IÓJÐ Jä § ¡ ¨t¯y©y¸$×:PÑ:PÓQ‰àˆä d˜DÓ !Ð!r có^—|sytj|«j«}tj|«j«}tj||z«j«}t|«}t    t |««D]}||xx||zcc<Œt |«S)zƒScramble algorithm used in cached_sha2_password fast path.
 
    XOR(SHA256(password), SHA256(SHA256(SHA256(password)), nonce))
    r )r8Úsha256rrrrr )rÚnonceÚp1Úp2Úp3Úresr#s       rÚscramble_caching_sha2ryÁs€ñ Øä    ‰˜Ó    !×    (Ñ    (Ó    *€BÜ    ‰˜Ó    ×    "Ñ    "Ó    $€BÜ    ‰˜˜U™
Ó    #×    *Ñ    *Ó    ,€Bä
B‹-€CÜ ”3r“7‹^òˆØ ˆA‹"Q‘%‰Œðô ‹:Ðr có¸—|js t|d«S|j«rœ|j«|_|jj d«r|jdd|_t r&td|jj«›«t|j|j«}t||«}|j«std|jddz«‚|jd«|j«}|dk(r3t r td«|j«}|j!«|S|d    k7rtd
|z«‚t r td «|j"r*t r td «t||jdz«S|j$sut|d «}|j«std|jddz«‚|jdd|_t r$t|j$j'd««t)|j|j|j$«}t||«}y)Nr rUrcz%caching sha2: Trying fast path. salt=z.caching sha2: Unknown packet for fast auth: %sréz%caching sha2: succeeded by fast path.éz.caching sha2: Unknown result for fast auth: %sz!caching sha2: Trying full auth...z:caching sha2: Sending plain password via secure connectionóz/caching sha2: Unknown packet for public key: %sre)rrNrirjrPrkrgrhÚhexryrmrrnÚadvanceÚ
read_uint8rIrJrfrlrora)rKrMÚ    scrambledÚnrps     rÚcaching_sha2_password_authrƒÕsì€à =Š=ܘ$ Ó$Ð$à
×!Ñ!Ô#à—L‘L“NˆŒ    Ø 9‰9× Ñ ˜eÔ $ØŸ    ™     # 2˜ˆDŒIÝ Ü Ð9¸$¿)¹)¿-¹-»/Ð9LÐMÔ NÜ)¨$¯-©-¸¿¹ÓCˆ    Ü˜˜yÓ)ˆð × !Ñ !Ô #ÜØ <¸s¿y¹yÈÈ!¸}Ñ Ló
ð    
ð‡KK„NØ ‰Ó€AàˆA‚vÝ Ü Ð9Ô :Ø×ÑÓ!ˆØ ‰Ô؈
àˆA‚vÜÐOÐRSÑSÓTÐTå Ü Ð1Ô2à ‡|‚|Ý Ü ÐNÔ Oܘ$ § ¡ °Ñ 5Ó6Ð6à × !Ò !ܘ˜wÓ'ˆØ×%Ñ%Ô'Ü"ØAÀCÇIÁIÈbÈqÀMÑQóð ð"%§¡¨1¨2 ˆÔÝ Ü $×(Ñ(×/Ñ/°Ó8Ô 9ä ˜DŸM™M¨4¯9©9°d×6LÑ6LÓ M€DÜ
T˜4Ó
 Cr )Ú__doc__ÚerrrÚcryptography.hazmat.backendsrÚcryptography.hazmat.primitivesrrÚ)cryptography.hazmat.primitives.asymmetricrrYr)Ú    functoolsr    r8rgrÚnewrrrr(r+r5rFrNrSrarqryrƒ©r rú<module>rŒsŸðñõ"ðÝ<ßDÝAàÐõÛð    €Ø€Ù 7—;‘; Ó '€ò %òð€ò    
ò)ò#òRò    !òò,"òBó(;!øðOòØÒðúsŠA%Á%A/Á.A/