openssl hmac不同于python hm

2024-10-03 17:23:41 发布

您现在位置:Python中文网/ 问答频道 /正文

有:

KEY='7vgd39eyxald9sucClM7'
DATA='POST\nmultipart/form-data\nWed, 10 Jun 2015 07:27:43 GMT\n/1/classes/item\nx-wbs-uid:f886a495220975d724ff3679a5cc9cef04343076'

在命令行中

^{pr2}$

在python中

import hmac, hashlib, base64
hash = hmac.new(KEY, DATA, hashlib.sha256).digest()
base64.encodestring(hash).strip()
result: u6Poj7Jqrz6+wvXDNyK88pVm5iKUF6RUmq2P2LtHmuE=

有人能帮我个忙吗???谢谢。在


Tags: keyformdatahashitemposthmacjun
1条回答
网友
1楼 · 发布于 2024-10-03 17:23:41

它应该是由python代码中的DATA字符串定义引起的。在

您需要添加r以将DATA视为原始字符串,例如

DATA=r'POST\nmultipart/form-data\nWed, 10 Jun 2015 07:27:43 GMT\n/1/classes...'

使用rDATA中的所有转义码都将被忽略。也就是说,“\n”将被视为换行符,而r'\n'将被视为后跟n的字符

^{pr2}$

使用r,它将通过openssl输出等于输出的结果

VmBdzRcNg0OJZVVLSgg1zcViflug9iqtb6Gsnjqf9F8K

相关问题 更多 >