首先需要引入MD5的jar包中的类。
import org.springframework.security.authentication.encoding.Md5PasswordEncoder;
最新的springboot导入的springsecurity的jar包里面没有这个类,所以需要手动导入或者自己重写pom.xml导入低的springsecurity版本。
手动导入的jar包下载地址点击打开链接
websecurityconfig中的代码:
private static Md5PasswordEncoder md5encoder = new Md5PasswordEncoder();
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(customUserService()).passwordEncoder(new PasswordEncoder(){
@Override
public String encode(CharSequence rawPassword) {
return md5encoder.encodePassword(rawPassword.toString(), "hongxf");
}
@Override
public boolean matches(CharSequence rawPassword, String encodedPassword) {
return md5encoder.isPasswordValid(encodedPassword, rawPassword.toString(), "hongxf");
}}); //user Details Service验证
}
这样security就会拦截下来用户密码,对其进行md5转码再与数据库中的密码比较。
注册时在DAO层中对用户输入的密码进行md5转码再存入数据库
userpwd = md5encoder.encodePassword(userpwd,"hongxf");

本文介绍如何在SpringBoot应用中使用SpringSecurity进行MD5加密用户密码以实现安全登录。由于最新SpringSecurity版本不包含MD5相关类,因此需要手动引入低版本的springsecurity jar包或自行实现MD5加密功能。在WebSecurityConfig配置中,设置安全拦截并转换用户密码为MD5格式,然后与数据库中的MD5密码进行匹配。在用户注册时,同样需要在DAO层对输入的密码进行MD5加密后再存储到数据库。

4700

被折叠的 条评论
为什么被折叠?



