日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python基礎(chǔ)之hashlib模塊詳解

瀏覽:26日期:2022-06-20 14:40:24
一、hashlib簡介

1.什么叫hash:

hash是一種算法(不同的hash算法只是復(fù)雜度不一樣)(3.x里代替了md5模塊和sha模塊,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),該算法接受傳入的內(nèi)容,經(jīng)過運(yùn)算得到一串hash值

2.hash值的特點(diǎn)是(hash值/產(chǎn)品有三大特性:):

只要傳入的內(nèi)容一樣,得到的hash值必然一樣=====>要用明文傳輸密碼文件完整性校驗(yàn) 不能由hash值返解成內(nèi)容=======》把密碼做成hash值,不應(yīng)該在網(wǎng)絡(luò)傳輸明文密碼(只能有內(nèi)容返回hash值) 只要使用的hash算法不變,無論校驗(yàn)的內(nèi)容有多大,得到的hash值長度是固定的(如從網(wǎng)上下載文件要進(jìn)行hash校驗(yàn),保證網(wǎng)絡(luò)傳輸沒有丟包)

MD5是最常見的摘要算法,速度很快,生成結(jié)果是固定的16字節(jié),通常用一個(gè)32位的16進(jìn)制字符串表示。SHA1算法更安全點(diǎn),它的結(jié)果是20字節(jié)長度,通常用一個(gè)40位的16進(jìn)制字符串表示。而比SHA1更安全的算法是SHA256和SHA512等等,不過越安全的算法越慢,并且摘要長度更長

二、hash對(duì)象的方法

hash.update(arg)更新hash對(duì)象。連續(xù)的調(diào)用該方法相當(dāng)于連續(xù)的追加更新。例如m.update(a); m.update(b)相當(dāng)于m.update(a+b)。注意,當(dāng)數(shù)據(jù)規(guī)模較大的時(shí)候,Python的GIL在此時(shí)會(huì)解鎖,用于提高計(jì)算速度。一定要理解update()的作用,由于消息摘要是只針對(duì)當(dāng)前狀態(tài)產(chǎn)生的,所以每一次update后,再次計(jì)算hexdigest()的值都會(huì)不一樣。 hash.digest()返回bytes格式的消息摘要 hash.hexdigest()與digest方法類似,不過返回的是兩倍長度的字符串對(duì)象,所有的字符都是十六進(jìn)制的數(shù)字。通常用于郵件傳輸或非二進(jìn)制環(huán)境中。通常我們比較摘要時(shí),比較的就是這個(gè)值! hash.copy()返回一個(gè)hash對(duì)象的拷貝hashlib.new(name[, data])一個(gè)通用的構(gòu)造方法,name是某個(gè)算法的字符串名稱,data是可選的bytes類型待摘要的數(shù)據(jù)。>>> h = hashlib.new(’sha256’,b'haha')>>> h.hexdigest()’090b235e9eb8f197f2dd927937222c570396d971222d9009a9189e2b6cc0a2c1’三、hashlib實(shí)際操作

1)在進(jìn)行md5哈希運(yùn)算前,需要對(duì)數(shù)據(jù)進(jìn)行編碼,否則報(bào)錯(cuò)

import hashlibobj = hashlib.md5() #構(gòu)造一個(gè)hashlib的對(duì)象obj.update('小馬過河') #update對(duì)指定字符串進(jìn)行加密print(obj) --------------結(jié)果: obj.update('小馬過河')TypeError: Unicode-objects must be encoded before hashing

2)obj是hash對(duì)象

import hashlibobj = hashlib.md5()obj.update('小馬過河'.encode('utf-8'))print(obj,type(obj))-------------------結(jié)果:<md5 HASH object @ 0x001C5590> <class ’_hashlib.HASH’>

3)得到字符串

import hashlibobj = hashlib.md5()obj.update('小馬過河'.encode('utf-8'))result=obj.hexdigest()print(result)--------------結(jié)果:24f67b0f6d02adc8867d612e0e0fc40a

4)給加密增添難度

