python3 hash算法使用

python3下的pycryptodome库

from Crypto.cipher import *	if __name__ == '__main__':message = '123'#MD5和SHA的用法差不多print("SHA3_512: " + SHA3_512.new(message.encode('utf-8')).digest().hex())print("SHA512: " + SHA512.new(message.encode('utf-8')).digest().hex())print("MD5: " + MD5.new(message.encode('utf-8')).digest().hex())print("BLAKE2S: " + BLAKE2s.new(data = message.encode('utf-8')).digest().hex())#HMAC.new(密钥,需要处理的消息,处理的哈希方法)key = 'ABCD'print("HMAC-SHA224: " + HMAC.new(key.encode('utf-8'), message.encode('utf-8'), SHA224).digest().hex())#SHANK的使用也类似print("SHAKE128: " + SHAKE128.new(message.encode('utf-8')).read(64).hex())

注意:
1、我使用的pycryptodome版本为3.9.9,之前是使用了3.4.6会有很多奇怪的问题。可以这样升级

pip install --upgrade pycryptodome 

pip install --upgrade pycryptodome --user

2、
原本的__init__文件可能会缺少一些类,使用SHA3的时候会报错,需要修改下

__all__ = ['HMAC', 'MD2', 'MD4', 'MD5', 'RIPEMD160', 'SHA1','SHA224', 'SHA256', 'SHA384', 'SHA512', 'CMAC', 'Poly1305','SHA3_224', 'SHA3_256', 'SHA3_384', 'SHA3_512', 'SHAKE128', 'SHAKE256']

3、
SHAKE的read函数中的数值表示字节数,打印的结果2个字符表示1个字节。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

poj3335 半平面交

题意:给出一多边形。判断多边形是否存在一点,使得多边形边界上的所有点都能看见该点。 sol:在纸上随手画画就可以找出规律:按逆时针顺序连接所有点。然后找出这些line的半平面交。 题中给出的点已经按顺时针排好序了,所…

php进程间通信 yoc_续上篇Swoole多进程数据共享的问题

原因进程作为程序执行过程中资源分配的基本单位,拥有独立的地址空间,同一进程的线程可以共享本进程的全局变量,静态变量等数据和地址空间,但进程之间资源相互独立。由于PHP语言不支持多线程,因此Swoole使用多进程模式,…

JavaBean的规范

(1)JavaBean 类必须是一个公共类,并将其访问属性设置为 public (2)JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器,此构造器也应该通过调用各个特性的设置方法来设置特…

linux虚拟机ip修改无效

把一个centos虚拟机移动到另一台电脑的时候,移动前是静态ip,移动后发现虚拟机的ip不同了。 由于使用的是NAT,于是就修改了虚拟机的配置,发现虚拟机的ip仍然不是配置文件需要的情况。 可以尝试命令nmcli con show,如果…

验证(Verification)与确认(Validation)的差别

验证(Verification)与确认(Validation)的差别 说法一: (2)“验证(Verification)”的涵义 通过提供客观证据对规定要求已得到满足的认定。 (2)“确认(Validation)”的涵义…

vscode自动格式化不符合eslint_VsCode(Visual Studio Code)格式化代码符合EsLint

利用Visual Studio Code ESlint插件,实现自动格式化代码步骤一:安装ESlint插件>点击Extensions或者CtrlShiftX>搜索ESlint>install EsLint步骤二: 重启VsCode, 发现代码提示报错,代码不符合规范步骤三:鼠标ho…

解读Google分布式锁服务

背景介绍 在2010年4月,Google的网页索引更新实现了实时更新,在今年的OSDI大会上,Google首次公布了有关这一技术的论文。 在此之前,Google的索引更新,采用的的批处理的方式(map/reduce),也就是当增量数据达到…

使用PHPMailer邮件发不出去

遇到了PHPMailer发不出去邮件的问题,在执行smtpConnect()时失败了,同样的配置在其他环境就能发送邮件。 最后发现是dns没有配置,解析不了邮箱服务器的域名,所以没发出去。。。。 如果其他语言也遇到了这样的情况,可以…

PHPcurl抓取AJAX异步内容(转载)

