5

次のコードがあります。

String plaintext = "HelloWorld";
MessageDigest m = MessageDigest.getInstance("MD5");
m.reset();
m.update(plaintext.getBytes());
byte[] digest = m.digest();
BigInteger bigInt = new BigInteger(1,digest);
String hashtext = bigInt.toString(16); 

// Now we need to zero pad it if you actually want the full 32 chars.
while(hashtext.length() < 32 ){
    hashtext = "0"+hashtext;            
}

ここで、元の文字列に変換したいと思います。出来ますか?

4

1 に答える 1

15

私はこれを試しました。次に、元の文字列に変換し直します。

これはMD5では不可能です。これは一方向のハッシュ関数です。

暗号化と復号化を可能にするには、AESのような暗号化/復号化アルゴリズムを使用する必要があります。

詳細については、 Java™暗号化アーキテクチャ(JCA)リファレンスガイドを参照してください。

于 2013-03-20T10:53:54.360 に答える