python之MD5加密


一、 MD5加密
import hashlib #Python3里的引用
#import md5 #Python2里的引用

1. md5是不可逆的,不能解密
2. 所有語言生成的md5串都是一樣的

3. 不論字符串多長,生成的md5是等長的

4. 彩虹表:存的所有常用的加密后的密碼對應的md5

5. 解密查詢,只能解密常用字符:https://www.cmd5.com/

import hashlib #import md5 #Python2里的引用
s='123456'
# s.encode()#變成bytes類型才能加密
m= hashlib.md5(s.encode()) print(m.hexdigest()) m=hashlib.sha3_224(s.encode()) #長度是224
print(m.hexdigest()) m=hashlib.sha3_256(s.encode())  #長度是256
print(m.hexdigest()) m=hashlib.sha3_512(s.encode()) #長度是512
print(m.hexdigest())
#輸出結果
e10adc3949ba59abbe56e057f20f883e 6be790258b73da9441099c4cb6aeec1f0c883152dd74e7581b70a648 d7190eb194ff9494625514b6d178c87f99c5973e28c398969d2233f2960a573e 64d09d9930c8ecf79e513167a588cb75439b762ce8f9b22ea59765f32aa74ca19d2f1e97dc922a3d4954594a05062917fb24d1f8e72f2ed02a58ed7534f94d27

 

二、 加鹽

加鹽是在用戶密碼加密后,可以再加一個指定的字符串,再次加密,這樣,用戶密碼被破解的概率極低了

#如密碼是123456:
random_str='dsfka676f9a78#$%^' #鹽的值
#加鹽后,密碼變為: 123456dsfka676f9a78#$%^

如要加密,可調用如下函數:

import hashlib
def my_md5(s,salt=''):      #加鹽,鹽的默認值是空
    s=s+salt
    news=str(s).encode()    #先變成bytes類型才能加密
    m=hashlib.md5(news)     #創建md5對象
    return m.hexdigest()    #獲取加密后的字符串

 

 

 

 


免責聲明!

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



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