{site_name}

{site_name}

🌜 搜索

Python中的hmac模块提供了基于密钥的消息验证功能

Python 𝄐 0
密码验证python,python编写密码验证程序,python验证密码合法性代码,python ocr 验证码,密码验证程序 python,用python编写密码验证程序
Python中的hmac模块提供了基于密钥的消息验证功能。其中,HMAC代表"Hash-based Message Authentication Code"(基于哈希函数的消息认证码),它是一种用于验证消息完整性和真实性的算法。

hmac模块包含了一个hmac()函数,该函数接受三个参数:密钥、消息和哈希函数类型。使用给定的密钥对消息进行哈希,并生成一个消息摘要。然后,将其与传输过程中接收到的摘要进行比较,以验证消息的完整性和真实性。

以下是一个计算和验证hmac的例子:

python
import hmac
import hashlib

# 设置密钥和消息
key = b'secret_key'
msg = b'Hello, world!'

# 使用SHA256哈希函数计算hmac
h = hmac.new(key, msg, hashlib.sha256)

# 获得hmac值
digest = h.digest()

# 将hmac值发送到对方
print('HMAC:', digest.hex())

# 对方接收hmac值并进行验证
received_digest = bytes.fromhex('7f12b8cdd0dcbec4821c06e318a79cdc1adda55cfb9e9eb9df7da778c2bb40f7')
if hmac.compare_digest(digest, received_digest):
print('Message is authentic!')
else:
print('Message is NOT authentic!')


在上面的示例中,我们首先设置了一个密钥和消息,然后使用SHA256哈希函数计算了hmac值。最后,我们打印出hmac值并将其发送到对方。对方接收到hmac值后,可以使用compare_digest()函数进行验证。如果传输过程中的摘要与计算得到的摘要相同,则说明消息是真实和完整的。