电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python基礎之hashlib模塊詳解

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

1.什么叫hash:

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

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

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

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

二、hash對象的方法

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

1)在進行md5哈希運算前,需要對數據進行編碼,否則報錯

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

2)obj是hash對象

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

3)得到字符串

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

4)給加密增添難度

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

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

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)--------------結果: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(’**************用戶注冊**************’) while True:user = input(’請輸入用戶名:’)if user == ’N’: returnpwd = input(’請輸入密碼:’)temp = {’username’:user,’password’:get_md5(pwd)}USER_LIST.append(temp)def login(): print(’**************用戶登陸**************’) user = input(’請輸入用戶名:’) pwd = input(’請輸入密碼:’) for item in USER_LIST:if item[’username’] == user and item[’password’] == get_md5(pwd): return Trueregister()result = login()if result: print(’登陸成功’)else: print(’登陸失敗’)------------------------結果:**************用戶注冊**************請輸入用戶名:小馬過河請輸入密碼:123456請輸入用戶名:N**************用戶登陸**************請輸入用戶名:小馬過河請輸入密碼:123456登陸成功

到此這篇關于Python基礎之hashlib模塊詳解的文章就介紹到這了,更多相關Python hashlib模塊內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 远程会诊系统-手术示教系统【林之硕】医院远程医疗平台 | 赛尔特智能移动阳光房-阳光房厂家-赛尔特建筑科技(广东)有限公司 | 奥运星-汽车性能网评-提供个性化汽车资讯 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 赛尔特智能移动阳光房-阳光房厂家-赛尔特建筑科技(广东)有限公司 | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 硬齿面减速机_厂家-山东安吉富传动设备股份有限公司 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 电力电子产业网| 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 回转炉,外热式回转窑,回转窑炉-淄博圣元窑炉工程有限公司 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 双效节能浓缩器-热回流提取浓缩机组-温州市利宏机械 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 沟盖板_复合沟盖板厂_电力盖板_树脂雨水篦子-淄博拜斯特 | 垃圾压缩设备_垃圾处理设备_智能移动式垃圾压缩设备--山东明莱环保设备有限公司 | 微波消解仪器_智能微波消解仪报价_高压微波消解仪厂家_那艾 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 不锈钢反应釜,不锈钢反应釜厂家-价格-威海鑫泰化工机械有限公司 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 三价铬_环保铬_环保电镀_东莞共盈新材料贸易有限公司 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 焊缝跟踪系统_激光位移传感器_激光焊缝跟踪传感器-创想智控 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 蒸压釜_蒸养釜_蒸压釜厂家-山东鑫泰鑫智能装备有限公司 | 浙江美尔凯特智能厨卫股份有限公司 | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 板式换网器_柱式换网器_自动换网器-郑州海科熔体泵有限公司 | 专业音响设备_舞台音响设备_会议音响工程-首选深圳一禾科技 | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 健康管理师报名入口,2025年健康管理师考试时间信息网-网站首页 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 【电子厂招聘_普工招工网_工厂招聘信息平台】-工立方打工网 |