首页 > 编程语言 >python模块之hashlib

python模块之hashlib

时间:2023-06-25 12:32:21浏览次数:42  
标签:######## hashlib hash python update hexdigest 模块 print


用于加密相关的操作,3.x里代替了md5(不可反解)模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

import           hashlib         


                    


          m           =           hashlib.md5()         


          m.update(b          "Hello"          )         


          m.update(b          "It's me"          )         


          print          (m.digest())         


          m.update(          "中文支持格式".encode(encoding="utf-8")          )         


                    


          print          (m.digest())           #2进制格式hash         


          print          (          len          (m.hexdigest()))           #16进制格式hash         





          # ######## md5 ########         


                    


          hash           =           hashlib.md5()         


          hash          .update(          'admin'          )         


          print          (          hash          .hexdigest())         


                    


          # ######## sha1 ########         


                    


          hash           =           hashlib.sha1()         


          hash          .update(          'admin'          )         


          print          (          hash          .hexdigest())         


                    


          # ######## sha256 ########         


                    


          hash           =           hashlib.sha256()         


          hash          .update(          'admin'          )         


          print          (          hash          .hexdigest())         


                    


                    


          # ######## sha384 ########         


                    


          hash           =           hashlib.sha384()         


          hash          .update(          'admin'          )         


          print          (          hash          .hexdigest())         


                    


          # ######## sha512 ########         


                    


          hash           =           hashlib.sha512()         


          hash          .update(          'admin'          )         


          print          (          hash          .hexdigest())


python 还有一个 hmac 模块,它内部对我们创建 key和value再进行处理然后再加密,散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;

一般用于网络通信中消息加密,前提是双方先要约定好key,就像接头暗号一样,然后消息发送把用key把消息加密,接收方用key + 消息明文再加密,拿加密后的值 跟 发送者的相对比是否相等,这样就能验证消息的真实性,及发送者的合法性了。

import           hmac           


          h1           =           hmac.new(b          '12345'          , b          'your name is Julia'          )         


          h2 = hmac.new(b'12345', '我是中文'.encode(encoding="utf-8"))
         


          print           h1.hexdigest()

标签:########,hashlib,hash,python,update,hexdigest,模块,print
From: https://blog.51cto.com/u_12667998/6544831

相关文章

  • 成为python爬虫工程师需要哪些知识?
    爬虫(Webcrawler)是一种自动化程序,用于从互联网上抓取、解析和提取网页数据。它模拟浏览器行为,通过发送HTTP请求获取网页内容,并通过解析网页源代码或DOM结构,提取所需的信息。以python爬虫为例,作为一名合格的工程师需要具备那些专业技能?Python爬虫的难度可以因个人经验和项目需求而......
  • python 大根堆
    python默认的都是小根堆,实现数字的大根堆,可在堆化前把数字乘以-1,输出时再乘以-1变回原值。比如:[5,20,6],堆化前用列表推导式把列表转为: [-5,-20,-6]importheapqimportrandomdata=list(range(1,30))random.shuffle(data)#打乱顺序data=data[:12]#......
  • 基于k6和python进行自动化性能测试
    摘要:在性能测试中,达到相应的性能指标对于一个软件来说十分重要,在本文中,将介绍一种现代化性能测试工具k6。本文分享自华为云社区《基于k6和python进行自动化性能测试》,作者:风做了云的梦。当我们开发完成一个应用程序时,往往需要对其进行性能测试,以帮助我们更好的优化程序以及发现......
  • pytest + yaml 框架 -41.postman 和 python代码也能录制成用例
    前言python代码和postman写的接口也能通过录制功能自动生成yaml格式用例了。python代码运行后自动录制环境准备参考前面一篇https://www.cnblogs.com/yoyoketang/p/17495374.html在项目本地新建一个recorde.py,名称随便定义frompytest_yaml_yoyo.mitm_httpimportRecode......
  • 【雕爷学编程】Arduino动手做(126)---GP2Y0A02YK0F红外测距模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • BOSHIDA DC电源模块在PLC控制器中的应用
    BOSHIDADC电源模块在PLC控制器中的应用DC电源模块广泛应用于PLC控制器中,主要用于提供稳定的直流电源给控制器的各个部件,包括CPU、输入/输出模块、通讯模块等。 在PLC控制器中,DC电源模块通常作为控制器的一个模块,不同型号的控制器可能有不同的DC电源模块,但是它们的主要功能都......
  • Python生成简短的唯一ID
    GUID生成的ID太长,不方便使用,我想生成一个短的,最好不要有特殊字符,另外,只在本机使用,不跨网络,所以我使用当前时间作为生成的ID,为了使生成的ID更短一些,对它进行重新编码;另外,为防止短时间内有重复的ID,记录上次生成的ID并进行重复判断.代码如下:defGenerateI......
  • python测试
      importosimportshutildefcheck_dir_exist(dir):#如果目标路径不存在原文件夹的话就创建ifnotos.path.exists(dir):os.makedirs(dir)defremove_dir(dir):#如果目标路径存在原文件夹的话就先删除ifos.path.exists(dir......
  • 深入Python网络编程:从基础到实践
    Python,作为一种被广泛使用的高级编程语言,拥有许多优势,其中之一就是它的网络编程能力。Python的强大网络库如socket,requests,urllib,asyncio,等等,让它在网络编程中表现优秀。本文将深入探讨Python在网络编程中的应用,包括了基础的socket编程,到高级的异步IO网络编程,以及我们如何......
  • 【雕爷学编程】Arduino动手做(125)---WT588D语音模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......