PHPcurl抓取AJAX异步内容其实抓ajax异步内容的页面和抓普通的页面区别不大。ajax只不过是做了一次异步的http请求,只要使用firebug类似的工具,找到请求的后端服务url和传值的参数,然后对该url传递参数进行抓取即可。 利用Firebug的网络工具 …

做自适应网站专业乐云seo_自适应网站方案品牌乐云seo

自适应网站方案品牌乐云seo,做乐云seo网站推广哪收录比较稳定,下面小编从以下几点详细介绍一下自适应网站方案品牌乐云seo:一、乐云seo做核心关键词首页排名技术怎么样?孔祥永seo做核心关键词到首页的秘诀就是做好原创内容&#x…

boost windows编译

执行: (1)bootstrap.bat (2)b2 -j4 toolsetmsvc-9.0 linkstatic threadingmulti runtime-linkstatic address-model64 stage --stagedir“D:\Code\boost_1_66_0\lib” debug release toolset:msvc-9.0 使用vs2008编…

必应输入法产品分析

2013年4月,微软MSN(中国)宣布推出首款整合搜索体验的中文云输入法“必应Bing输入法”,其前身是“英库拼音输入法(于2012年8月发布测试版)” 在此,Fruits小组从宏观的软件工程角度和微观的产品实现细节对必应输入法进行了考察和分析。 &#x…

这是我第一题AC的线段树

题目简述&#xff1a; 有N个整数&#xff0c;Q次操作&#xff0c;每次操作为询问一个区间[a, b]内数的和(0号操作)或者把一个区间内的数全部加上v(1号操作) 线段树求解即可。 #include <cstdio> #include <algorithm> using std::min; using std::max; #define L(n…

a频繁连接不上redis_连接不到redis Caused by:..._慕课问答

redis装在linux虚拟机上&#xff0c;在xshell上可以成功访问redis&#xff0c;配了密码拿了老师完整的代码作测试&#xff0c;就是访问失败&#xff0c;不知道哪里出了问题地址端口密码都没错的&#xff0c;求解org.springframework.data.redis.RedisConnectionFailureExceptio…

抓localhost包 - rawcap

抓localhost包的话用wireshark好像有点麻烦&#xff0c;所以用rawcap RawCap官网 RawCap下载连接 直接运行&#xff0c;首先根据需要选择监听相应的网卡&#xff0c;然后再填写抓包文件保存的名字

持续集成交付CICD:Jira 发布流水线

目录 一、实验 1.环境 2.GitLab 查看项目 3.Jira 远程触发 Jenkins 实现合并 GitLab 分支 4.K8S master节点操作 5.Jira 发布流水线 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 主机架构版本IP备注master1K8S master节点1.20.6192.168.204.180 jenkins…

计算几何_多边形

判定凸多边形&#xff1a;顶点凹凸性法 连续三个顶点p1,p2,p3。计算p1p2,p2p3的叉乘&#xff0c;阶乘大于0&#xff0c;则表示p3点在线段p1和p2的左侧&#xff0c;然后依次计算下一个前后所组成向量的阶乘&#xff0c;如果在计算时&#xff0c;出现负值&#xff0c;则此多边形是…

wps完成率怎么设置_WPS表格中如何计算完成率?详细操作方法看这里!

平时我们在使用像WPS这样的办公软件时&#xff0c;我们经常会使用到其中的Excel表格软件&#xff0c;来完成日常工作当中所需要完成的各种数据的统计以及录入等工作。而在我们使用WPS表格来录入、修改或者是统计某一些数据时&#xff0c;我们往往会因为表格内容的设定需求&…

[原创]WebScarab工具介绍

[原创]WebScarab工具介绍 一 WebScarab介绍 WebScarab是一个用来分析使用HTTP和HTTPS协议的应用程序框架。其原理很简单&#xff0c;WebScarab可以记录它检测到的会话内容&#xff08;请求和应答&#xff09;&#xff0c;并允许使用者可以通过多种形式来查看记录。WebScarab的设…

段表的作用

表格来自《程序员的自我修养 ——链接、装载与库》 ELF段名作用.text代码段&#xff0c;存放执行语句.data数据段&#xff0c;存放初始化的全局变量和局部静态变量.bss未初始化的全局变量和局部静态变量.rodata只读数据段.comment注释信息段.note.GNU-stack堆栈提示段.debug调…