许虎虎 开发者工具集
50%

HMAC 生成


选择算法

HMAC 生成

HMAC(Hash-based Message Authentication Code)是一种基于哈希算法的消息认证码,用于确保消息的完整性和真实性。它通常与加密哈希算法(如 SHA-256)结合使用,以产生安全的消息认证码。

生成 HMAC 的步骤:
选择哈希函数:通常选择一个常见的加密哈希算法,例如 SHA-256、SHA-1 等。
选择密钥:HMAC 需要一个密钥来生成消息认证码。
填充密钥:如果密钥长度不足,使用零填充。如果密钥过长,将其通过哈希函数压缩。
计算内层哈希:将密钥与数据拼接,计算哈希。
计算外层哈希:将密钥与内层哈希结果拼接,再计算一次哈希,得到最终的 HMAC。
示例:生成 HMAC-SHA256
假设我们使用 HMAC 和 SHA-256 算法生成消息认证码。输入数据和密钥如下:

消息:"Hello, World!"
密钥:"secretkey"
Python 示例代码:
python

import hmac
import hashlib

# 密钥和消息
key = b"secretkey"
message = b"Hello, World!"

# 使用 HMAC 和 SHA-256 算法生成 HMAC
hmac_result = hmac.new(key, message, hashlib.sha256).hexdigest()

print(f"HMAC: {hmac_result}")
解释:
hmac.new(key, message, hashlib.sha256):使用 HMAC 和 SHA-256 算法来生成 HMAC。
.hexdigest():输出 HMAC 的十六进制表示。
这段代码会输出 Hello, World! 消息的 HMAC 值。

你可以根据自己的需求调整消息和密钥,并使用不同的哈希算法(如 SHA-1、SHA-256、SHA-512 等)来生成 HMAC。