我们如何将值和键输入为十六进制值?
echo -n "value" | openssl dgst -sha1 -hmac "key"
$value=11111111FFAA2211
$key=11111111FFAA2211000000000011BBFF
echo -n "$value" | openssl dgst -sha1 -hmac "$key"
也不起作用。
答案 0 :(得分:4)
我设法解决了它,它使用了' -macopt hexkey:string'选项。
echo -n '4869205468657265' | xxd -r -p | openssl dgst -sha512 -mac HMAC -macopt hexkey:0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
(stdin)= 87aa7cdea5ef619d4ff0b4241a1d6cb02379f4e2ce4ec2787ad0b30545e17cdedaa833b7d6b8a702038b274eaea3f4e4be9d914eeb61f1702e696c203a126854
或
key='0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b'
value='4869205468657265'
echo -n "$value" | xxd -r -p | openssl dgst -sha512 -mac HMAC -macopt hexkey:$key
(stdin)= 87aa7cdea5ef619d4ff0b4241a1d6cb02379f4e2ce4ec2787ad0b30545e17cdedaa833b7d6b8a702038b274eaea3f4e4be9d914eeb61f1702e696c203a126854
我希望这个答案可以作为一个帮助人们的迷你教程。