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

python中的hashlib模塊使用實(shí)例

 更新時(shí)間:2023年08月11日 09:59:29   作者:菜鳥更要努力呀  
這篇文章主要介紹了python中的hashlib模塊使用實(shí)例,hashlib是一個(gè)提供字符串加密功能的模塊,包含MD5和SHA的算法,MD5和SHA是摘要算法,文中以實(shí)例代碼講解hashlib模塊的基本用法,需要的朋友可以參考下

1 hashlib模塊的作用:

hashlib是一個(gè)提供字符串加密功能的模塊,包含MD5和SHA的算法,MD5和SHA是摘要算法,摘要算法是什么呢:

也可以稱為哈希算法,離散算法。

通過一個(gè)函數(shù)將任意長度的數(shù)據(jù)轉(zhuǎn)化為一個(gè)長度固定的數(shù)據(jù)串,摘要函數(shù)是一個(gè)單向函數(shù),計(jì)算f(data)很容易,但是通過digest反推data非常困難,對data做任意修改,計(jì)算出的摘要完全不相同。

2 以MD5算法為例使用hashlib:

md5算法特點(diǎn):

  • 該算法不可逆
  • 不同字符串通過這個(gè)算法計(jì)算得到的密文總不相同
  • 相同算法以及相同的字符串獲得的密文結(jié)果總是相同

用法實(shí)例:

import hashlib
new_md5=hashlib.md5()
new_md5.update('guo')
ret=new_md5.hexdigest()
# ret 為加密后的字符串

函數(shù)形式實(shí)現(xiàn)加密操作:

import hashlib
def get_ret(s):
    new_md5=hashlib.md5()
    new_md5.update(s)
    ret=new_md5.hexdigest()
    return ret
get_ret('guo')

用戶驗(yàn)證登錄:

import hashlib
def get_ret(s)
    new_md5=hashlib.md5()
    new_md5.update(s)
    ret = new_md5.hexdigest()
    return ret
username = input('username:')
password = input('password:')
with open('userinfo') as f:
    for line in f:
        usr, pwd = line.strip().split('|')
        if username == usr and get_ret(password) == pwd:
            print '登陸成功'
            break
        else:
            print('登錄失敗')

主要的應(yīng)用場景呢,就是我們的密碼的加密和明文的加密,按照一定的約定去形成我們的加密的方式即可,有些時(shí)候?yàn)榱吮苊馓^于簡單的加密,我們會約定一個(gè)私鑰,增加加密的復(fù)雜性。

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

相關(guān)文章

  • 對python 數(shù)據(jù)處理中的LabelEncoder 和 OneHotEncoder詳解

    對python 數(shù)據(jù)處理中的LabelEncoder 和 OneHotEncoder詳解

    今天小編就為大家分享一篇對python 數(shù)據(jù)處理中的LabelEncoder 和 OneHotEncoder詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 在python中計(jì)算ssim的方法(與Matlab結(jié)果一致)

    在python中計(jì)算ssim的方法(與Matlab結(jié)果一致)

    這篇文章主要介紹了在python中計(jì)算ssim的方法(與Matlab結(jié)果一致),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python環(huán)境下安裝PyGame和PyOpenGL的方法

    Python環(huán)境下安裝PyGame和PyOpenGL的方法

    這篇文章主要介紹了Python環(huán)境下安裝PyGame和PyOpenGL的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python通過IP地址查詢地理位置的幾種方法

    Python通過IP地址查詢地理位置的幾種方法

    本文介紹通過IP查詢地理位置的兩種方法:在線API(如ipinfo.io,快速但有請求限制)和本地?cái)?shù)據(jù)庫(如GeoLite2,高效但需定期更新),并推薦結(jié)合使用以滿足不同場景需求,需要的朋友可以參考下
    2025-09-09
  • python 基于opencv操作攝像頭

    python 基于opencv操作攝像頭

    這篇文章主要介紹了python 基于opencv操作攝像頭的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • 詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼

    詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼

    這篇文章主要介紹了詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python中的import絕對導(dǎo)入與相對導(dǎo)入詳解

    python中的import絕對導(dǎo)入與相對導(dǎo)入詳解

    這篇文章主要介紹了python中的import絕對導(dǎo)入與相對導(dǎo)入詳解,在使用python做一些簡單項(xiàng)目時(shí),import一般不會出現(xiàn)問題,但項(xiàng)目結(jié)構(gòu)復(fù)雜時(shí),import可能發(fā)生報(bào)錯(cuò),需要的朋友可以參考下
    2023-11-11
  • 使用Python開發(fā)一個(gè)Ditto剪貼板數(shù)據(jù)導(dǎo)出工具

    使用Python開發(fā)一個(gè)Ditto剪貼板數(shù)據(jù)導(dǎo)出工具

    在日常工作中,我們經(jīng)常需要處理大量的剪貼板數(shù)據(jù),下面將介紹如何使用Python的wxPython庫開發(fā)一個(gè)圖形化工具,實(shí)現(xiàn)從Ditto數(shù)據(jù)庫中讀取、選擇和導(dǎo)出剪貼板歷史記錄的功能
    2025-08-08
  • Python如何測試stdout輸出

    Python如何測試stdout輸出

    這篇文章主要介紹了Python如何測試stdout輸出,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下
    2020-08-08
  • numpy中的隨機(jī)打亂數(shù)據(jù)方法np.random.shuffle解讀

    numpy中的隨機(jī)打亂數(shù)據(jù)方法np.random.shuffle解讀

    這篇文章主要介紹了numpy中的隨機(jī)打亂數(shù)據(jù)方法np.random.shuffle解讀,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評論

兴安盟| 晋中市| 南川市| 双鸭山市| 剑川县| 喀喇| 新绛县| 瓦房店市| 泉州市| 黄平县| 南开区| 定兴县| 大城县| 河间市| 轮台县| 崇礼县| 治多县| 渝北区| 惠东县| 阳西县| 盱眙县| 介休市| 昂仁县| 西充县| 南华县| 大余县| 罗城| 新兴县| 青冈县| 白水县| 习水县| 湟源县| 民权县| 东台市| 华宁县| 渝中区| 常山县| 周至县| 涞源县| 西平县| 丰镇市|