package com.aaa.config; import org.apache.shiro.crypto.SecureRandomNumberGenerator; import org.apache.shiro.crypto.hash.SimpleHash; public class UserCredentialsMatcher { /** * 随机生成 salt 需要指定 它的字符串的长度 * * @param len 字符串的长度 * @return salt */ public static String generateSalt(int len) { //一个Byte占两个字节 int byteLen = len >> 1; SecureRandomNumberGenerator secureRandom = new SecureRandomNumberGenerator(); return secureRandom.nextBytes(byteLen).toHex(); } /** * 获取加密后的密码,使用默认hash迭代的次数 1 次 * * @param hashAlgorithm hash算法名称 MD2、MD5、SHA-1、SHA-256、SHA-384、SHA-512、etc。 * @param password 需要加密的密码 * @param salt 盐 * @return 加密后的密码 */ public static String encryptPassword(String hashAlgorithm, String password, String salt) { return encryptPassword("MD5", password, salt, 2); } /** * 获取加密后的密码,需要指定 hash迭代的次数 * * @param hashAlgorithm hash算法名称 MD2、MD5、SHA-1、SHA-256、SHA-384、SHA-512、etc。 * @param password 需要加密的密码 * @param salt 盐 * @param hashIterations hash迭代的次数 * @return 加密后的密码 */ public static String encryptPassword(String hashAlgorithm, String password, String salt, int hashIterations) { SimpleHash hash = new SimpleHash(hashAlgorithm, password, salt, hashIterations); return hash.toString(); } }
最近下载更多
zhaorrr LV2
11月7日
yyhrhv LV8
8月31日
叁卍石 LV5
8月21日
TY0165 LV20
6月21日
pxc1994 LV9
5月14日
微信网友_6927932988952576 LV12
3月31日
提灯寻白鹿 LV3
3月27日
qqttuu LV3
3月4日
Hopu2024 LV2
2月22日
xk16675552250 LV33
1月5日
最近浏览更多
香橙1234
11月18日
暂无贡献等级
zhaorrr LV2
11月7日
waterlq LV1
11月6日
jaki009 LV1
11月1日
凌琳1839314580
10月29日
暂无贡献等级
凌琳1839314580
10月29日
暂无贡献等级
qq564879
10月23日
暂无贡献等级
kamiomisuzu LV9
10月14日
清清凉 LV5
10月14日
orilore LV2
10月10日