本文介紹使用Python內(nèi)置哈希庫對字符串進行MD5加密的方法将宪,MD5的全稱是Message-Digest Algorithm 5(信息-摘要算法)。128位長度猴仑。目前MD5是一種不可逆算法法严。 它對應(yīng)任何字符串都可以加密成一段唯一的MD5 hash值,通過比hash值確定是否為相同的字符串烂斋。參考:Python的md5和sha1加密屹逛、Python MD5加密
import hashlib # python內(nèi)置的hash庫
def str2md5(str):
'''使用MD5對字符串進行加密
Args:
str (str): 需要加密的字符串
Returns:
[str]: 32位字符串
'''
m = hashlib.md5() # 創(chuàng)建md5對象
str_en = str.encode(encoding='utf-8') # str必須先encode
m.update(str_en) # 傳入字符串并加密
str_md5 = m.hexdigest() # 將MD5 hash值轉(zhuǎn)換為16進制數(shù)字字符串
return str_md5
MD5不僅僅是上面這個例子這樣用來處理字符串础废,還有更廣泛的用途:
- 加密網(wǎng)站注冊用戶的密碼。 (但去年的各大網(wǎng)站密碼泄漏事件確實讓人蛋疼……)
- 網(wǎng)站用戶上傳圖片 / 文件后煎源,計算出MD5值作為文件名色迂。(MD5可以保證唯一性)
- key-value數(shù)據(jù)庫中使用MD5值作為key。
- 比較兩個文件是否相同手销。(大家在下載一些資源的時候歇僧,就會發(fā)現(xiàn)網(wǎng)站提供了MD5值,就是用來檢測文件是否被篡改)
- ……