4

本当に混乱しています-それは、最後の単一の文字配置、または私が気付いていない基本的なダイジェストで行われた可能性のあるパディングに関係していると思います..?

したがって、これを実行すると、base64 エンコードの結果が表示されます。

echo 'host@mail.com:password' | openssl enc -base64
aG9zdEBtYWlsLmNvbTpwYXNzd29yZAo=

ここで、curl リクエストを行うと:

curl -v -u host@mail.com:password https://
aG9zdEBtYWlsLmNvbTpwYXNzd29yZA==

base64 文字列が同じではないことに気付くでしょう..はは何? base64 コマンド ライン 1 は実際には正しくありません。リクエストでそれを置き換えると、失敗します。SO - 基本ダイジェストは本当に base64 文字列を使用していませんか? 文字列の最後に == ではなく ao= を常に実行していることに気付きました...

そしてアイデア?

編集:だから、それはエコーからの末尾の改行でした: -n 末尾の改行を出力しません

ありがとう!

4

1 に答える 1

7
>>> 'aG9zdEBtYWlsLmNvbTpwYXNzd29yZA=='.decode('base64')
'host@mail.com:password'
>>> 'aG9zdEBtYWlsLmNvbTpwYXNzd29yZAo='.decode('base64')
'host@mail.com:password\n'

echo -n代わりに試してください。

于 2010-01-23T04:27:54.523 に答える