我有以下代码。
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;
}
现在我想将其转换回原始字符串。有可能吗?
答案 0 :(得分:14)
我试过这个。现在我想将它转换回原始字符串。
MD5无法做到这一点。这是单向的hash function。
为了能够加密和解密,您需要使用AES之类的加密/解密算法。
有关详细信息,请参阅Java™ Cryptography Architecture (JCA) Reference Guide。