一、介绍
实际系统开发中,一些敏感信息需要进行加密,比如说用户的密码。Shiro 内嵌很多常用的加密算法,比如MD5加密。Shiro可以很简单的使用信息加密。
二、示例
2.1、沿用上一篇博客项目
2.2、新建ShiroMD5类
import org.apache.shiro.crypto.hash.Md5Hash;
import org.apache.shiro.crypto.hash.SimpleHash;
public class ShiroMD5 {
public static void main(String[] args) {
//密码明文
String password = "z3";
//使用md5加密
Md5Hash md5Hash = new Md5Hash(password);
System.out.println("md5加密 = " + md5Hash.toHex());
//带盐的md5加密,盐就是在密码明文后拼接新字符串,然后进行加密
Md5Hash md5Hash1 = new Md5Hash(password, "massimo");
System.out.println("带盐的md5加密 = " + md5Hash1.toHex());
//为了保证安全,避免被破解还可以多次迭代加密,保证数据安全
Md5Hash md5Hash2 = new Md5Hash(password, "massimo", 3);
System.out.println("md5带盐的3次加密 = " + md5Hash2.toHex());
//使用父类进行加密
SimpleHash simpleHash = new SimpleHash("MD5", password, "massimo", 3);
System.out.println("父类带盐的3次加密 = " + simpleHash.toHex());
}
}
效果: