Message Digest Algorithm MD5(中文名稱為訊息摘要演算法第五版)為電腦安全領域廣泛使用的一種雜湊函數,用於確保訊息傳輸完整一致。 MD5是單向加密,指只能加密資料而無法解密數據,主要解決資料的完整性問題。
摘要演算法又稱為哈希演算法、雜湊演算法。它通過一個函數,把任意長度的資料轉換為一個長度固定的資料字串(通常用16進制的字串表示)。 MD5是最常見的摘要演算法,速度很快,可以將一個字串,或文件,或壓縮包,執行md5後,產生一個固定長度為128bit的串,通常用一個32位的16進製字串表示。
在python3的標準函式庫中,已經移除了md5模組,而關於hash加密演算法都放在hashlib這個標準函式庫中,hashlib提供了常見的摘要演算法,如SHA1、SHA224、SHA256、SHA384 、SHA512和MD5演算法等。
加密註冊用戶的密碼,在儲存使用者密碼時,不記錄密碼本身,只記錄密碼的MD5結果(即使資料庫被竊也無法反推出明文)。網站使用者上傳圖片 / 檔案後,將MD5值作為檔案名稱。 (MD5可以保證唯一性) key-value資料庫中使用MD5值作為key。比較兩個檔案是否相同。 (在下載資源的時候,發現網站提供了MD5值,就是用來偵測檔案是否被竄改)
import hashlib md5 = hashlib.md5() # md5对象,md5不能反解,但是加密是固定的 # update需要一个bytes格式参数 md5.update(str.encode('utf-8')) # 要对哪个字符串进行加密,就放这里 value = md5.hexdigest() # 拿到加密字符串
import hashlib str = '123456' md5 = hashlib.md5() # 创建md5加密对象 md5.update(str.encode('utf-8')) # 指定需要加密的字符串 str_md5 = md5.hexdigest() # 加密后的字符串 print(str_md5) # 结果:e10adc3949ba59abbe56e057f20f883e
以上是如何使用python實現md5加密的詳細內容。更多資訊請關注PHP中文網其他相關文章!