Files
stu_teacher/core/__pycache__/security.cpython-310.pyc
T

21 lines
2.2 KiB
Plaintext
Raw Normal View History

2026-09-21 23:17:51 +08:00
o
±jòã@sœddlZddlZddlZddlmZmZmZddlZddlmZdZ dZ
de de fdd „Z de d
e de
fd d „Zd
ede de fdd„Zde defdd„ZdS)éN)ÚdatetimeÚ timedeltaÚtimezone)ÚsettingsiÀÔé Úplain_passwordÚreturncCsBt d¡}tjd| d¡|ttd�}dt›d| ¡›d| ¡›�S)uœ
生�密�哈希,格�:pbkdf2_sha256$<iterations>$<salt_hex>$<hash_hex>
�值�次�机生�,�一密�两次加密结果��
éÚsha256úutf-8©Zdklenzpbkdf2_sha256$ú$)ÚosÚurandomÚhashlibÚ pbkdf2_hmacÚencodeÚ _ITERATIONSÚ_KEY_LENÚhex)rÚsaltÚdigest©rúTC:\Users\Windows\WorkBuddy\2026-09-21-19-29-22\walin_student_system\core\security.pyÚ
hash_passwords
ÿrÚ
password_hashc Cs|z1| d¡\}}}}|dkrWdStjd| d¡t |¡t|ƒtt |¡ƒd�}t  |t |¡¡WSt
t fy=YdSw)uN校验密�:用�样的�和迭代次数�新计算,�定时间比较r
Z
pbkdf2_sha256Fr
r r ) ÚsplitrrrÚbytesÚfromhexÚintÚlenÚhmacÚcompare_digestÚ
ValueErrorÚ TypeError)rrÚ algorithmZ
iterationsZsalt_hexZhash_hexrrrrÚverify_passwords ûÿr&Úuser_idÚrolecCsFt tj¡ttjd�}t|ƒ||t tj¡dœ}tj |tj
tj d�S)u.ç­¾å�‘ JWT,payload æ�ºå¸¦ç”¨æˆ· ID 与角色)Úminutes)Úsubr(ÚexpZiat)r%) rÚnowrÚutcrrÚACCESS_TOKEN_EXPIRE_MINUTESÚstrÚjwtrÚ
SECRET_KEYÚ