④【Shiro】Shiro框架进行敏感信息加密

2024-04-25 20:20:28 浏览数 (4)

④【Shiro】Shiro框架进行敏感信息加密

  • 实际系统开发中,一些敏感信息需要进行加密,比如说用户的密码。Shiro 内嵌很多常用的加密算法,比如 MD5 加密。Shiro 可以很简单的使用信息加密

导入坐标

代码语言:javascript复制
<!-- shiro-core -->
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
            <version>1.9.0</version>
        </dependency>

        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>

测试Shiro加密工具

代码语言:javascript复制
/**
 * @author .29.
 * @create 2024-03-16 18:46
 */
public class ShiroMD5 {
    public static void main(String[] args) {
        // 密码明文
        String password = "123456789";
        // 使用 md5 加密
        Md5Hash md5Hash = new Md5Hash(password);
        System.out.println("md5 加密:" md5Hash.toHex());
        // 带盐的 md5 加密,盐就是在密码明文后拼接新字符串,然后再进行加密
        Md5Hash md5Hash2 = new Md5Hash(password,"salt");
        System.out.println("md5 带盐加密:" md5Hash2.toHex());
        // 为了保证安全,避免被破解还可以多次迭代加密,保证数据安全
        Md5Hash md5Hash3 = new Md5Hash(password,"salt",3);
        System.out.println("md5 带盐三次加密:" md5Hash3.toHex());
        // 使用父类实现加密
        SimpleHash simpleHash = new SimpleHash("MD5",password,"salt",3);
        System.out.println("父类带盐三次加密:" simpleHash.toHex());
    }
}

md5 加密:25f9e794323b453885f5181f1b624d0b md5 带盐加密:b01a725c48a09cd80c6a80e98217d05a md5 带盐三次加密:e8e2ea5deb7e981462ab88c2b7e3f19a 父类带盐三次加密:e8e2ea5deb7e981462ab88c2b7e3f19a


1 人点赞