2
KEY='7vgd39eyxald9sucClM7'
DATA='POST\nmultipart/form-data\nWed, 10 Jun 2015 07:27:43 GMT\n/1/classes/item\nx-wbs-uid:f886a495220975d724ff3679a5cc9cef04343076'
在命令行
HASH_BIN=`echo -n "$DATA" | openssl dgst -sha256 -mac HMAC -macopt key:$KEY -binary`
openssl enc -e -base64 <<< $HASH_BIN
result: VmBdzRcNg0OJZVVLSgg1zcViflug9iqtb6Gsnjqf9F8K
在Python
import hmac, hashlib, base64
hash = hmac.new(KEY, DATA, hashlib.sha256).digest()
base64.encodestring(hash).strip()
result: u6Poj7Jqrz6+wvXDNyK88pVm5iKUF6RUmq2P2LtHmuE=
有人可以给我一个帮助???非常感谢。
你能粘贴整个Python代码包括键和数据定义? –
好问题。我做了实验,发现了和你一样的问题。当我试图使用另一个更简单的DATA字符串(不带'\ n')时,openssl和python可以产生相同的结果。所以我发现问题是由python中的字符串定义引起的。 –