类 PasswordUtil

java.lang.Object
net.sohelp.boot.admin.core.utils.PasswordUtil

public class PasswordUtil extends Object
密码处理工具类

提供密码加密和校验功能,采用 BCrypt 慢哈希算法,有效抵御 GPU 暴力破解。 同时保留对旧版 SHA-256+salt(96位)和 MD5(32位)格式的校验能力, 以便在登录成功后自动将旧格式迁移到 BCrypt。

从以下版本开始:
2025/9/9 07:50
版本:
2.0.3-SNAPSHOT
作者:
AaronFung
  • 构造器详细资料

    • PasswordUtil

      public PasswordUtil()
  • 方法详细资料

    • encryptPassword

      public static String encryptPassword(String originPassword)
      使用 BCrypt 对密码进行加密
      参数:
      originPassword - 原始明文密码
      返回:
      BCrypt 哈希字符串(60位,以 $2a$ 开头)
    • checkPassword

      public static boolean checkPassword(String originPassword, String encryptedPassword)
      校验密码是否正确(自动识别存储格式)

      支持三种格式: - BCrypt(以 $2a$ 或 $2b$ 开头,60位) - SHA-256+salt(96位:前32位盐值 + 后64位哈希值) - MD5(32位)

      参数:
      originPassword - 用户输入的原始明文密码
      encryptedPassword - 数据库中存储的加密密码
      返回:
      校验结果:密码匹配返回 true,否则返回 false
    • isBCryptFormat

      public static boolean isBCryptFormat(String encryptedPassword)
      判断密码是否为 BCrypt 格式
      参数:
      encryptedPassword - 加密后的密码字符串
      返回:
      如果是 BCrypt 格式返回 true
    • main

      public static void main(String[] args)