真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python中hashlib模塊有什么用

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)python中hashlib模塊有什么用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有崇陽(yáng)免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

密碼散列函數(shù)定義

密碼散列函數(shù)通過哈希算法(又稱摘要算法、散列算法)將任意長(zhǎng)度的數(shù)據(jù)轉(zhuǎn)換為一個(gè)固定長(zhǎng)度的二進(jìn)制數(shù)據(jù)(通常用16進(jìn)制字符串表示)。

常見密碼散列函數(shù)

常見的密碼散列函數(shù)有:md5是128位(32個(gè)字符)、sha1是160位(40個(gè)字符)、sha224(224位56個(gè)字符)、sha384(384位66個(gè)字符)、sha3_224(224位56個(gè)字符)、sha3_256(256位64個(gè)字符)、sha3_384(384位96個(gè)字符)、sha3_512(512位128個(gè)字符)、sha512(512位128個(gè)字符)、shake_128(128位32個(gè)字符)、shake_256(256位64個(gè)字符)等等。

密碼散列函數(shù)特點(diǎn)和作用

密碼散列函數(shù)的特點(diǎn):通過哈希算法對(duì)任意長(zhǎng)度的數(shù)據(jù)計(jì)算出固定長(zhǎng)度的摘要。對(duì)相同的數(shù)據(jù)計(jì)算得出的摘要相同;對(duì)不同的數(shù)據(jù)計(jì)算得出的摘要不同(存在非常非常低概率不同數(shù)據(jù)得出相同摘要,簡(jiǎn)稱碰撞);無(wú)法通過摘要還原數(shù)據(jù)。所以可通過對(duì)比摘要檢查數(shù)據(jù)是否被篡改。
密碼散列的作用有:電子簽名、防篡改、存儲(chǔ)密碼等等。
另外:目前 MD5、SHA1 已經(jīng)被證實(shí)存在隱患,更推薦使用sha2和sha3。

密碼散列函數(shù)使用案例

以下是sha2和sha3使用案例(請(qǐng)注意加鹽用法,即對(duì)字符串計(jì)算哈希值之前添加干擾值??梢蕴岣甙踩院徒档妥矌?kù)的可能性):

import hashlib

sha2 = hashlib.sha224()  # 標(biāo)準(zhǔn)sha2用法sha2.update("Test sha2".encode("utf8"))print(sha2.hexdigest())sha2 = hashlib.sha224('eqwro'.encode('utf8'))  # 加鹽sha2用法sha2.update("Test sha2".encode("utf8"))print(sha2.hexdigest())sha3 = hashlib.sha3_224()  # 標(biāo)準(zhǔn)sha3用法sha3.update("Test sha2".encode("utf8"))print(sha3.hexdigest())sha3 = hashlib.sha3_224('eqwro'.encode('utf8'))  # 加鹽sha3用法sha3.update("Test sha2".encode("utf8"))print(sha3.hexdigest())out:844e8c2c97312b6344377e49a412e2545e75a7b551f9551038a5f451a2cb1365509f141da28fe3935f7f6c8c6ef7b3fb347004f98d8b283c
f92459c0c2ccc081e26d607b8fd39f804f6a57641446f6be01d4596f
c2320f0da1a04385b1518fdeb69ddcdf34e5b25996447d2cfbb25f9f

python的hashlib模塊中沒有直接計(jì)算文件哈希值的方法,可以通過以下方法實(shí)現(xiàn)對(duì)文件計(jì)算哈希值。

def sha3_file(file_path, salt='', buffers=1024):sha3 = hashlib.sha3_224(salt.encode('utf8'))with open(file_path, 'rb') as f:while data := f.read(buffers):sha3.update(data)return sha3.hexdigest()print(sha3_file('all1.jpg'))out:c88d28d070e6ec978b6d51814ca7e7c27b8a2bf26b58819826815d2c

上述就是小編為大家分享的python中hashlib模塊有什么用了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)頁(yè)標(biāo)題:python中hashlib模塊有什么用
鏈接分享:http://weahome.cn/article/psceed.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部