【发布时间】:2018-09-26 13:24:51
【问题描述】:
我正在为 python (v 3.7) 实现 SHA1-HMAC 生成,以便能够创建 HMAC 代码。
我使用了online generator to create SHA1-HMAC 和以下数据:
- 字符串:
'123' - 密钥:
'secret' - 摘要算法:
SHA1
我得到了这个结果:
b14e92eb17f6b78ec5a205ee0e1ab220fb7f86d7
但是,当我尝试对 Python 执行相同操作时,我得到了不同的结果,这些结果是错误的。
import hashlib
import hmac
import base64
def make_digest(message, key):
key = bytes(key, 'UTF-8')
message = bytes(message, 'UTF-8')
digester = hmac.new(key, message, hashlib.sha1)
signature1 = digester.digest()
signature2 = base64.urlsafe_b64encode(signature1)
return str(signature2, 'UTF-8')
result = make_digest('123', 'secret')
print(result)
这段代码给出了结果:
sU6S6xf2t47FogXuDhqyIPt_htc=
这段代码有什么问题?
【问题讨论】: