国密算法修改
This commit is contained in:
parent
8a924f53b1
commit
ca6337aeb9
9
pom.xml
9
pom.xml
@ -457,12 +457,17 @@
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>5.8.4</version>
|
||||
<version>5.8.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-core</artifactId>
|
||||
<version>5.8.4</version>
|
||||
<version>5.8.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcprov-jdk15to18</artifactId>
|
||||
<version>1.64</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
package com.zhgd.mybatis;
|
||||
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.crypto.SmUtil;
|
||||
import cn.hutool.crypto.symmetric.SymmetricCrypto;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
|
||||
@ -115,9 +118,20 @@ public class Aes {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String content = "RaxMRsBUfFDjz_U_7LB_TJHqPNDVlpiOtkdqhZMTDoW3bHbfHnQ8_wuKIcVJemVn".replace("-", "+").replace("_", "/");
|
||||
// String content = "RaxMRsBUfFDjz_U_7LB_TJHqPNDVlpiOtkdqhZMTDoW3bHbfHnQ8_wuKIcVJemVn".replace("-", "+").replace("_", "/");
|
||||
// System.out.println("RaxMRsBUfFDjz/U/7LB/TBRIDE/1I6ZZ9kmQFWqgLCID42evqzeC8kpDSd3GM7YB".replace("+", "-").replace("/", "_"));
|
||||
// System.out.println(encrypt("{\"uid\":\"test\",\"exp\":1686559180478}", "ssologin66!@#$%^"));
|
||||
System.out.println(decrypt(content, "ssologin66!@#$%^"));
|
||||
// System.out.println(decrypt(content, "ssologin66!@#$%^"));
|
||||
String content = "123";
|
||||
// key必须是16位
|
||||
String key="1234567890123456";
|
||||
SymmetricCrypto sm4Crypto = SmUtil.sm4(key.getBytes());
|
||||
String encryptHex = sm4Crypto.encryptHex(content);
|
||||
System.out.println("原始明文:" + content);
|
||||
System.out.println("加密结果:" + encryptHex);
|
||||
|
||||
String decryptStr = sm4Crypto.decryptStr(encryptHex, CharsetUtil.CHARSET_UTF_8);
|
||||
System.out.println("解密结果:" + decryptStr);
|
||||
|
||||
}
|
||||
}
|
||||
@ -6,7 +6,6 @@ import com.qiwenshare.common.result.RestResult;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.constant.CommonConstant;
|
||||
import com.zhgd.mybatis.Aes;
|
||||
import com.zhgd.xmgl.modules.basicdata.dto.SystemUserAuthDto;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Government;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||
@ -20,6 +19,7 @@ import com.zhgd.xmgl.security.JwtTokenProvider;
|
||||
import com.zhgd.xmgl.security.SecurityUser;
|
||||
import com.zhgd.xmgl.security.SecurityUtil;
|
||||
import com.zhgd.xmgl.util.CommonUtil;
|
||||
import com.zhgd.xmgl.util.Sm4Util;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
@ -122,7 +122,7 @@ public class SystemUserAuthController {
|
||||
if (!CommonUtil.checkStrongPwd(password)) {
|
||||
return Result.error("密码必须包含数字、大小写字母、特殊符号且大于8位");
|
||||
}
|
||||
boolean flag = systemUserService.updatePassword(user.getUserId(), Aes.encrypt(password));
|
||||
boolean flag = systemUserService.updatePassword(user.getUserId(), Sm4Util.encrypt(password));
|
||||
if (flag) {
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.util.PageUtil;
|
||||
import com.zhgd.mybatis.Aes;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.*;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.EnterpriseMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.ProjectMapper;
|
||||
@ -18,6 +17,7 @@ import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
|
||||
import com.zhgd.xmgl.modules.basicdata.vo.EnterpriseVo;
|
||||
import com.zhgd.xmgl.security.SecurityUtil;
|
||||
import com.zhgd.xmgl.util.CommonUtil;
|
||||
import com.zhgd.xmgl.util.Sm4Util;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -96,7 +96,7 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterpr
|
||||
if (flag) {
|
||||
SystemUser systemUser = new SystemUser();
|
||||
systemUser.setAccount(enterpriseVo.getAccount());
|
||||
systemUser.setPassword(Aes.encrypt(enterpriseVo.getPassword()));
|
||||
systemUser.setPassword(Sm4Util.encrypt(enterpriseVo.getPassword()));
|
||||
systemUser.setShowPassword(enterpriseVo.getPassword());
|
||||
systemUser.setRealName(enterpriseVo.getRealName());
|
||||
systemUser.setIsManager(true);
|
||||
|
||||
@ -7,9 +7,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.mybatis.Aes;
|
||||
import com.zhgd.xmgl.modules.basicdata.dto.GovernmentDto;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.*;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Enterprise;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Government;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Project;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.EnterpriseMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.GovernmentMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.mapper.ProjectMapper;
|
||||
@ -17,6 +19,7 @@ import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper;
|
||||
import com.zhgd.xmgl.modules.basicdata.service.IGovernmentService;
|
||||
import com.zhgd.xmgl.modules.basicdata.vo.GovernmentVo;
|
||||
import com.zhgd.xmgl.util.CommonUtil;
|
||||
import com.zhgd.xmgl.util.Sm4Util;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -79,7 +82,7 @@ public class GovernmentServiceImpl extends ServiceImpl<GovernmentMapper, Governm
|
||||
SystemUser systemUser = new SystemUser();
|
||||
systemUser.setRealName(governmentVo.getGovernmentName());
|
||||
systemUser.setAccount(governmentVo.getAccount());
|
||||
systemUser.setPassword(Aes.encrypt(governmentVo.getPassword()));
|
||||
systemUser.setPassword(Sm4Util.encrypt(governmentVo.getPassword()));
|
||||
systemUser.setShowPassword(governmentVo.getPassword());
|
||||
systemUser.setCreateTime(new Date());
|
||||
systemUser.setSn(government.getGovernmentSn());
|
||||
|
||||
@ -23,6 +23,7 @@ import com.zhgd.xmgl.modules.basicdata.vo.ProjectVo;
|
||||
import com.zhgd.xmgl.security.SecurityUser;
|
||||
import com.zhgd.xmgl.security.SecurityUtil;
|
||||
import com.zhgd.xmgl.util.CommonUtil;
|
||||
import com.zhgd.xmgl.util.Sm4Util;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -96,7 +97,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
||||
if (flag) {
|
||||
SystemUser systemUser = new SystemUser();
|
||||
systemUser.setAccount(projectVo.getAccount());
|
||||
systemUser.setPassword(Aes.encrypt(projectVo.getPassword()));
|
||||
systemUser.setPassword(Sm4Util.encrypt(projectVo.getPassword()));
|
||||
systemUser.setShowPassword(projectVo.getPassword());
|
||||
systemUser.setIsManager(true);
|
||||
systemUser.setState(projectVo.getState());
|
||||
|
||||
@ -49,6 +49,7 @@ public class InvestmentApplyServiceImpl extends ServiceImpl<InvestmentApplyMappe
|
||||
public Page<InvestmentApply> pageList(Map<String, Object> map) {
|
||||
String name = MapUtils.getString(map, "name");
|
||||
String projectSn = MapUtils.getString(map, "projectSn");
|
||||
String engineeringSn = MapUtils.getString(map, "engineeringSn");
|
||||
QueryWrapper<InvestmentApply> wrapper = Wrappers.<InvestmentApply>query();
|
||||
if (StringUtils.isNotBlank(name)) {
|
||||
wrapper.like("a.name", name);
|
||||
@ -56,6 +57,9 @@ public class InvestmentApplyServiceImpl extends ServiceImpl<InvestmentApplyMappe
|
||||
if (StringUtils.isNotBlank(projectSn)) {
|
||||
wrapper.eq("a.project_sn", projectSn).eq("a.engineering_sn", "");
|
||||
}
|
||||
if (StringUtils.isNotBlank(engineeringSn)) {
|
||||
wrapper.eq("a.engineering_sn", engineeringSn);
|
||||
}
|
||||
Page<InvestmentApply> page = PageUtil.getPage(map);
|
||||
return baseMapper.pageList(page, wrapper);
|
||||
}
|
||||
|
||||
58
src/main/java/com/zhgd/xmgl/util/Sm4Util.java
Normal file
58
src/main/java/com/zhgd/xmgl/util/Sm4Util.java
Normal file
@ -0,0 +1,58 @@
|
||||
package com.zhgd.xmgl.util;
|
||||
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.crypto.SmUtil;
|
||||
import cn.hutool.crypto.symmetric.SymmetricCrypto;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@Slf4j
|
||||
public class Sm4Util {
|
||||
|
||||
public Sm4Util() {
|
||||
}
|
||||
|
||||
private static final String KEY = "ZHGDzhdgJXJADMIN";
|
||||
|
||||
/**
|
||||
* 加密
|
||||
*
|
||||
* @param content
|
||||
* @return
|
||||
*/
|
||||
public static String encrypt(String content) {
|
||||
return encrypt(content, KEY);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解密
|
||||
*
|
||||
* @param content
|
||||
* @return
|
||||
*/
|
||||
public static String decrypt(String content) {
|
||||
return decrypt(content, KEY);
|
||||
}
|
||||
|
||||
/**
|
||||
* 加密
|
||||
*
|
||||
* @param content 需要加密的内容
|
||||
* @param key 加密密码
|
||||
* @return
|
||||
*/
|
||||
public static String encrypt(String content, String key) {
|
||||
SymmetricCrypto sm4Crypto = SmUtil.sm4(key.getBytes());
|
||||
return sm4Crypto.encryptHex(content);
|
||||
}
|
||||
|
||||
/**
|
||||
* AES(256)解密
|
||||
*
|
||||
* @param content 待解密内容
|
||||
* @param key 解密密钥
|
||||
* @return 解密之后
|
||||
*/
|
||||
public static String decrypt(String content, String key) {
|
||||
SymmetricCrypto sm4Crypto = SmUtil.sm4(key.getBytes());
|
||||
return sm4Crypto.decryptStr(content, CharsetUtil.CHARSET_UTF_8);
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user