py的 HMAC sha-256算法示例
时间: 2024-10-25 22:12:57 浏览: 16
微信小程序:HMAC-SHA256加密算法
在Python中,HMAC (Hash-based Message Authentication Code) 通常用于验证数据的完整性和来源。SHA-256 是一种广泛使用的哈希函数。下面是一个简单的使用`hashlib`库实现HMAC-SHA-256的例子:
```python
import hashlib
from Crypto.Protocol.KDF import HKDF
from base64 import b64encode
# 首先,你需要一个密钥和一个盐
key = b'secret_key' # 这里假设是16字节长,因为SHA-256的输出是32字节
salt = b'salt'
# 使用HKDF从密钥派生出HMAC所需的子密钥
hmac_key = HKDF('sha256', key, salt, length=32)
# 想要加密的消息
message = b'this is a message'
# 创建HMAC算法,指定使用的哈希函数(sha256)
hmac = hmac_key + hashlib.sha256()
# 更新HMAC状态,添加消息
hmac.update(message)
# 计算并获取HMAC值,通常是Base64编码以便于存储和传输
hmac_digest = b64encode(hmac.digest()).decode('utf-8')
print(f'HMAC digest (Base64 encoded): {hmac_digest}')
```
在这个例子中,我们首先创建了HMAC密钥,然后使用该密钥对消息进行计算。注意,实际应用中,你可能会需要使用更安全的方式来生成密钥和随机盐。
阅读全文