【发布时间】:2021-08-30 04:46:25
【问题描述】:
升级自:
import org.springframework.security.authentication.encoding.PasswordEncoder;
@Override
public String encodePassword(String plainPassword, Object salt) {
final String finalSalt = salt != null ? salt.toString() : "";
return DigestUtils.md5Hex(finalSalt + plainPassword);
}
@Override
public boolean isPasswordValid(String encodedPassword, String plainPassword, Object salt) {
final String enteredPassword = encodePassword(plainPassword, salt);
return encodedPassword.equals(enteredPassword);
}
收件人:
import org.springframework.security.crypto.password.PasswordEncoder;
@Override
public String encode(CharSequence rawPassword) {
final String finalSalt = salt != null ? salt.toString() : "";
return DigestUtils.md5Hex(finalSalt + plainPassword);
}
@Override
public boolean matches(CharSequence rawPassword, String encodedPassword) {
final String enteredPassword = encodePassword(plainPassword, salt);
return encodedPassword.equals(enteredPassword);
}
- 不确定如何处理
salt? - 不确定是否可以将
rawPassword转换为String以替换plainPassword?
【问题讨论】:
-
请不要使用MD5做密码散列,长期不安全。
标签: java spring spring-security