Python中的散列算法也稱哈希函數(shù),是一種將任意長(zhǎng)度的消息壓縮到固定長(zhǎng)度的摘要算法。Python內(nèi)置了多種散列算法,包括MD5、SHA1、SHA256等。
import hashlib message = "Hello World!" md5 = hashlib.md5() sha1 = hashlib.sha1() sha256 = hashlib.sha256() md5.update(message.encode('utf-8')) sha1.update(message.encode('utf-8')) sha256.update(message.encode('utf-8')) print("MD5摘要:", md5.hexdigest()) print("SHA1摘要:", sha1.hexdigest()) print("SHA256摘要:", sha256.hexdigest())
運(yùn)行以上代碼,輸出如下:
MD5摘要: b10a8db164e0754105b7a99be72e3fe5 SHA1摘要: 0a4d55a8d778e5022fab701977c5d840bbc486d0 SHA256摘要: 0c536f5a45d233e5a72b3e1a50c860ba9326e9c7e0328ccde20c9135d16f245f
其中hexdigest()方法用于獲取散列值的十六進(jìn)制表示。
散列算法有很多用途,比如加密、數(shù)據(jù)完整性驗(yàn)證等。Python內(nèi)置的散列算法可在數(shù)據(jù)安全性、防篡改等方面為應(yīng)用程序提供保障。