base64を使用してエンコードしますが、なぜ間違った答えが返ってくるのですか?

JSStuball

WebSocketを認証しようとしています。ドキュメントの例では、クライアントのナンスが次のとおりであるかどうかが示されています。

nonce = 0xf08c98caf1fd82e8cea9825dbff04fd0 

次に、base64を使用してエンコードして以下を取得する必要があります。

target = "8IyYyvH9gujOqYJdv/BP0A==".

何が間違っているのかわかりませんが、次のようになります。

client_nonce = 0xf08c98caf1fd82e8cea9825dbff04fd0
str_client_nonce = str(client_nonce) 
encoded = b64encode(bytes(str_client_nonce, 'utf-8'))
print(encoded)

>> b'MzE5NzQ0NzM5NTUzODE1NjMyMTAxNjk0MjM1NzExODU0NjI4ODE2'
トマラク

手始めに、0xf08c98caf1fd82e8cea9825dbff04fd0はPythonの数値です(たとえば、0x1016を書く別の方法です)。しかし、数値は実際に持っているものではありません。バイトのリストの16進表現があり、16進文字列とも呼ばれます。

だからやるべきこと:

  • を取り除き0x、文字列を使用します。
  • その文字列をバイトにデコードします。
  • それらのバイトをbase64にエンコードします。

コード:

import base64

nonce_hex = 'f08c98caf1fd82e8cea9825dbff04fd0'
nonce = bytearray.fromhex(nonce_hex)
base64_nonce = base64.encodebytes(nonce)

# -> b'8IyYyvH9gujOqYJdv/BP0A==\n'

実際のナンスは常にバイトです。これらのバイトを表現/保存/転送するためにさまざまな方法が使用されています。16進文字列の使用は1つの一般的な方法です。base64の使用は別です。16進文字列とbase64はどちらも同じ目的を果たします。つまり、処理を容易にするために任意のバイトを文字列形式で格納します。Base64は、たまたま16進文字列よりも必要なスペースが少ないため、多くの場合、Base64が推奨されます。上記のコードは、バイトの1つの文字列表現を別の文字列表現に変換するだけです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Swiftでpowを使用して間違った答えが返されるのはなぜですか?

分類Dev

leetcodeが私のatoiの答えが正しくないと言っているのはなぜですか?それは実際に間違っていますか?またはリートコードにバグがありますか

分類Dev

なぜ私のコスト関数が間違った答えを出しているのですか?

分類Dev

このコードが機能しないことはわかっていますが、見つけたコードが機能するのはなぜですか?何が間違ったコードを間違っているのですか?

分類Dev

このJavaコードは正しいと見なされますが、間違った答えを出力するのはなぜですか?

分類Dev

このCコードで間違った答えが返されるのはなぜですか?

分類Dev

covariance2()が間違った答えを出しているのはなぜですか?

分類Dev

ZPLを使用してEANのバーコードが間違っているのはなぜですか

分類Dev

与えられた入力が間違っていると、vbaが常にエラーなしを返すのはなぜですか?

分類Dev

「browse」メソッドが存在しないIDを使用して間違ったレコードセットを返すのはなぜですか?

分類Dev

シーザー暗号:テストとして使用される印刷された値の間に正しい値があるのに、なぜ私のプログラムが間違った答えを返すのですか?

分類Dev

このコードが間違った計算をしているのはなぜですか?

分類Dev

「==」と比較して「is」を使用すると、np.allが間違った値を返すのはなぜですか?

分類Dev

したがって、外部のjavascriptドキュメントを使用してフォームを検証する必要がありますが、私のコードはなぜ間違ったアイデアを検証しますか?

分類Dev

Mathematicaが導関数に対して一見間違った答えを出すのはなぜですか?

分類Dev

与えられたコマンドが間違っているのになぜ関数フォークを開くのですか?

分類Dev

macOSでbase64コマンドが間違った結果を返す

分類Dev

ジオコードが間違った住所を返し続けるのに、Googleマップが正しく機能するのはなぜですか

分類Dev

macOS Visual Studioコードが間違ったPythonインタープリターを使用しているのはなぜですか?

分類Dev

