重要提醒:验证码生成器的哈希算法存在安全漏洞,已替换为MD5算法

Author Avatar
白日鸡生蛋 2月5日
  • 在其它设备中阅读本文章

原帖:一种防机器人识别的验证码生成器

安全问题
原 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;
}