【发布时间】:2012-07-24 19:22:24
【问题描述】:
谁能知道如何将 MD5 转换为 String。就我而言,我已将密码保存在数据库中的 MD5 中。我正在尝试检索密码并以字符串形式显示以进行编辑。
这是我将字符串转换为加密格式所做的:
public static String encrypt(String source) {
String md5 = null;
try {
MessageDigest mdEnc = MessageDigest.getInstance("MD5"); //Encryption algorithm
mdEnc.update(source.getBytes(), 0, source.length());
md5 = new BigInteger(1, mdEnc.digest()).toString(16); // Encrypted string
}
catch (Exception ex) {
return null;
}
return md5;
}
我不知道如何将加密格式转换为字符串来编辑密码。
【问题讨论】:
-
md5 是一种单向算法,您无法从加密的密码中取回纯密码
-
哈希算法会产生这样的结果,您无法从结果中取回原始输入。如果您想要这样的功能,请尝试使用加密而不是散列。 (例如 RSA)
-
添加到 Ankit:单向特性是首先将其存储为 MD5 的全部原因。
-
所以我如何获得管理员编辑它的纯密码。每当我尝试检索密码时,它都会给我加密值。
-
管理员永远不会在任何设计合理的系统上编辑密码。他只是改变它。