實際開發過程中,有些數據是需要加密保存或者處理的,為了就是為了保證源數據的安全性。那么MD5加密作為一種簡單有效的非對稱加密方式在日常開發過程中也經常的被使用到。下面就來介紹下MD5算法:
1. **簡介**
MD5消息摘要算法(MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個128位(16字節)的散列值(hash value),用於確保信息傳輸完整一致。MD5由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,於1992年公開,用以取代MD4算法。
2. **用途**
* **一致性驗證** 對一段信息(Message)產生信息摘要(Message-Digest),以防止被篡改。
MD5可以為任何文件(不管其大小、格式、數量)產生一個同樣獨一無二的“數字指紋”,如果任何人對文件做了任何改動,其MD5值也就是對應的“數字指紋”都會發生變化。
* **數字簽名** 對一段Message(字節串)產生fingerprint(指紋),以防止被“篡改”。(數字證書)
* **安全訪問認證** 密碼加密存儲

import uuid,hashlib uid = str(uuid.uuid4()) print(uid) a= hashlib.md5() a.update(uid.encode(encoding="utf-8")) print(a.hexdigest()) #uid = 05e5a16d-835e-43b3-9aec-a2076347d3b8 #md5后的UID = a2e6fc71266ace40e61fd3f4313b6bfb
generate_password_hash的使用

from werkzeug.security import generate_password_hash,check_password_hash def create_pwd(): str ="12345wertdfg" #生成密碼 pwd = generate_password_hash(str) #對比密碼 result = check_password_hash(pwd,str) print(pwd) print(result) if __name__ == '__main__': create_pwd() #pbkdf2:sha256:50000$IATRA6P9$93f7026a4d9959f34ad4de4ee721d3ec79aaf085a141fcb29809eef64e5cf2e7 #True