【发布时间】:2013-10-28 09:03:09
【问题描述】:
我怎样才能从这个方法中反转这个输出? (这样我才能看到明文) 我没有看到任何正在使用的键。
public String encrypt(String plaintext) {
MessageDigest md = null;
try {
md = MessageDigest.getInstance("SHA");
} catch (NoSuchAlgorithmException e) {
}
try {
md.update(plaintext.getBytes("UTF-8"));
} catch (UnsupportedEncodingException e) {
}
byte raw[] = md.digest();
String hash = (new BASE64Encoder()).encode(raw);
return hash;
}
【问题讨论】:
-
顺便说一句:您尝试使异常保持沉默(这几乎可以肯定表示致命的编程错误,因此不应被忽略,也不应发生),但随后您继续使用
md,这将是null如果第一个块失败,那么无论如何您都会因空指针异常而崩溃,或者如果第二个块失败,您将默默地返回错误的哈希值。如果您这样做是为了避免检查异常的麻烦,请从catch块中抛出一个更有意义(未检查)的异常。
标签: java encryption base64 md5 sha1