Я пытаюсь получить тот же вывод из jwt.io и openssl
.Пока я не помечаю"секретный base64 кодированный", я могу принять участие до подписи, выполнить ее через
echo -n "pasted data from jwt.io" | \
| openssl dgst -binary -sha512 -hmac abc \
| openssl enc -base64 -A;
и получить от openssl ту же самую подпись, что иjwt.io показывает (используя HS512!).
Если я нажимаю «секретный base64 кодированный», очевидно, что подпись меняется на jwt.io.Теперь я кодирую секрет «abc» с base64, чтобы получить «YWJj», и использую его в качестве секрета для openssl, как в
echo -n "pasted data from jwt.io" | \
| openssl dgst -binary -sha512 -hmac YWJj \
| openssl enc -base64 -A;
. Это не создает ту же сигнатуру, поэтому я, вероятно, неправильно понимаю этот флажок.Что именно это делает и как мне нужно позвонить openssl
, чтобы симулировать это?
(Я знаю, что есть разница между url-кодом base64 и base64, но это не должно иметь значения для кодировки "abc".)