类 PasswordUtil
java.lang.Object
net.sohelp.boot.admin.core.utils.PasswordUtil
密码处理工具类
提供密码加密和校验功能,采用 BCrypt 慢哈希算法,有效抵御 GPU 暴力破解。 同时保留对旧版 SHA-256+salt(96位)和 MD5(32位)格式的校验能力, 以便在登录成功后自动将旧格式迁移到 BCrypt。
- 从以下版本开始:
- 2025/9/9 07:50
- 版本:
- 2.0.3-SNAPSHOT
- 作者:
- AaronFung
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static booleancheckPassword(String originPassword, String encryptedPassword) 校验密码是否正确(自动识别存储格式)static StringencryptPassword(String originPassword) 使用 BCrypt 对密码进行加密static booleanisBCryptFormat(String encryptedPassword) 判断密码是否为 BCrypt 格式static void
-
构造器详细资料
-
PasswordUtil
public PasswordUtil()
-
-
方法详细资料
-
encryptPassword
使用 BCrypt 对密码进行加密- 参数:
originPassword- 原始明文密码- 返回:
- BCrypt 哈希字符串(60位,以 $2a$ 开头)
-
checkPassword
校验密码是否正确(自动识别存储格式)支持三种格式: - BCrypt(以 $2a$ 或 $2b$ 开头,60位) - SHA-256+salt(96位:前32位盐值 + 后64位哈希值) - MD5(32位)
- 参数:
originPassword- 用户输入的原始明文密码encryptedPassword- 数据库中存储的加密密码- 返回:
- 校验结果:密码匹配返回 true,否则返回 false
-
isBCryptFormat
判断密码是否为 BCrypt 格式- 参数:
encryptedPassword- 加密后的密码字符串- 返回:
- 如果是 BCrypt 格式返回 true
-
main
-