SpringBoot工程使用shiro 进行MD5加密

Spring Boot工程利用shiro 进行MD5加密

1.加入相关依赖

		<dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>1.4.0</version>
        </dependency>

2.MyRealm登陆方法设置

 @Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
        String username = (String) token.getPrincipal();
        //加盐
        String satlt = "盐";
        //通过用户名去查密码
        User user = userService.findByName(username);
        if (user != null) {
            SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo(username, user.getPassword(), ByteSource.Util.bytes(satlt) ,getName());
            return simpleAuthenticationInfo;
        }
        return null;
    }

3.Config文件的设置

 /**
     * 密码校验规则HasherCredentialsMatcher
     * 对密码进行编码处理
     */
    @Bean("hashedCredentialsMatcher")
    public HashedCredentialsMatcher hashedCredentialsMatcher() {
        HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher();
        //指定加密方式为MD5
        hashedCredentialsMatcher.setHashAlgorithmName("MD5");
        //加密次数
        hashedCredentialsMatcher.setHashIterations(1024);
        hashedCredentialsMatcher.setStoredCredentialsHexEncoded(true);
        return hashedCredentialsMatcher;
    }

4.注册时对用户密码进行同等加密

//获取用户注册时的密码
String password = user.getPassword();
//对用户原密码进行加盐加密之后获得新密码入库
        String newPassWord = new Md5Hash(password, "盐", 1024).toString();
发布了12 篇原创文章 · 获赞 0 · 访问量 246

猜你喜欢

转载自blog.csdn.net/qq_45532201/article/details/103244728
今日推荐