import hashlibobj = hashlib.md5('mcw@xiaoma@aaaafffff'.encode('utf-8')) #添加一些內(nèi)容,提高加密復(fù)雜度。此處的字符串也要先編碼,obj.update('小馬過河'.encode(’utf-8’))result = obj.hexdigest()print(result)-------------------結(jié)果:b11740508f28e04837f2c0e3a58cf990

5)用hashlib做成加密函數(shù)(添加基礎(chǔ)的字符了的)

import hashlibdef get_md5(data): #傳參為需要加密的字符串 obj = hashlib.md5('sidrsicxwersdfsaersdfsdfresdy54436jgfdsjdxff123ad'.encode(’utf-8’)) obj.update(data.encode(’utf-8’)) result = obj.hexdigest() return resultval = get_md5(’123’)print(val)--------------結(jié)果:35093270b6352fa9721370b781f7b4d7四、小小案例

import hashlibUSER_LIST = []def get_md5(data): obj = hashlib.md5('12:;idrsicxwersdfsaersdfsdfresdy54436jgfdsjdxff123ad'.encode(’utf-8’)) obj.update(data.encode(’utf-8’)) result = obj.hexdigest() return resultdef register(): print(’**************用戶注冊(cè)**************’) while True:user = input(’請(qǐng)輸入用戶名:’)if user == ’N’: returnpwd = input(’請(qǐng)輸入密碼:’)temp = {’username’:user,’password’:get_md5(pwd)}USER_LIST.append(temp)def login(): print(’**************用戶登陸**************’) user = input(’請(qǐng)輸入用戶名:’) pwd = input(’請(qǐng)輸入密碼:’) for item in USER_LIST:if item[’username’] == user and item[’password’] == get_md5(pwd): return Trueregister()result = login()if result: print(’登陸成功’)else: print(’登陸失敗’)------------------------結(jié)果:**************用戶注冊(cè)**************請(qǐng)輸入用戶名:小馬過河請(qǐng)輸入密碼:123456請(qǐng)輸入用戶名:N**************用戶登陸**************請(qǐng)輸入用戶名:小馬過河請(qǐng)輸入密碼:123456登陸成功

