1

私のbase64 sha1が異なる理由を理解しようとしています。

私は得る

パスワード 'a' 結果 'hvfkN/qlp/zhXR3cuerq6jd2Z7g='

私のJava関数を使用する場合。いくつかのランダムなオンライン ツールを使用して確認できます。

ただし、コマンドラインとopensslを使用して確認しようとすると

echo a | openssl dgst -binary -sha1 | openssl base64

私は得る

P3hoUOOHVQ/auDbtfm3Igd4jABs=

多分それはutf8/bashのものだったので、試してみました

echo 'a' | iconv --from-code=ISO-8859-1 --to-code=UTF-8 | openssl dgst -binary -sha1 | openssl base64

同じ結果です。

私は何が欠けていますか?

編集:

私の元の結果を検証するサイト http://www.tools4noobs.com/online_php_functions/sha1/ 16進sha1を計算する

86f7e437faa5a7fce15d1ddcb9eaeaea377667b8

hexをbase64に変換 http://tomeko.net/online_tools/hex_to_base64.php?lang=en

hvfkN/qlp/zhXR3cuerq6jd2Z7g=

4

1 に答える 1

2

echoダイジェスト計算に含まれる改行を追加します。printf代わりに試してください。また、無関係な改行やその他の文字を追加するパイプラインの他の部分にも注意してください。

于 2012-05-11T22:00:17.257 に答える