是否有可能从MD5和Java恢复消息?
我有以下代码。
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; }
现在我想将它转换回原始字符串。 可能吗?
我试过这个。 现在我想将其转换回原始字符串。
MD5无法做到这一点。 它是单向散列函数 。
为了能够加密和解密,您需要使用AES之类的加密/解密算法。
有关更多信息,请参阅Java™加密体系结构(JCA)参考指南 。