Interface PasswordMatcher
public interface PasswordMatcher
密码匹配器接口
默认使用 PBKDF2WithHmacSHA256 算法(10 万次迭代,可经 nif.auth.password.iterations 配置),
同时自动兼容旧版 MD5 格式密码。
迁移策略:新密码自动使用 PBKDF2,验证时自动识别格式,旧密码仍可正常登录;
旧 MD5 密码验证通过后可用 needsRehash(String) 判断并重哈希升级。
接入方可在登录成功后:
if (matcher.match(rawPassword, encodedPassword) && matcher.needsRehash(encodedPassword)) {
// 使用 matcher.encode(rawPassword) 生成新哈希并更新存储
}
- Author:
- Kerbores(kerbores@riemann.tech)
-
Method Summary
-
Method Details
-
encode
-
match
-
needsRehash
判断该密文是否需要重新哈希(透明升级)返回 true 表示当前为旧版格式(如 MD5),接入方应在密码验证通过后 用
encode(String)重新生成 PBKDF2 哈希并更新存储- Parameters:
encoded- 加密后的密码- Returns:
- true 表示需要重哈希(非 PBKDF2 格式)
-