4

Java MD5 および SHA* ハッシュを生成するための複数のオンライン リファレンスを確認した後、平文 (ファイルの文字列) が、ハッシュを生成するために Digest オブジェクトにフィードされる前後に特定の準備が行われることに気付きました。具体的には、データは最初にバイト配列に変換され、次にダイジェストに供給され、次に出力ハッシュが 16 進ストリームに変換されます。これらすべてのバイトと 16 進数の変換はなぜですか?

PS: 答えは、Java と Digest オブジェクトがどのようにビジネスを行うかに関係していると思います。この質問をする動機は、この動作を理解し、おそらくこれを詳細に説明しているドキュメント/文献への参照を取得することです。 .

ダンケ!

4

2 に答える 2

1

これらのハッシュ アルゴリズムの実装は、文字列のようなものではなく、バイトに対して機能します。これが、すべてをバイト形式に変換する必要がある理由です。

于 2013-03-19T03:46:37.927 に答える