python hashlib用法和用處


python 中的hashlib有加密和解密的功能

例:

import hashlib   # 提供摘要算法的模塊
md5 = hashlib.md5()
md5.update(b'123456')   # 注意是bytes
print(md5.hexdigest())
輸出結果:aee949757a2e698417463d47acac93df
 
        

 

不管算法多么不同,摘要的功能始終不變
對於相同的字符串使用同一個算法進行摘要,得到的值總是不變的
使用不同算法對相同的字符串進行摘要,得到的值應該不同
不管使用什么算法,hashlib的方式永遠不變

用處:

 1 密碼的密文存儲
 2 文件的一致性驗證
 用戶的登陸:

#用戶的登錄
import hashlib
usr = input('username :')
pwd = input('password : ')
with open('userinfo') as f:
    for line in f:
        user,passwd,role = line.split('|')
        md5 = hashlib.md5()
        md5.update(bytes(pwd,encoding='utf-8'))
        md5_pwd = md5.hexdigest()
        if usr == user and md5_pwd == passwd:
            print('登錄成功')

加鹽:

#加鹽
import hashlib   # 提供摘要算法的模塊
md5 = hashlib.md5(bytes('',encoding='utf-8'))  #加鹽的步驟
# md5 = hashlib.md5()
md5.update(b'123456')
print(md5.hexdigest())

動態加鹽: 使用用戶名的一部分或者 直接使用整個用戶名作為鹽

import hashlib   # 提供摘要算法的模塊
md5 = hashlib.md5(bytes('',encoding='utf-8')+b'這里為用戶的信息')
# md5 = hashlib.md5()
md5.update(b'123456')
print(md5.hexdigest())

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM