hmac库:Python密码消息签名

举报
择城终老 发表于 2021/07/27 00:38:36 2021/07/27
【摘要】 目录 前言消息签名二进制摘要 前言 HMAC算法可以用于验证信息的完整性,这些信息可能在应用之间传递,或者存储在一个可能有安全威胁的地方。 其基本思路:生成实际数据的一个密码散列,并提供一个共享的秘密密钥。然后使用得到的散列检查所传输或存储的信息,以确定一个信任级别,而不传输秘密密钥。 消息签名 hmac库提供了一个new()函数来创建一个新对象...

前言

HMAC算法可以用于验证信息的完整性,这些信息可能在应用之间传递,或者存储在一个可能有安全威胁的地方。

加油
其基本思路:生成实际数据的一个密码散列,并提供一个共享的秘密密钥。然后使用得到的散列检查所传输或存储的信息,以确定一个信任级别,而不传输秘密密钥。

消息签名

hmac库提供了一个new()函数来创建一个新对象来计算消息签名。示例如下:

import hashlib
import hmac

str = 'Li YuanJing'
hmac_maker = hmac.new(b'820-880-8820', bytes(str, 'utf-8'), hashlib.sha1).hexdigest()
print(hmac_maker)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

运行之后,效果如下:
消息
new第1个参数:秘密密钥

第2个参数:需要认证签名的数据

第3个参数:采用的散列算法

如控制台输出,计算出了一个HMAC签名。

二进制摘要

在许多的Web服务中,我们会经常使用base64编码版本的二进制摘要,所以我们需要将上面的签名数据返回为base64编码的二进制摘要,示例如下:

import hashlib
import hmac
import base64

str = 'Li YuanJing'
hmac_maker = hmac.new(b'820-880-8820', bytes(str, 'utf-8'), hashlib.sha1).digest()
print(base64.encodebytes(hmac_maker))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

运行之后,效果如下:
二进制摘要

文章来源: liyuanjinglyj.blog.csdn.net,作者:李元静,版权归原作者所有,如需转载,请联系作者。

原文链接:liyuanjinglyj.blog.csdn.net/article/details/116760326

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。