修复Linux环境下随机数方法造成的系统死锁问题

This commit is contained in:
lixuetao
2023-11-10 11:32:00 +08:00
parent f290bf532f
commit 7509312cce
4 changed files with 10 additions and 30 deletions
@@ -360,7 +360,7 @@ public class oConvertUtils {
/**
* SET转换MAP
*
* @param str
* @param setobj
* @return
*/
public static Map<Object, Object> SetToMap(Set<Object> setobj) {
@@ -450,7 +450,7 @@ public class oConvertUtils {
* 如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。</br>
* 例如:hello_world,test_id->helloWorld,testId
*
* @param name
* @param names
* 转换前的下划线大写方式命名的字符串
* @return 转换后的驼峰式命名的字符串
*/
@@ -524,28 +524,6 @@ public class oConvertUtils {
return sb.toString().toLowerCase();
}
/**
* 随机数
* @param place 定义随机数的位数
*/
public static String randomGen(int place) {
String base = "qwertyuioplkjhgfdsazxcvbnmQAZWSXEDCRFVTGBYHNUJMIKLOP0123456789";
StringBuilder sb = new StringBuilder();
Random rd = null;
try {
rd = SecureRandom.getInstanceStrong();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
if(Objects.isNull(rd)){
return null;
}
for(int i=0;i<place;i++) {
sb.append(base.charAt(rd.nextInt(base.length())));
}
return sb.toString();
}
/**
* 获取类的所有属性,包括父类
*
@@ -210,7 +210,7 @@ public class SysUserController {
// 密码加盐
String password = CommonUtils.decryptBtRsaPriKey(user.getPassword(), rsaPrivateKey);
user.setCreateTime(new Date());//设置创建时间
String salt = oConvertUtils.randomGen(8);
String salt = RandomUtil.randomString(8);
user.setSalt(salt);
String passwordEncode = PasswordUtil.encrypt(user.getUsername(), password, salt);
user.setPassword(passwordEncode);
@@ -571,7 +571,7 @@ public class SysUserController {
sysUserExcel.setPassword("hzwlsoft.com");
}
// 密码加密加盐
String salt = oConvertUtils.randomGen(8);
String salt = RandomUtil.randomString(8);
sysUserExcel.setSalt(salt);
String passwordEncode = PasswordUtil.encrypt(sysUserExcel.getUsername(), sysUserExcel.getPassword(), salt);
sysUserExcel.setPassword(passwordEncode);
@@ -1025,7 +1025,7 @@ public class SysUserController {
try {
user.setCreateTime(new Date());// 设置创建时间
String salt = oConvertUtils.randomGen(8);
String salt = RandomUtil.randomString(8);
String passwordEncode = PasswordUtil.encrypt(username, password, salt);
user.setSalt(salt);
user.setUsername(username);
@@ -1105,7 +1105,7 @@ public class SysUserController {
result.setSuccess(false);
return result;
} else {
String salt = oConvertUtils.randomGen(8);
String salt = RandomUtil.randomString(8);
sysUser.setSalt(salt);
String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, salt);
sysUser.setPassword(passwordEncode);
@@ -1,5 +1,6 @@
package com.jero.modules.system.service.impl;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.CommonConstant;
@@ -71,7 +72,7 @@ public class SysThirdAccountServiceImpl extends ServiceImpl<SysThirdAccountMappe
user.setUsername(thirdUserUuid);
user.setPhone(phone);
//设置初始密码
String salt = oConvertUtils.randomGen(8);
String salt = RandomUtil.randomString(8);
user.setSalt(salt);
String passwordEncode = PasswordUtil.encrypt(user.getUsername(), "123456", salt);
user.setPassword(passwordEncode);
@@ -1,5 +1,6 @@
package com.jero.modules.system.service.impl;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -95,7 +96,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override
@CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true)
public Results<T> changePassword(SysUser sysUser) {
String salt = oConvertUtils.randomGen(8);
String salt = RandomUtil.randomString(8);
sysUser.setSalt(salt);
String password = sysUser.getPassword();
String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, salt);