2.2 创建HMAC对象
import hashlib
# 选择散列函数(SHA-256)
hash_function = hashlib.sha256
# 生成随机密钥(实际使用时应该从安全的地方获取密钥)
secret_key = b'MySecretKey'
# 创建HMAC对象
hmac_object = hmac.new(secret_key, digestmod=hash_function)
2.3 添加消息数据
message_data = b'Hello, HMAC!'
hmac_object.update(message_data)
2.4 获取HMAC值
hmac_value = hmac_object.digest()
print("HMAC值:", hmac_value)
3. 验证消息的完整性和真实性
使用HMAC时,发送方和接收方共享相同的密钥。发送方通过计算HMAC值并将其发送给接收方,而接收方使用相同的密钥和消息数据来计算HMAC值。如果两个计算出的HMAC值相同,则消息完整且真实。
3.1 发送方计算HMAC值
import hashlib
def calculate\_hmac(message_data, secret_key):
hash_function = hashlib.sha256
hmac_object = hmac.new(secret_key, digestmod=hash_f