1. 修改密码新增运控系统配置
							parent
							
								
									c6805509ae
								
							
						
					
					
						commit
						61e35acc10
					
				| 
						 | 
					@ -206,14 +206,14 @@ public class TrxServiceImpl implements TrxService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // 处理ukey登录用户
 | 
					            // 处理ukey登录用户
 | 
				
			||||||
            log.info("开始软Key登录用户入库, userId:" + userId);
 | 
					            log.info("开始软Key登录用户入库, userId:" + userId);
 | 
				
			||||||
            saveUserByTrx(userId, trxAuthModel.getPassword());
 | 
					            saveUserByTrx(userId, "");
 | 
				
			||||||
            log.info("软Key登录用户入库结束");
 | 
					            log.info("软Key登录用户入库结束");
 | 
				
			||||||
            // 登录
 | 
					            // 登录
 | 
				
			||||||
            log.info("开始软Key登录用户登录云管平台");
 | 
					            log.info("开始软Key登录用户登录云管平台");
 | 
				
			||||||
            log.info("用户pass:" + trxAuthModel.getPassword());
 | 
					            log.info("用户pass:" + trxAuthModel.getPassword());
 | 
				
			||||||
            User user = userRepository.getByUserId(userId);
 | 
					            User user = userRepository.getByUserId(userId);
 | 
				
			||||||
            Encryptor encryptor = new AESEncryptor();
 | 
					            Encryptor encryptor = new AESEncryptor();
 | 
				
			||||||
            String password = encryptor.encrypt(trxAuthModel.getPassword(), null);
 | 
					            String password = encryptor.encrypt(userId + "CMP", null);
 | 
				
			||||||
            login = userServiceImpl.login(user.getAccount(), password, null, null, true);
 | 
					            login = userServiceImpl.login(user.getAccount(), password, null, null, true);
 | 
				
			||||||
            login.getData().put("trxToken", trxToken);
 | 
					            login.getData().put("trxToken", trxToken);
 | 
				
			||||||
            log.info("软Key登录用户登录云管平台结束");
 | 
					            log.info("软Key登录用户登录云管平台结束");
 | 
				
			||||||
