我得到了一些groovy中的代码,并被要求将其转换为Python
def generateHmac(String data){
String secretKey = '123445667777'
byte[] digest
Mac mac = Mac.getInstance("HmacSHA256")
SecretKeySpec secretKeySpec = new SecretKeySpec(secretKey.getBytes(), "HmacSHA256")
mac.init(secretKeySpec)
digest = mac.doFinal(data.getBytes())
//we use hex encoding for our tokens.
String token = digest.encodeHex().toString()
return token
}
我尝试过很多次,但都失败了:
def generateHmac(String data):
data = "my_url"
secret_key = b"123445667777"
h = SHA256.new()
h.update(secret_key)
h.update(b"data")
print(h.hexdigest())
hmac与摘要不是一回事。HmacSHA26使用SHA256,它与SHA256不同。您需要使用hmac library来获得正确的结果
应该给您想要的,其中
secretKey
和message
是字节上述内容相当于较长的形式:
但是一旦你有了hmac对象,你就可以用其他的东西,比如
update()
和更多的文本或者hexdigest()
来获得一个类似文本的摘要相关问题 更多 >
编程相关推荐