如何在Python代码中使用SHA256-HMAC?
问题描述:
I am taking message and key from this URL如何在Python代码中使用SHA256-HMAC?
import hmac
import hashlib
import base64
my = "/api/embedded_dashboard?data=%7B%22dashboard%22%3A7863%2C%22embed%22%3A%22v2%22%2C%22filters%22%3A%5B%7B%22name%22%3A%22Filter1%22%2C%22value%22%3A%22value1%22%7D%2C%7B%22name%22%3A%22Filter2%22%2C%22value%22%3A%221234%22%7D%5D%7D"
key = "e179017a-62b0-4996-8a38-e91aa9f1"
print(hashlib.sha256(my + key).hexdigest())
我得到这个结果:
2df1d58a56198b2a9267a9955c31291cd454bdb3089a7c42f5d439bbacfb3b88
期待的结果:
adcb671e8e24572464c31e8f9ffc5f638ab302a0b673f72554d3cff96a692740
答
你最好不要让所有在代码中使用的hmac
。
使用hmac
,从你的关键,信息构建HMAC对象,并通过将在其构造识别的哈希算法的典型方式:
h = hmac.new(key, my, hashlib.sha256)
print(h.hexdigest())
应该输出
adcb671e8e24572464c31e8f9ffc5f638ab302a0b673f72554d3cff96a692740
为你的榜样数据。
获取错误:TypeError:'module'对象不可调用 –
@VenkateshPanabaka:这是因为我在这里复制时错误地使用'.new' - 现在修复。 –
非常感谢。它正在工作.. –