| 
						 | 
					@ -244,11 +244,11 @@ public class TrxServiceImpl implements TrxService {
 | 
				
			||||||
            log.info("开始新增天融信登录用户,userId: " + userId);
 | 
					            log.info("开始新增天融信登录用户,userId: " + userId);
 | 
				
			||||||
            // 新增  以userId作为account 并添加注释
 | 
					            // 新增  以userId作为account 并添加注释
 | 
				
			||||||
            UserBean userBean = new UserBean();
 | 
					            UserBean userBean = new UserBean();
 | 
				
			||||||
            if (password.isEmpty()) {
 | 
					//            if (password.isEmpty()) {
 | 
				
			||||||
                userBean.setPassword(userId + "CMP");
 | 
					            userBean.setPassword(userId + "CMP");
 | 
				
			||||||
            } else {
 | 
					//            } else {
 | 
				
			||||||
                userBean.setPassword(password);
 | 
					//                userBean.setPassword(password);
 | 
				
			||||||
            }
 | 
					//            }
 | 
				
			||||||
            userBean.setSex(true);
 | 
					            userBean.setSex(true);
 | 
				
			||||||
            userBean.setIsManager(true);
 | 
					            userBean.setIsManager(true);
 | 
				
			||||||
            userBean.setUserId(userId);
 | 
					            userBean.setUserId(userId);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,6 +13,7 @@ import com.bocloud.sms.model.*;
 | 
				
			||||||
import com.bocloud.sms.repository.*;
 | 
					import com.bocloud.sms.repository.*;
 | 
				
			||||||
import com.bocloud.sms.service.utils.ExportUtil;
 | 
					import com.bocloud.sms.service.utils.ExportUtil;
 | 
				
			||||||
import com.bocloud.sms.service.utils.ImportExcelUtil;
 | 
					import com.bocloud.sms.service.utils.ImportExcelUtil;
 | 
				
			||||||
 | 
					import com.bocloud.sms.service.utils.MessageDigestUtils;
 | 
				
			||||||
import com.bocloud.sms.service.utils.YkUtils;
 | 
					import com.bocloud.sms.service.utils.YkUtils;
 | 
				
			||||||
import com.bocloud.sms.utils.FavoriteComparator;
 | 
					import com.bocloud.sms.utils.FavoriteComparator;
 | 
				
			||||||
import com.google.common.collect.Lists;
 | 
					import com.google.common.collect.Lists;
 | 
				
			||||||
| 
						 | 
					@ -667,50 +668,62 @@ public class UserServiceImpl implements UserService {
 | 
				
			||||||
        // 根据userId获取运控系统用户信息
 | 
					        // 根据userId获取运控系统用户信息
 | 
				
			||||||
        log.info("查询当前用户信息,userId: " + id);
 | 
					        log.info("查询当前用户信息,userId: " + id);
 | 
				
			||||||
        JSONObject params = new JSONObject();
 | 
					        JSONObject params = new JSONObject();
 | 
				
			||||||
 | 
					        Encryptor encryptor = new AESEncryptor();
 | 
				
			||||||
 | 
					        // 对原密码解密,并校验。
 | 
				
			||||||
 | 
					        oldPassword = encryptor.decrypt(oldPassword.trim(), null);
 | 
				
			||||||
 | 
					        password = encryptor.decrypt(password.trim(), null);
 | 
				
			||||||
 | 
					        String encryptoldPassword = MessageDigestUtils.encrypt(oldPassword, MessageDigestUtils.SHA_256);
 | 
				
			||||||
 | 
					        String encryptPassword = MessageDigestUtils.encrypt(password, MessageDigestUtils.SHA_256);
 | 
				
			||||||
 | 
					        log.info("查询当前用户信息,password: " + encryptoldPassword);
 | 
				
			||||||
 | 
					        log.info("查询当前用户信息,newPassword: " + encryptPassword);
 | 
				
			||||||
        params.put("userId", String.valueOf(id));
 | 
					        params.put("userId", String.valueOf(id));
 | 
				
			||||||
        params.put("oldPwd", oldPassword);
 | 
					        params.put("oldPwd", encryptoldPassword);
 | 
				
			||||||
        params.put("newPwd", password);
 | 
					        params.put("newPwd", encryptPassword);
 | 
				
			||||||
        //请求运控修改密码机接口
 | 
					        //请求运控修改密码机接口
 | 
				
			||||||
        JSONObject result = ykUtils.call(YkInf.updateUserPwd, params, JSONObject.class);
 | 
					        JSONObject result = ykUtils.call(YkInf.updateUserPwd, params, JSONObject.class);
 | 
				
			||||||
        if (result.getInteger("returnCode") == 1) {
 | 
					        log.info("请求运控修改密码机接口返回 : " + JSONObject.toJSONString(result));
 | 
				
			||||||
            log.info("运控密码修改成功");
 | 
					        if(org.apache.commons.lang3.StringUtils.isNotEmpty(JSONObject.toJSONString(result))){
 | 
				
			||||||
 | 
					            if (result.getInteger("returnCode") == 1) {
 | 
				
			||||||
 | 
					                log.info("运控密码修改成功");
 | 
				
			||||||
 | 
					                return new Result(true, result.getString("msg"));
 | 
				
			||||||
 | 
					//            String path = User.class.getSimpleName() + "_" + id;
 | 
				
			||||||
 | 
					//            try (AutoCloseLock lock = lockFactory.getACLock(path)) {
 | 
				
			||||||
 | 
					//                Assert.isTrue(lock.acquire(10, TimeUnit.SECONDS), "请求超时");
 | 
				
			||||||
 | 
					//                Assert.isTrue(id.equals(requestContext.getTarget()), "非法请求");
 | 
				
			||||||
 | 
					//                User user = userRepository.query(id);
 | 
				
			||||||
 | 
					//                Assert.notNull(user, "用户信息不存在!");
 | 
				
			||||||
 | 
					//                String salt = UUID.randomUUID().toString();
 | 
				
			||||||
 | 
					//                // 加密
 | 
				
			||||||
 | 
					//                SHAEncryptor sha = new SHAEncryptor();
 | 
				
			||||||
 | 
					//                Encryptor encryptor = new AESEncryptor();
 | 
				
			||||||
 | 
					//                // 对原密码解密,并校验。
 | 
				
			||||||
 | 
					//                oldPassword = encryptor.decrypt(oldPassword.trim(), null);
 | 
				
			||||||
 | 
					//                Assert.isTrue(StringUtils.hasText(oldPassword), "旧密码不存在");
 | 
				
			||||||
 | 
					//                Result checkResult = this.check(id, oldPassword);
 | 
				
			||||||
 | 
					//                if (checkResult.isFailed()) {
 | 
				
			||||||
 | 
					//                    return checkResult;
 | 
				
			||||||
 | 
					//                }
 | 
				
			||||||
 | 
					//                // 对前端传过来的密码进行解密
 | 
				
			||||||
 | 
					//                password = encryptor.decrypt(password.trim(), null);
 | 
				
			||||||
 | 
					//                Assert.isTrue(StringUtils.hasText(password), "新密码不存在。");
 | 
				
			||||||
 | 
					//                String encrypt = sha.encrypt(password, salt);
 | 
				
			||||||
 | 
					//                user.setPassword(encrypt);
 | 
				
			||||||
 | 
					//                user.setLastPwdModifyDate(new Date());
 | 
				
			||||||
 | 
					//                userRepository.update(user);
 | 
				
			||||||
 | 
					//                // 准备随机数数据
 | 
				
			||||||
 | 
					//                AccountSecurity security = securityRepository.getByTarget(user.getId(), Catalog.User);
 | 
				
			||||||
 | 
					//                security.setSalt(salt);
 | 
				
			||||||
 | 
					//                // 更新随机数
 | 
				
			||||||
 | 
					//                securityRepository.update(security);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            String path = User.class.getSimpleName() + "_" + id;
 | 
					//            }
 | 
				
			||||||
            try (AutoCloseLock lock = lockFactory.getACLock(path)) {
 | 
					
 | 
				
			||||||
                Assert.isTrue(lock.acquire(10, TimeUnit.SECONDS), "请求超时");
 | 
					            } else {
 | 
				
			||||||
                Assert.isTrue(id.equals(requestContext.getTarget()), "非法请求");
 | 
					                return new Result(false, result.getString("msg"));
 | 
				
			||||||
                User user = userRepository.query(id);
 | 
					 | 
				
			||||||
                Assert.notNull(user, "用户信息不存在!");
 | 
					 | 
				
			||||||
                String salt = UUID.randomUUID().toString();
 | 
					 | 
				
			||||||
                // 加密
 | 
					 | 
				
			||||||
                SHAEncryptor sha = new SHAEncryptor();
 | 
					 | 
				
			||||||
                Encryptor encryptor = new AESEncryptor();
 | 
					 | 
				
			||||||
                // 对原密码解密,并校验。
 | 
					 | 
				
			||||||
                oldPassword = encryptor.decrypt(oldPassword.trim(), null);
 | 
					 | 
				
			||||||
                Assert.isTrue(StringUtils.hasText(oldPassword), "旧密码不存在");
 | 
					 | 
				
			||||||
                Result checkResult = this.check(id, oldPassword);
 | 
					 | 
				
			||||||
                if (checkResult.isFailed()) {
 | 
					 | 
				
			||||||
                    return checkResult;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                // 对前端传过来的密码进行解密
 | 
					 | 
				
			||||||
                password = encryptor.decrypt(password.trim(), null);
 | 
					 | 
				
			||||||
                Assert.isTrue(StringUtils.hasText(password), "新密码不存在。");
 | 
					 | 
				
			||||||
                String encrypt = sha.encrypt(password, salt);
 | 
					 | 
				
			||||||
                user.setPassword(encrypt);
 | 
					 | 
				
			||||||
                user.setLastPwdModifyDate(new Date());
 | 
					 | 
				
			||||||
                userRepository.update(user);
 | 
					 | 
				
			||||||
                // 准备随机数数据
 | 
					 | 
				
			||||||
                AccountSecurity security = securityRepository.getByTarget(user.getId(), Catalog.User);
 | 
					 | 
				
			||||||
                security.setSalt(salt);
 | 
					 | 
				
			||||||
                // 更新随机数
 | 
					 | 
				
			||||||
                securityRepository.update(security);
 | 
					 | 
				
			||||||
                return new Result(true, "修改密码成功");
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					        }else {
 | 
				
			||||||
        } else {
 | 
					            return new Result(false, "请求运控修改密码机接口失败");
 | 
				
			||||||
            return new Result(true, "修改密码失败");
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -132,16 +132,19 @@ public class MessageDigestUtils {
 | 
				
			||||||
     * Test
 | 
					     * Test
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static void main(String[] args) {
 | 
					    public static void main(String[] args) {
 | 
				
			||||||
        String source = "0aece0ff48aafb9c481826d13ef5e3c8b74e44b4584b28a0fe499aee108227e8db8470f4b9f9ac5d2ab508a9ff84312da9f1646a8b5ed6570fd2f27790460e47";
 | 
					//        String source = "0aece0ff48aafb9c481826d13ef5e3c8b74e44b4584b28a0fe499aee108227e8db8470f4b9f9ac5d2ab508a9ff84312da9f1646a8b5ed6570fd2f27790460e47";
 | 
				
			||||||
        System.out.println("Source String:" + source);
 | 
					        String source = "123456";
 | 
				
			||||||
        System.out.println("Encrypted String:");
 | 
					        //123456 加密后的数据
 | 
				
			||||||
        System.out.println("Use MD5:     " + MessageDigestUtils.encrypt(source, MessageDigestUtils.MD5));
 | 
					//        String source22 = "8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92";
 | 
				
			||||||
        System.out.println("Use SHA-1:   " + MessageDigestUtils.encrypt(source, MessageDigestUtils.SHA_1));
 | 
					//        System.out.println("Source String:" + source);
 | 
				
			||||||
 | 
					//        System.out.println("Encrypted String:");
 | 
				
			||||||
 | 
					//        System.out.println("Use MD5:     " + MessageDigestUtils.encrypt(source, MessageDigestUtils.MD5));
 | 
				
			||||||
 | 
					//        System.out.println("Use SHA-1:   " + MessageDigestUtils.encrypt(source, MessageDigestUtils.SHA_1));
 | 
				
			||||||
        System.out.println("Use SHA-256: " + MessageDigestUtils.encrypt(source, MessageDigestUtils.SHA_256));
 | 
					        System.out.println("Use SHA-256: " + MessageDigestUtils.encrypt(source, MessageDigestUtils.SHA_256));
 | 
				
			||||||
        System.out.println("Use SHA-384: " + MessageDigestUtils.encrypt(source, MessageDigestUtils.SHA_384));
 | 
					//        System.out.println("Use SHA-384: " + MessageDigestUtils.encrypt(source, MessageDigestUtils.SHA_384));
 | 
				
			||||||
        System.out.println("Use SHA-512: " + MessageDigestUtils.encrypt(source, MessageDigestUtils.SHA_512));
 | 
					//        System.out.println("Use SHA-512: " + MessageDigestUtils.encrypt(source, MessageDigestUtils.SHA_512));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        System.out.println("MD5 Salt:    " + MessageDigestUtils.encryptWithSalt(source, "sxp", MessageDigestUtils.MD5));
 | 
					//        System.out.println("MD5 Salt:    " + MessageDigestUtils.encryptWithSalt(source, "sxp", MessageDigestUtils.MD5));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue