什麼是MD5?
Python中的MD5哈希
與md5相關的功能
示例1:在Python中列印等效於MD5哈希的字節
示例2:在Python中列印MD5哈希的十六進位等效項
示例3:Python MD5文件校驗
輸出與說明
示例4:使用Python在MD5中編碼字符串
輸出與說明
示例5:在Python中計算文件的MD5哈希
輸出與說明
應用範圍
優點
缺點
結論
MD5代表消息摘要算法。它是一個哈希函數,可產生128位哈希值。可用作校驗和驗證數據完整性。它適用於非加密目的,例如確定分區資料庫中特定密鑰的分區。該哈希函數在Python的hashlib模塊中可用。它以字節序列作為輸入,並返回128位哈希值作為輸出。散列函數的主要用途是檢查數據完整性,但存在安全性問題。hexdigest():以十六進位格式返回編碼的數據示例1:在Python中列印等效於MD5哈希的字節import hashlib
result = hashlib.md5(b'Python Pool')
print("Hash Value : ", end ="")
print(result)
print("Equivalent Byte : ", end ="")
print(result.digest())
在此代碼中,我們採用字節輸入,這是哈希函數可接受的。然後,我們使用md5哈希函數對該值進行編碼。最後,我們使用digest()函數生成了編碼字符串的等效字節。示例2:在Python中列印MD5哈希的十六進位等效項import hashlib
result = hashlib.md5('Python Pool'.encode())
print("Hash Value : ", end ="")
print(result)
print("Hexadecimal Equivalent : ", end ="")
print(result.hexdigest())
在這裡,我們使用encode()函數將字符串轉換為等效的字節,從而使其被哈希函數接受。然後,我們使用md5函數對其進行編碼,最後,使用hexdigest()函數顯示其十六進位等效項。md5_hash = hashlib.md5()
file = open("test.txt", "rb")
content = file.read()
md5_hash.update(content)
result = md5_hash.hexdigest()
print(result)
在此代碼中,調用hashlib.md5()函數以創建MD5對象。我們以「 rb」模式打開了一個文件,其中rb代表「 read bytes」。使用read()方法,我們將文件的內容讀取到一個變量中。update()方法更新文件內容。最後,使用hexdigest()方法,我們將哈希值轉換為等效的十六進位值。import hashlib
string = "pythonpool.com"
encoded=string.encode()
result = hashlib.md5(encoded)
print("String : ", end ="")
print(string)
print("Hash Value : ", end ="")
print(result)
print("Hexadecimal equivalent: ",result.hexdigest())
在此示例中,我們使用hashlib.md5()函數將字符串值編碼為哈希值。然後,我們使用hexdigest()方法來獲取生成的哈希值的十六進位等效項。同樣,我們也可以使用digest()方法來獲取與生成的哈希值等效的字節。import hashlib
with open("sample.txt","rb") as f:
bytes = f.read()
print("Bytes read from the file:",bytes)
result = hashlib.md5(bytes)
print("Hah Value: ",result)
print("The hexadecimal equivalent: ")
print(result.hexdigest())
在此代碼中,我們首先創建了一個示例文本文件。然後,我們以字節為單位讀取該文件的內容。我們將字節轉換為哈希值,然後最終看到相同的十六進位等效項。通過為在法律發現過程中交換的每個文檔提供唯一的標識符,它也可用於電子發現(對可能涉及到訴訟相關的電子證據的歸檔和再現)提供一個任意大小的安全輸入(如果使用128位,則可以產生輸出)在本文中,我們討論了python中的md5哈希函數。我們看到了相同的各種示例,還了解了它的各種應用。我是東哥,最後給大家分享《100本Python電子書》,包括Python編程技巧、數據分析、爬蟲、Web開發、機器學習、深度學習。
現在免費分享出來,有需要的讀者可以下載學習,在下面的公眾號「GitHuboy」裡回復關鍵字:Python,就行。