到此這篇關(guān)于Python基礎(chǔ)之hashlib模塊詳解的文章就介紹到這了,更多相關(guān)Python hashlib模塊內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
影院欧美亚洲| 黄色成人在线网址| 久久91导航| 国产精品成人a在线观看| 亚洲一级淫片| 亚洲精选av| 欧美中文日韩| 午夜在线精品偷拍| 免费的成人av| 在线精品福利| 亚洲日本久久| 日韩一区二区三区四区五区| 午夜亚洲福利| 青青草国产精品亚洲专区无| 欧美在线黄色| 国产精品麻豆成人av电影艾秋 | 久久99影视| 国产日韩欧美在线播放不卡| 欧美日韩一区二区国产| 国产高清视频一区二区| 老司机精品在线| 色婷婷色综合| 欧美 日韩 国产一区二区在线视频 | 亚洲精品伊人| 日本久久二区| 久久精品亚洲一区二区| 麻豆视频在线观看免费网站黄 | 日日摸夜夜添夜夜添国产精品| 综合一区二区三区| 青草综合视频| 精品美女久久| 久久久五月天| 丝袜亚洲另类欧美| 日本视频中文字幕一区二区三区| 国产精品久久久久久久久久齐齐| 精品国产一区二区三区2021| 日产精品一区| 久久国产精品毛片| 久久精品72免费观看| 精品国产一区二区三区性色av| 精品国产一区二区三区2021| 久久九九精品| 亚洲三级国产| 精品一区二区三区中文字幕视频| 久久狠狠婷婷| 日韩精品一级二级| 国产日韩中文在线中文字幕| 精品资源在线| 综合一区二区三区| 国产一区调教| 免费久久久久久久久| 亚洲精品黄色| 国产成人免费| 亚洲综合二区| 久久麻豆视频| 久久人人精品| 婷婷综合福利| 日韩天堂在线| 日本不卡视频在线观看| 在线天堂中文资源最新版| 免费欧美日韩| 成人在线视频免费| 日韩影院在线观看| 国产一区二区精品久| 夜夜精品视频| 精品美女久久| 鲁大师影院一区二区三区| 美女在线视频一区| 亚洲免费婷婷| 国产激情在线播放| 国产精品普通话对白| 国产精品视频一区二区三区四蜜臂| 日韩欧美一区二区三区在线视频 | 成人午夜亚洲| 亚洲精品国产精品粉嫩| 国产va在线视频| 欧美有码在线| 亚洲一区二区三区高清| 国产精品成久久久久| 日韩精品欧美大片| 黄色欧美日韩| 国精品产品一区| 日韩福利视频导航| 亚洲男女自偷自拍| 亚洲国产专区| 日韩av在线中文字幕| 欧美日韩亚洲一区三区| 在线观看亚洲精品福利片| 91精品一区二区三区综合在线爱| 欧美黄页在线免费观看| 深夜日韩欧美| 模特精品在线| 久久久夜精品| 国产精品免费大片| 一区二区日韩免费看| 激情黄产视频在线免费观看| 91成人精品观看| 亚洲午夜在线| 国产精品高潮呻吟久久久久| 美女亚洲一区| 久久精品三级| 国产精品久久久免费| 夜夜嗨网站十八久久| 日韩.com| 欧美精品国产一区| 99在线精品视频在线观看| 黄色欧美在线| 日韩精品1区2区3区| 日韩不卡免费高清视频| 国产色噜噜噜91在线精品| 婷婷丁香综合| 91亚洲成人| 中文字幕日本一区| 国产91精品对白在线播放| 久久精品国产精品亚洲毛片| 亚洲乱码久久| 国产精品字幕| 久久精品国产久精国产| 日本中文字幕一区二区视频| 欧美丝袜一区| 国产精品99一区二区三| 日韩精品一区二区三区免费视频| 在线一区免费观看| 日韩欧美二区| 精精国产xxxx视频在线播放| 国产毛片精品久久| 亚洲日本在线观看视频| 91精品一区国产高清在线gif| 免费在线日韩av| 欧美亚洲二区| 综合色就爱涩涩涩综合婷婷| 蜜桃视频在线观看一区| 欧美日韩视频一区二区三区| av在线日韩| 日韩欧美一区免费| 国产一区二区三区日韩精品| 国产亚洲高清在线观看| 丝袜美腿一区二区三区| 午夜影院欧美| 免费视频一区二区| 亚洲一区激情| 欧美日韩免费观看一区=区三区| 日韩av免费大片| 精品久久免费| 精品丝袜久久| 老司机精品视频在线播放| 日韩精品视频一区二区三区| 国产精品久久久久av蜜臀| 国产日产一区| 欧美亚洲二区| 青草国产精品久久久久久| 亚洲小说春色综合另类电影| 爽好久久久欧美精品| 国产农村妇女精品一二区 | 欧美天堂亚洲电影院在线观看| 欧美xxxx中国| 欧美激情麻豆| 国产suv精品一区| 国产精品福利在线观看播放| 精品一区二区三区亚洲| 精品国产午夜| 成人台湾亚洲精品一区二区| 精品国产不卡| 99久久久久| 免费黄色成人| 伊人久久婷婷| 美国欧美日韩国产在线播放| 综合一区av| 欧美亚洲色图校园春色| 午夜久久av | 午夜国产一区二区| 国产精品日韩| 亚洲精品自拍| 国产日产精品_国产精品毛片| 欧美精品aa| а√天堂8资源在线| 日韩精品免费一区二区三区| 亚洲精品国产偷自在线观看| 一区福利视频| 蜜桃一区二区三区在线观看| 日韩专区在线视频| 欧美激情精品| 欧美一区久久久| 国产一区二区三区自拍| 免费黄色成人| 综合激情一区| 国产精品超碰| 特黄毛片在线观看| 日本亚洲视频| 久久久精品国产**网站| 五月激情久久| 视频在线在亚洲| 久久精品999| 国产精品久久久久9999高清| 九九久久婷婷| 日韩精品亚洲专区| 久久中文字幕导航| 亚洲高清久久| 日韩中文字幕| 国产精品chinese|