shiro框架的使用

首先是引入依赖

         
            org.apache.shiro
            shiro-spring
            1.7.0
        

1.要拿到一个盐值

String salt = UUID.randomUUID().toString();

产生一个随机字符串作为加密盐使用

2.对密码进行加密

 SimpleHash simpleHash = new SimpleHash("MD5",entity.getPassword(),salt,1);

需要传入的参数,从左往右的顺序分别是:加密算法、对谁进行加密、加密使用的盐值是谁、加密次数

3.把加密完的结果改为十六进制

String hashedPassword = simpleHash.toHex();

MD5加密算法的特点:
1.不可逆;
2.相同内容加密结果也相同;例如:第一次设置完密码,加密完了的密文;下次登录的时候,会把登录时输入的密码再次加密,然后对比两个加密后的密文值,如果是一致的说明密码一致。

@Test
    void testMD502() {
        String password="12345";
        String salt= UUID.randomUUID().toString();
        System.out.println(salt);//d5a3cfb5-b952-40cc-af62-fe79c76ad157
        SimpleHash simpleHash=new SimpleHash("MD5",password,salt,1);
        System.out.println(simpleHash.toHex());//9f23b14e61787294cf4dc5934e04f594

    }
    @Test
    void testMD503() {
        String password="12345";
//        String salt= UUID.randomUUID().toString();
        String salt="d5a3cfb5-b952-40cc-af62-fe79c76ad157";
        SimpleHash simpleHash=new SimpleHash("MD5",password,salt,1);
        System.out.println(simpleHash.toHex());//9f23b14e61787294cf4dc5934e04f594

    }

为什么要加盐值,是因为随机的字符串和密码放一起加密的安全性更高。

你可能感兴趣的:(shiro框架的使用)