美文网首页码农的世界Java
shiro 加密登录 密码加盐处理

shiro 加密登录 密码加盐处理

作者: 一觉睡到丶小时候 | 来源:发表于2019-07-26 11:23 被阅读0次

密码加密登录是为了提高系统安全性,即使是管理员查看数据库也得不到密码

使用shiro可以很轻松的完成加密及登录操作

加密工具

此工具用于注册时对密码进行加密

public static final String md5(String password, String salt){
    //加密方式
    String hashAlgorithmName = "MD5";
    //盐:为了即使相同的密码不同的盐加密后的结果也不同
    ByteSource byteSalt = ByteSource.Util.bytes(salt);
    //密码
    Object source = password;
    //加密次数
    int hashIterations = 1024;
    SimpleHash result = new SimpleHash(hashAlgorithmName, source, byteSalt, hashIterations);
    return result.toString();
}

测试一下

public static void main(String[] args) {
    String password = md5("123456", "WHLH");
    System.out.println(password);
    //加密后的结果
    //3bcbb857c763d1429a24959cb8de2593
}

使用shiro登录

Realm类

@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) {
    UsernamePasswordToken token=(UsernamePasswordToken) authenticationToken;
    String username = token.getUsername();
    //查询用户信息
    User user=userService.findByUsername(username);
    //取出盐并编码
    ByteSource salt = ByteSource.Util.bytes(user.getSalt());
    return new SimpleAuthenticationInfo(username, user.getPassword(),salt, getName());
}

修改自定义realm配置

加密算法和加密次数要和加密工具参数保持一致

<bean id="myRealm" class="cn.jaffreyen.web.shiro.MyRealm">
    <property name="credentialsMatcher">
        <bean class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
            <!-- 加密算法 -->
            <property name="hashAlgorithmName" value="MD5"></property>
            <!-- 加密次数 -->
            <property name="hashIterations" value="1024"></property>
        </bean>
    </property>
</bean>

相关文章

  • shiro 加密登录 密码加盐处理

    密码加密登录是为了提高系统安全性,即使是管理员查看数据库也得不到密码 使用shiro可以很轻松的完成加密及登录操作...

  • nodejs 关于密码加密

    加密分为 直接加密、加盐加密 加盐加密更安全,建议加盐 登录时为输入密码再次同盐值加密比对数据库内的加密密码即可判...

  • 关于密码加密

    密码加密一般在处理登录、注册、修改密码的时候使用。正常来说密码加密使用加密算法之后,还需要使用加盐,相对来说会安全...

  • SpringBoot集成Shiro(自定义过滤器、自定义Toke

    导入依赖 springboot配置类 在springboot项目中配置shiro,包括密码加盐处理、记住密码、自动...

  • (一)Spring Boot 集成 Shiro 权限管理与密码加

    github 主要完成功能注册(密码加盐保存数据库)登录(验证加密密码)退出登录接口权限判定 sql sql 脚本...

  • MD5加盐

    参考 浅谈MD5加密算法中的加盐值(SALT) 一种简单的给MD5加盐算法 md5密码加盐 对用户密码进行加盐处理

  • 智能销售系统(六)登录/角色

    一、登录  1.1 添加密码改动 目前项目中我们新增用户的时候密码并未加盐。所有我们要做的是,当添加密码123过去...

  • Shiro 加盐加密

    开头一段废话 加盐加密会使用户的密码受到相对安全的保护,比普通的MD5加密要好。用户数据暴露给了用户,因为有盐值的...

  • CAS单点登录-自定义认证之JDBC+MD5(四)

    本章节的内容为JDBC认证,查找数据库进行验证,其中包括: 密码加密策略(无密码,简单加密,加盐处理) 认证策略(...

  • 使用shiro对登录密码加密

    保存账户 登录验证 告知shiro使用的加密算法 配置凭证匹配器

网友评论

    本文标题:shiro 加密登录 密码加盐处理

    本文链接:https://www.haomeiwen.com/subject/dtsrrctx.html