- 依赖
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.7.1</version>
</dependency>
- md5加密工具类
package com.fsx.shiro.utils;
import org.apache.shiro.crypto.hash.Md5Hash;
/**
* md5加密工具类
*/
public class MD5Util {
// 散列次数
private static final int HASHITERATIONS = 3;//觉得3次不够,就增加次数
// 内置salt
private static final String PUBLIC_SALT = "958AEF84DB49419689159022A74D547E";//随机生成的UUID当做公盐使用
/**
*
* @param source 要用共盐加密的字符串
* @return 用共盐加密的密码
*/
private static String md5_public_salt(String source) {
return new Md5Hash(source, PUBLIC_SALT, HASHITERATIONS).toString();
}
/**
* @param source 原始密码
* @param salt 私盐
* @return 二次加密后的密码
*/
public static String md5_private_salt(String source, String salt) {
//再对加密的后密文用私盐加密一次
return new Md5Hash(md5_public_salt(source), salt, HASHITERATIONS).toString();
}
}
- 数据库设计