2

プログラムのパスワードを暗号化するために MD5 ハッシュを使用しています。しかし、それはすべての文字を作成しているわけではなく、一部の人にとっては判読不能です。これがスクリーンショットです。リンク - http://i46.tinypic.com/2qvf2o2.jpg

どんな助けでも大歓迎です

ありがとう 画像

4

3 に答える 3

2

おそらく、MD5 によって返されたバイト配列を表示用の 16 進文字列に変換したいと思うでしょう。d131dd02c5e6eec4のようなもの。

これを行う方法は次のとおりです。

Java で、先行ゼロを維持しながらバイト配列を 16 進数の文字列に変換するにはどうすればよいですか?

于 2012-07-20T20:12:05.957 に答える
0

MD5 から返されたバイトを生の文字データとして解釈しています。
MD5 は文字を表すバイトを返さないため、意味のない結果が得られます。

于 2012-07-20T20:05:58.130 に答える
0

返されるのはバイナリ値です。したがって、デフォルトのコードページの有効な文字にマップされる場合とマップされない場合がある生のバイトの集まりです。あなたがすべきことは、バイト[]を16進数に変換することです。これをエンコードするには、Apache Commons Codec などを使用できます。http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Hex.html#encodeHex(byte[])

于 2012-07-20T20:06:36.013 に答える