引入jar包
import org.apache.shiro.crypto.hash.SimpleHash;
import org.apache.shiro.util.ByteSource;
加密算法MD5 加密循环3次
private static final String ALGORITH_NAME = "md5";
private static final int HASH_ITERATIONS = 3;
根据传入参数的数量设计两种加密算法,每种都使用ByteSource.util.bytes将字符串转换成加盐信息,并按十六进制输出
//第一种
public static String encrypt(String password) {
return new SimpleHash(ALGORITH_NAME, password, ByteSource.Util.bytes(password), HASH_ITERATIONS).toHex();
}
//第二种
public static String encrypt(String username, String password) {
return new SimpleHash(ALGORITH_NAME, password, ByteSource.Util.bytes(username.toLowerCase() + password),
HASH_ITERATIONS).toHex();
}
主方法输出
public static void main(String[] args) {
System.out.println(encrypt("123"));
//8fa120251aecbaa5baebb9beee93f4a0
System.out.println(encrypt("asswecan","123"));
//8fa120251aecbaa5baebb9beee93f4a0
}