④【Shiro】Shiro框架进行敏感信息加密
- 实际系统开发中,一些敏感信息需要进行加密,比如说用户的密码。Shiro 内嵌很多常用的加密算法,比如 MD5 加密。Shiro 可以很简单的使用信息加密
导入坐标
:
<!-- 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加密工具
:
/**
* @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