Super Reduced String(HackerRank)の質問の解決策がコンピューターで正常に機能しているのに、HackerRankで間違った答えが返されるのはなぜですか?

分類Dev

私のコードが大きな数に対して間違った結果を与えるのはなぜですか?

分類Dev

コードが間違った変数を変更しています...なぜですか?

分類Dev

ループを使用してlongdoubleの累乗を計算すると、cで間違った答えが返されます

分類Dev

私が書いたJQueryコードが機能しなくなったのですが、見落としている間違いはありますか?

分類Dev

Kerasはうまくトレーニングしているのに、間違った予測を返しているのはなぜですか?

分類Dev

Railsがコントローラーで間違ったメソッドを実行しようとしているのはなぜですか?

分類Dev

整数除算コードが間違った答えを出すのはなぜですか?

分類Dev

Gmailはbase64でエンコードされたものを返しますが、割り当て可能な印刷可能としてリストされます

分類Dev

コードが間違った値を返すのはなぜですか?

Related 関連記事

  1. 1

    Swiftでpowを使用して間違った答えが返されるのはなぜですか?

  2. 2

    leetcodeが私のatoiの答えが正しくないと言っているのはなぜですか?それは実際に間違っていますか?またはリートコードにバグがありますか

  3. 3

    なぜ私のコスト関数が間違った答えを出しているのですか?

  4. 4

    このコードが機能しないことはわかっていますが、見つけたコードが機能するのはなぜですか?何が間違ったコードを間違っているのですか?

  5. 5

    このJavaコードは正しいと見なされますが、間違った答えを出力するのはなぜですか?

  6. 6

    このCコードで間違った答えが返されるのはなぜですか?

  7. 7

    covariance2()が間違った答えを出しているのはなぜですか?

  8. 8

    ZPLを使用してEANのバーコードが間違っているのはなぜですか

  9. 9

    与えられた入力が間違っていると、vbaが常にエラーなしを返すのはなぜですか?

  10. 10

    「browse」メソッドが存在しないIDを使用して間違ったレコードセットを返すのはなぜですか?

  11. 11

    シーザー暗号:テストとして使用される印刷された値の間に正しい値があるのに、なぜ私のプログラムが間違った答えを返すのですか?

  12. 12

    このコードが間違った計算をしているのはなぜですか?

  13. 13

    「==」と比較して「is」を使用すると、np.allが間違った値を返すのはなぜですか?

  14. 14

    したがって、外部のjavascriptドキュメントを使用してフォームを検証する必要がありますが、私のコードはなぜ間違ったアイデアを検証しますか?

  15. 15

    Mathematicaが導関数に対して一見間違った答えを出すのはなぜですか?

  16. 16

    与えられたコマンドが間違っているのになぜ関数フォークを開くのですか?

  17. 17

    macOSでbase64コマンドが間違った結果を返す

  18. 18

    ジオコードが間違った住所を返し続けるのに、Googleマップが正しく機能するのはなぜですか

  19. 19

    macOS Visual Studioコードが間違ったPythonインタープリターを使用しているのはなぜですか?

  20. 20

    Super Reduced String(HackerRank)の質問の解決策がコンピューターで正常に機能しているのに、HackerRankで間違った答えが返されるのはなぜですか?

  21. 21

    私のコードが大きな数に対して間違った結果を与えるのはなぜですか?

  22. 22

    コードが間違った変数を変更しています...なぜですか?

  23. 23

    ループを使用してlongdoubleの累乗を計算すると、cで間違った答えが返されます

  24. 24

    私が書いたJQueryコードが機能しなくなったのですが、見落としている間違いはありますか?

  25. 25

    Kerasはうまくトレーニングしているのに、間違った予測を返しているのはなぜですか?

  26. 26

    Railsがコントローラーで間違ったメソッドを実行しようとしているのはなぜですか?

  27. 27

    整数除算コードが間違った答えを出すのはなぜですか?

  28. 28

    Gmailはbase64でエンコードされたものを返しますが、割り当て可能な印刷可能としてリストされます

  29. 29

    コードが間違った値を返すのはなぜですか?

ホットタグ

アーカイブ