重要提醒:验证码生成器的哈希算法存在安全漏洞,已替换为MD5算法
安全问题
原 hash 算法有 0.4423 的几率被成功破解。
MD5 算法
使用 JAVA 内置的java.security.MessageDigest
包即可。
代码示例
public static String getMD5Str(String str) {
byte[] digest = null;
try {
MessageDigest md5 = MessageDigest.getInstance("md5");
digest = md5.digest(str.getBytes("utf-8"));
} catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
e.printStackTrace();
}
String md5Str = new BigInteger(1, digest).toString(16);
return md5Str;
}