2

2 つの方法が必要です。1 つは md5 を使用して文字列値をハッシュ値に変換する方法で、もう 1 つはハッシュされた文字列を元の値に戻す方法です。これは可能ですか?

4

1 に答える 1

3

ハッシュ関数の定義そのものにより、ハッシュを元の入力文字列に戻すことは不可能であり、それらを反転することはできません。さらに、同じ値にハッシュされる無限の数の入力が存在する可能性がありますが、実際にはそれらを見つけるのは非常に困難です (「衝突」と呼ばれます)。

質問の他の部分に関しては、標準ライブラリを使用してハッシュを計算するのは簡単です。例えば:

byte[] bytesOfMessage = yourString.getBytes("UTF-8"); // pass the right encoding
MessageDigest md = MessageDigest.getInstance("MD5");  // specify the algorithm
byte[] thedigest = md.digest(bytesOfMessage);         // here's the hash
于 2013-09-20T19:17:43.533 に答える