我有两个问题1我有以下代码,我不知道如何从我的代码的另一部分使用它,即当用户注册加密我的字符串密码时
public static final String md5(final String toEncrypt) {
try {
final MessageDigest digest = MessageDigest.getInstance("md5");
digest.update(toEncrypt.getBytes());
final byte[] bytes = digest.digest();
final StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
sb.append(String.format("%02X", bytes[i]));
}
return sb.toString().toLowerCase();
}
catch (Exception exc) { return ""; // Impossibru! }
}
第二个问题是当我从数据库中提取字符串以匹配用户在编辑框中键入的内容时,如何解密该字符串。
答案 0 :(得分:8)
String hashedPassword = md5("some person's password");
即可。就像一般的方法一样。null
,或使用throws
子句。只是不要完全忽略它们。我甚至不知道3号线上发生了什么......你应该把它们分开。另外,你的缩进有点非常奇怪。您将花费多多花时间阅读代码而不是编写代码,所以现在让它可读,并且您以后会感谢过去的自我。事实上,我已经看到了一个错误:
catch (Exception exc) { return ""; // Impossibru! }
关闭括号已注释掉。
答案 1 :(得分:1)
md5是一种单向加密方法。查找加密版本的唯一方法是md5哈希字符组合,直到结果匹配