最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的哈希算法模塊hashlib詳解

 更新時間:2023年08月11日 09:50:22   作者:微小冷  
這篇文章主要介紹了Python中的哈希算法模塊hashlib詳解,hashlib模塊實現(xiàn)了多種哈希算法,包括MD5以及SHA家族的算法,通過algorithms_guaranteed可以查看hashlib中封裝的所有算法,需要的朋友可以參考下

hashlib模塊

hashlib 模塊實現(xiàn)了多種哈希算法,包括MD5以及SHA家族的算法,通過 algorithms_guaranteed 可以查看 hashlib 中封裝的所有算法

>>> from pprint import pprint
>>> pprint(hashlib.algorithms_guaranteed)
{'blake2b',
 'blake2s',
 'md5',
 'sha1',
 'sha224',
 'sha256',
 'sha384',
 'sha3_224',
 'sha3_256',
 'sha3_384',
 'sha3_512',
 'sha512',
 'shake_128',
 'shake_256'}

整理如下

構(gòu)造器算法
md5md5
sha家族sha1, sha224, sha256, sha384, sha512
sha3家族sha3_224, sha3_256, sha3_384, sha3_512,
BLAKE2blake2b, blake2s
shakeshake_128, shake_256

這些哈希算法擁有相同的外部接口,以 md5 為例,調(diào)用方式大致為

import hashlib
x = hashlib.md5()
x.update(b"tinycool")
x.hexdigest()
# '90cba0172a608c7d3784ba159e6a9ef1'
x.digest()
# b'\x90\xcb\xa0\x17*`\x8c}7\x84\xba\x15\x9ej\x9e\xf1'

其中, update 表示以二進制字符串作為密鑰進行哈希, digest 和 hexdigest 分別表示將生成的哈希碼通過二進制和十六進制的形式表現(xiàn)出來。

封裝算法簡介

md5算法,MD即信息摘要(Message-Digest),md5可以理解為第五代信息摘要算法,于1992年公開,用以取代md4,但在2004年已經(jīng)被證實無法防止碰撞,從而不適用于安全性認證,但目前來說還是有人在用。

相比之下,SHA,即安全散列算法(Secure Hash Algorithm),是美國政府的加密標準,相對來說更加安全。其中sha1生成160bit長度的信息摘要,其他SHA函數(shù),以sha224為例,224表示產(chǎn)生的信息摘要長度為224bit,以此類推。

blake2b和blake2s分別針對64位操作系統(tǒng)和32位操作系統(tǒng)進行優(yōu)化,以生成最長64位和最長32位的位數(shù)可變的信息摘要。

shake_128和shake_256可生成位數(shù)可變的信息摘要,二者的最大位數(shù)分別是128和256位。

new函數(shù)

通過 new 函數(shù),可以更加統(tǒng)一地生成哈希對象,例如

x = hashlib.new('sha256')
x.update(b"tinycool")
x.hexdigest()
# '96d424d9d77972f28b5a11e8c2bddd67542e7784e01b7dcca51154babb2b54ea'

即 hashlib.new('xxx') 和 hashlib.xxx() 是相同的,當然 xxx 得是 haslib 中封裝好的哈希函數(shù)。

接下來演示一下 shake_128 函數(shù)

x = hashlib.new('shake_128')
x.update(b"tinycool")
x.hexdigest(15)
# '8f8f153833e5159d548f4371af9855'
x.hexdigest(25)
# '8f8f153833e5159d548f4371af9855e0affc9ddae8d6c98bee'

可見,在 hexdigest 中輸入不同的長度,返回了不同長度的十六進制字符串。

通過 new 創(chuàng)建的哈希對象,有三個可調(diào)用的屬性

  • digest_size 哈希對象的字節(jié)數(shù)。
  • block_size 哈希算法內(nèi)部塊的字節(jié)數(shù)。
  • name 哈希算法名字

到此這篇關(guān)于Python中的哈希算法模塊hashlib詳解的文章就介紹到這了,更多相關(guān)Python中的hashlib模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python爬蟲分析匯總

    Python爬蟲分析匯總

    這篇文章主要詳細的介紹了Python爬蟲的相關(guān)資料,需要的朋友可以參考下面文章內(nèi)容,希望能幫助到你
    2021-09-09
  • python sys模塊使用方法介紹

    python sys模塊使用方法介紹

    sys模塊是最常用的和python解釋器交互的模塊,sys模塊可供訪問由解釋器(interpreter)使用或維護的變量和與解釋器進行交互的函數(shù),需要的朋友可以參考下
    2022-08-08
  • 使用python和yolo方法實現(xiàn)yolo標簽自動標注

    使用python和yolo方法實現(xiàn)yolo標簽自動標注

    本文介紹了基于YOLOv10的自動標注方法,從初階的固定標注到高階的基于YOLO檢測結(jié)果的自動標注,兩者相比,高階方法顯著提高了標注的準確性,并減少了人工操作的時間,</P><P>
    2024-11-11
  • 解決win10 vscode 無法激活python 虛擬環(huán)境的問題

    解決win10 vscode 無法激活python 虛擬環(huán)境的問題

    這篇文章主要介紹了win10 vscode 無法激活python 虛擬環(huán)境的解決辦法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • python判定文件目錄是否存在及創(chuàng)建多層目錄

    python判定文件目錄是否存在及創(chuàng)建多層目錄

    這篇文章主要介紹了python判定文件目錄是否存在及創(chuàng)建多層目錄,文章通過os模塊、try語句、pathlib模塊善終模塊展開詳細的內(nèi)容,感興趣的朋友可以參考一下
    2022-06-06
  • python遺傳算法之單/多目標規(guī)劃問題

    python遺傳算法之單/多目標規(guī)劃問題

    本文主要介紹了python遺傳算法之單/多目標規(guī)劃問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • 淺談Python的文件類型

    淺談Python的文件類型

    下面小編就為大家?guī)硪黄獪\談Python的文件類型。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • python實現(xiàn)excel讀寫數(shù)據(jù)

    python實現(xiàn)excel讀寫數(shù)據(jù)

    這篇文章主要為大家詳細介紹了python操作EXCEL讀數(shù)據(jù)、寫數(shù)據(jù)的實例源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python實現(xiàn)批量命名照片

    python實現(xiàn)批量命名照片

    這篇文章主要為大家詳細介紹了python實現(xiàn)批量命名照片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 基于Python實現(xiàn)繪制屬于你的世界地圖

    基于Python實現(xiàn)繪制屬于你的世界地圖

    Python之所以這么流行,是因為它不僅能夠應用于科技領(lǐng)域,還能用來做許多其他學科的研究工具,繪制地圖便是其功能之一。本文我們將用matplot工具包之一的  mpl_toolkits  來繪制世界地圖,需要的可以參考一下
    2022-11-11

最新評論

肃宁县| 湛江市| 临高县| 双峰县| 安陆市| 乃东县| 桐柏县| 格尔木市| 兴安县| 丰城市| 新化县| 天镇县| 于都县| 舞阳县| 昂仁县| 库车县| 察雅县| 志丹县| 家居| 甘泉县| 南开区| 木里| 滨州市| 婺源县| 海口市| 政和县| 廉江市| 蓬安县| 洛扎县| 普定县| 饶平县| 新和县| 玉林市| 福建省| 肃北| 钦州市| 长兴县| 衡水市| 台南县| 肥城市| 常德市|