本篇介绍利用gmssl算法库中的sm3模块来进行hash值的计算。

一 sm3 hash算法的特点:

  • sm3用于计算一个消息的hash值;
  • 几乎无法被逆向,即通过hash值无法推断出原始消息;
  • sm3类似于md5,但是比md5安全;sm3是国密算法。

二 sm3算法举例:

import binascii#导入国密算法sm4包
from gmssl import sm4,sm3def sm3_hash(message:bytes):"""国密sm3加密:param message: 消息值,bytes类型:return: 哈希值"""msg_list = [i for i in message]hash_hex = sm3.sm3_hash(msg_list)print(hash_hex)# bytes2hex(hash_hex);hash_bytes = bytes.fromhex(hash_hex)print(hash_bytes)# return bytes.hash# return hashdef bytes2hex(bytesData):hex = binascii.hexlify(bytesData) print(hex)print(hex.decode())return hex# main
if __name__ == '__main__':print("main begin");message = b"123456" # bytes类型sm3_hash(message);

运行结果:

% python3 sm3_t1.py
main begin
207cf410532f92a47dee245ce9b11ff71f578ebd763eb3bbea44ebd043d018fb
b’ |\xf4\x10S/\x92\xa4}\xee$\\xe9\xb1\x1f\xf7\x1fW\x8e\xbdv>\xb3\xbb\xeaD\xeb\xd0C\xd0\x18\xfb’

国密算法:利用python进行sm3 hash算法,计算hash值,国密算法库gmssl的使用相关推荐

  1. Python编写一个程序来计算 BMI 值。

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.BMI是什么? 二.使用步骤 1.简单代码 2.结果 总结 前言 Python编写一个程序来计算 BMI 值: 一 ...

  2. 计算多项式值的秦九韶算法

    //计算多项式值的秦九韶算法 double getresult(double array[],int n,double x)//double array[];//存系数,a[0]为常数项 {doubl ...

  3. 连连看不一样的玩法,利用python进行图片相似度计算

    先放制作好的游戏视频链接:(纯粹是兴趣分享) 连连看不一样的玩法-图像相似度识别-python_单机游戏热门视频 https://www.ixigua.com/7076826558106698253? ...

  4. python最优分箱计算iv值_Python计算woe和iv值

    计算逻辑 先计算WOE值,再计算IV值. 其中Y或N分别是YES,NO,反应在因变量中,就是1和0. Yi是第i组中1的个数,YT是所有(Total)为1的个数. Ni是第i组中0的个数,NT是所有( ...

  5. python alphago_python的并性计算和Alphago的APV-MCTS算法

    因为最近需要实现alphago中的apv-mcts算法的并行计算.刚好借此机会对python的并行/并发计算整理一番. 基本概念 进程与线程 在目前的冯洛伊曼计算机架构中,进程就是一个程序在一个数据集 ...

  6. 利用Python进行数据分析-07-汇总和计算描述统计

    1.sum函数 df = pd.DataFrame([[1.4,np.nan],[7.1,-4.5],[np.nan,np.nan],[0.75,-1.3]],index = ['a','b','c' ...

  7. python计算csv列平均值_利用Python读取CSV文件并计算某一列的均值和方差

    近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后 ...

  8. python读取csv求平均数_利用Python读取CSV文件并计算某一列的均值和方差

    近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后 ...

  9. 利用Python解决将黄金比例计算至100位

    这个问题有两个解决思路: 一种是利用斐波拉契数列 相邻两个斐波拉契数列的比值就是黄金比例值 数字越靠后精确度越高 测试中到240位便可以将黄金比例计算精确到100位      def fibs(x,a ...

最新文章

  1. 机器视觉中如何选择工业相机与合适的相机镜头
  2. XamarinSQLite教程添加测试数据
  3. Linux的经常使用命令(1) - 指定执行级别
  4. Oracle 12C -- truncate的级联操作
  5. Node.js 基金会和 JS 基金会准备合并,你怎么看?
  6. 如何使用下一代编码技术提升流媒体体验
  7. 软考系统架构师笔记-案例分析重点(二)
  8. 部署DNS split分离解析服务
  9. 程序如何在两个gpu卡上并行运行_【他山之石】如何支撑上亿类别的人脸训练?显存均衡的模型并行(PyTorch实现)...
  10. Windows 对外开放端口号
  11. Python实现淘宝秒杀聚划算自动提醒源码
  12. 干货 | 找工作的经验总结(一)
  13. 图谱实战 | 开源知识图谱融合工具剖析:Dedupe与OpenEA工具实现思想、关键环节与实操分析...
  14. 个人开发者做一款Android App,android如何开发一款赚钱app
  15. 【亲测有效】解决 Ubuntu 虚拟机无法共享文件夹的问题
  16. c++实现currency类(两种)
  17. Linux查看或修改ip地址
  18. JavaScript判断输入值是否为素数
  19. 台大郭彦甫_MATLAB视频笔记(六)图形界面_GUI程序设计
  20. C语言编程>第二十五周 ① 给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个“*”号。

热门文章

  1. 【vue+ant-design-vue+a-list】微信扫码登录pc端,后台页面增加微信绑定和微信解绑功能
  2. linux系统还原回收站,Trash-Cli:让你的Linux系统也有回收站
  3. 怎样提高解决问题的能力
  4. Android水果超市的登录界面,【水果识别】自助水果超市matlab源码含 GUI
  5. Vultr删除信用卡
  6. 如何打造千万级Feed流系统
  7. 编程语言的学习路线通论
  8. nginx: [emerg] getpwnam(“nobody“) failed
  9. Dissecting Person Re-identification from the Viewpoint of Viewpoint
  10. 【化解数据结构】详解字典结构,并实现一个字典