1. 修改密码新增运控系统配置
							parent
							
								
									c6805509ae
								
							
						
					
					
						commit
						61e35acc10
					
				| 
						 | 
				
			
			@ -206,14 +206,14 @@ public class TrxServiceImpl implements TrxService {
 | 
			
		|||
 | 
			
		||||
            // 处理ukey登录用户
 | 
			
		||||
            log.info("开始软Key登录用户入库, userId:" + userId);
 | 
			
		||||
            saveUserByTrx(userId, trxAuthModel.getPassword());
 | 
			
		||||
            saveUserByTrx(userId, "");
 | 
			
		||||
            log.info("软Key登录用户入库结束");
 | 
			
		||||
            // 登录
 | 
			
		||||
            log.info("开始软Key登录用户登录云管平台");
 | 
			
		||||
            log.info("用户pass:" + trxAuthModel.getPassword());
 | 
			
		||||
            User user = userRepository.getByUserId(userId);
 | 
			
		||||
            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.getData().put("trxToken", trxToken);
 | 
			
		||||
            log.info("软Key登录用户登录云管平台结束");
 | 
			
		||||
| 
						 | 
				
			
			@ -244,11 +244,11 @@ public class TrxServiceImpl implements TrxService {
 | 
			
		|||
            log.info("开始新增天融信登录用户,userId: " + userId);
 | 
			
		||||
            // 新增  以userId作为account 并添加注释
 | 
			
		||||
            UserBean userBean = new UserBean();
 | 
			
		||||
            if (password.isEmpty()) {
 | 
			
		||||
//            if (password.isEmpty()) {
 | 
			
		||||
            userBean.setPassword(userId + "CMP");
 | 
			
		||||
            } else {
 | 
			
		||||
                userBean.setPassword(password);
 | 
			
		||||
            }
 | 
			
		||||
//            } else {
 | 
			
		||||
//                userBean.setPassword(password);
 | 
			
		||||
//            }
 | 
			
		||||
            userBean.setSex(true);
 | 
			
		||||
            userBean.setIsManager(true);
 | 
			
		||||
            userBean.setUserId(userId);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,6 +13,7 @@ import com.bocloud.sms.model.*;
 | 
			
		|||
import com.bocloud.sms.repository.*;
 | 
			
		||||
import com.bocloud.sms.service.utils.ExportUtil;
 | 
			
		||||
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.utils.FavoriteComparator;
 | 
			
		||||
import com.google.common.collect.Lists;
 | 
			
		||||
| 
						 | 
				
			
			@ -667,50 +668,62 @@ public class UserServiceImpl implements UserService {
 | 
			
		|||
        // 根据userId获取运控系统用户信息
 | 
			
		||||
        log.info("查询当前用户信息,userId: " + id);
 | 
			
		||||
        JSONObject params = new JSONObject();
 | 
			
		||||
        params.put("userId", String.valueOf(id));
 | 
			
		||||
        params.put("oldPwd", oldPassword);
 | 
			
		||||
        params.put("newPwd", password);
 | 
			
		||||
        //请求运控修改密码机接口
 | 
			
		||||
        JSONObject result = ykUtils.call(YkInf.updateUserPwd, params, JSONObject.class);
 | 
			
		||||
        if (result.getInteger("returnCode") == 1) {
 | 
			
		||||
            log.info("运控密码修改成功");
 | 
			
		||||
 | 
			
		||||
            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);
 | 
			
		||||
                return new Result(true, "修改密码成功");
 | 
			
		||||
            }
 | 
			
		||||
        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("oldPwd", encryptoldPassword);
 | 
			
		||||
        params.put("newPwd", encryptPassword);
 | 
			
		||||
        //请求运控修改密码机接口
 | 
			
		||||
        JSONObject result = ykUtils.call(YkInf.updateUserPwd, params, JSONObject.class);
 | 
			
		||||
        log.info("请求运控修改密码机接口返回 : " + JSONObject.toJSONString(result));
 | 
			
		||||
        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);
 | 
			
		||||
 | 
			
		||||
//            }
 | 
			
		||||
 | 
			
		||||
            } else {
 | 
			
		||||
            return new Result(true, "修改密码失败");
 | 
			
		||||
                return new Result(false, result.getString("msg"));
 | 
			
		||||
            }
 | 
			
		||||
        }else {
 | 
			
		||||
            return new Result(false, "请求运控修改密码机接口失败");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,16 +132,19 @@ public class MessageDigestUtils {
 | 
			
		|||
     * Test
 | 
			
		||||
     */
 | 
			
		||||
    public static void main(String[] args) {
 | 
			
		||||
        String source = "0aece0ff48aafb9c481826d13ef5e3c8b74e44b4584b28a0fe499aee108227e8db8470f4b9f9ac5d2ab508a9ff84312da9f1646a8b5ed6570fd2f27790460e47";
 | 
			
		||||
        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));
 | 
			
		||||
//        String source = "0aece0ff48aafb9c481826d13ef5e3c8b74e44b4584b28a0fe499aee108227e8db8470f4b9f9ac5d2ab508a9ff84312da9f1646a8b5ed6570fd2f27790460e47";
 | 
			
		||||
        String source = "123456";
 | 
			
		||||
        //123456 加密后的数据
 | 
			
		||||
//        String source22 = "8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92";
 | 
			
		||||
//        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-384: " + MessageDigestUtils.encrypt(source, MessageDigestUtils.SHA_384));
 | 
			
		||||
        System.out.println("Use SHA-512: " + MessageDigestUtils.encrypt(source, MessageDigestUtils.SHA_512));
 | 
			
		||||
//        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("MD5 Salt:    " + MessageDigestUtils.encryptWithSalt(source, "sxp", MessageDigestUtils.MD5));
 | 
			
		||||
//        System.out.println("MD5 Salt:    " + MessageDigestUtils.encryptWithSalt(source, "sxp", MessageDigestUtils.MD5));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue