简体   繁体   中英

Strange behaviour with HMAC openssl

I need to execute hmac openssl, but when change a parameter I have a strange behaviour.

With these values, HMAC works properly

$ printf 03d4f7e460787295bb803f7f9fa3c023b3cb33623aadbea53720decfa5a4f6005800000000 |xxd -r -p | openssl dgst -sha512 -hmac `printf 71ef1c30a1a5503dd387aac85b714b779c7df8bc163b1fad66b1d51c94cd221e|xxd -r -p` | awk '{print $2}'
71af33b003e7e8033fcec8ad2ef46ee22b6518ae072fae24708201542d1b01bbe0b67fce1733443bfaddd52307e28fbe4e3c0945be31853d8f1caeb078dfc220

When change the value 71ef1c30a1a5503dd387aac85b714b779c7df8bc163b1fad66b1d51c94cd221e with a new value 2C31FBB2B809A9B2252FE64EC6D0011A8EAAA4D0A72EEEDF0A1E1DCF1B514320 I get an error

$ printf 03d4f7e460787295bb803f7f9fa3c023b3cb33623aadbea53720decfa5a4f6005800000000 |xxd -r -p | openssl dgst -sha512 -hmac `printf 2C31FBB2B809A9B2252FE64EC6D0011A8EAAA4D0A72EEEDF0A1E1DCF1B514320 |xxd -r -p` | awk '{print $2}'
%/NЧ.: No such file or directory
C: No such file or directory

UPDATE I tried with -macopt

first result is the same

$ printf 03d4f7e460787295bb803f7f9fa3c023b3cb33623aadbea53720decfa5a4f6005800000000 |xxd -r -p | openssl dgst -sha512 -mac HMAC -macopt key:`printf 71ef1c30a1a5503dd387aac85b714b779c7df8bc163b1fad66b1d51c94cd221e|xxd -r -p`   
(stdin)= 71af33b003e7e8033fcec8ad2ef46ee22b6518ae072fae24708201542d1b01bbe0b67fce1733443bfaddd52307e28fbe4e3c0945be31853d8f1caeb078dfc220

Second result same issue

$ printf 03d4f7e460787295bb803f7f9fa3c023b3cb33623aadbea53720decfa5a4f6005800000000 |xxd -r -p | openssl dgst -sha512 -mac HMAC -macopt key:`printf 2C31FBB2B809A9B2252FE64EC6D0011A8EAAA4D0A72EEEDF0A1E1DCF1B514320|xxd -r -p`   
??%/?N?????Ч.??: No such file or directory
?C: No such file or directory

Try with double quotes

$ printf 03d4f7e460787295bb803f7f9fa3c023b3cb33623aadbea53720decfa5a4f6005800000000 |xxd -r -p | openssl dgst -sha512 -hmac "`printf 71ef1c30a1a5503dd387aac85b714b779c7df8bc163b1fad66b1d51c94cd221e|xxd -r -p`" | awk '{print $2}'
71af33b003e7e8033fcec8ad2ef46ee22b6518ae072fae24708201542d1b01bbe0b67fce1733443bfaddd52307e28fbe4e3c0945be31853d8f1caeb078dfc220

$ printf 03d4f7e460787295bb803f7f9fa3c023b3cb33623aadbea53720decfa5a4f6005800000000 |xxd -r -p | openssl dgst -sha512 -hmac "`printf 2C31FBB2B809A9B2252FE64EC6D0011A8EAAA4D0A72EEEDF0A1E1DCF1B514320 |xxd -r -p`" | awk '{print $2}'
3b63439866b95de9d5402688dd26162fdd25646262087bebdffe024c5136954ea34a8f908de1b523ebf3fa86813db6a098d153ac79a8905e520134799fec8247

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM