国密算法修改
This commit is contained in:
parent
8a924f53b1
commit
ca6337aeb9
9
pom.xml
9
pom.xml
@ -457,12 +457,17 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>cn.hutool</groupId>
|
<groupId>cn.hutool</groupId>
|
||||||
<artifactId>hutool-all</artifactId>
|
<artifactId>hutool-all</artifactId>
|
||||||
<version>5.8.4</version>
|
<version>5.8.5</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>cn.hutool</groupId>
|
<groupId>cn.hutool</groupId>
|
||||||
<artifactId>hutool-core</artifactId>
|
<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>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.tomcat</groupId>
|
<groupId>org.apache.tomcat</groupId>
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
package com.zhgd.mybatis;
|
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 lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
|
|
||||||
@ -115,9 +118,20 @@ public class Aes {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
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("RaxMRsBUfFDjz/U/7LB/TBRIDE/1I6ZZ9kmQFWqgLCID42evqzeC8kpDSd3GM7YB".replace("+", "-").replace("/", "_"));
|
||||||
// System.out.println(encrypt("{\"uid\":\"test\",\"exp\":1686559180478}", "ssologin66!@#$%^"));
|
// 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.annotation.OperLog;
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
import com.zhgd.jeecg.common.constant.CommonConstant;
|
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.dto.SystemUserAuthDto;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.Government;
|
import com.zhgd.xmgl.modules.basicdata.entity.Government;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
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.SecurityUser;
|
||||||
import com.zhgd.xmgl.security.SecurityUtil;
|
import com.zhgd.xmgl.security.SecurityUtil;
|
||||||
import com.zhgd.xmgl.util.CommonUtil;
|
import com.zhgd.xmgl.util.CommonUtil;
|
||||||
|
import com.zhgd.xmgl.util.Sm4Util;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
@ -122,7 +122,7 @@ public class SystemUserAuthController {
|
|||||||
if (!CommonUtil.checkStrongPwd(password)) {
|
if (!CommonUtil.checkStrongPwd(password)) {
|
||||||
return Result.error("密码必须包含数字、大小写字母、特殊符号且大于8位");
|
return Result.error("密码必须包含数字、大小写字母、特殊符号且大于8位");
|
||||||
}
|
}
|
||||||
boolean flag = systemUserService.updatePassword(user.getUserId(), Aes.encrypt(password));
|
boolean flag = systemUserService.updatePassword(user.getUserId(), Sm4Util.encrypt(password));
|
||||||
if (flag) {
|
if (flag) {
|
||||||
return Result.ok();
|
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.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhgd.jeecg.common.util.PageUtil;
|
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.entity.*;
|
||||||
import com.zhgd.xmgl.modules.basicdata.mapper.EnterpriseMapper;
|
import com.zhgd.xmgl.modules.basicdata.mapper.EnterpriseMapper;
|
||||||
import com.zhgd.xmgl.modules.basicdata.mapper.ProjectMapper;
|
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.modules.basicdata.vo.EnterpriseVo;
|
||||||
import com.zhgd.xmgl.security.SecurityUtil;
|
import com.zhgd.xmgl.security.SecurityUtil;
|
||||||
import com.zhgd.xmgl.util.CommonUtil;
|
import com.zhgd.xmgl.util.CommonUtil;
|
||||||
|
import com.zhgd.xmgl.util.Sm4Util;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -96,7 +96,7 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterpr
|
|||||||
if (flag) {
|
if (flag) {
|
||||||
SystemUser systemUser = new SystemUser();
|
SystemUser systemUser = new SystemUser();
|
||||||
systemUser.setAccount(enterpriseVo.getAccount());
|
systemUser.setAccount(enterpriseVo.getAccount());
|
||||||
systemUser.setPassword(Aes.encrypt(enterpriseVo.getPassword()));
|
systemUser.setPassword(Sm4Util.encrypt(enterpriseVo.getPassword()));
|
||||||
systemUser.setShowPassword(enterpriseVo.getPassword());
|
systemUser.setShowPassword(enterpriseVo.getPassword());
|
||||||
systemUser.setRealName(enterpriseVo.getRealName());
|
systemUser.setRealName(enterpriseVo.getRealName());
|
||||||
systemUser.setIsManager(true);
|
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.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.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.EnterpriseMapper;
|
||||||
import com.zhgd.xmgl.modules.basicdata.mapper.GovernmentMapper;
|
import com.zhgd.xmgl.modules.basicdata.mapper.GovernmentMapper;
|
||||||
import com.zhgd.xmgl.modules.basicdata.mapper.ProjectMapper;
|
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.service.IGovernmentService;
|
||||||
import com.zhgd.xmgl.modules.basicdata.vo.GovernmentVo;
|
import com.zhgd.xmgl.modules.basicdata.vo.GovernmentVo;
|
||||||
import com.zhgd.xmgl.util.CommonUtil;
|
import com.zhgd.xmgl.util.CommonUtil;
|
||||||
|
import com.zhgd.xmgl.util.Sm4Util;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -79,7 +82,7 @@ public class GovernmentServiceImpl extends ServiceImpl<GovernmentMapper, Governm
|
|||||||
SystemUser systemUser = new SystemUser();
|
SystemUser systemUser = new SystemUser();
|
||||||
systemUser.setRealName(governmentVo.getGovernmentName());
|
systemUser.setRealName(governmentVo.getGovernmentName());
|
||||||
systemUser.setAccount(governmentVo.getAccount());
|
systemUser.setAccount(governmentVo.getAccount());
|
||||||
systemUser.setPassword(Aes.encrypt(governmentVo.getPassword()));
|
systemUser.setPassword(Sm4Util.encrypt(governmentVo.getPassword()));
|
||||||
systemUser.setShowPassword(governmentVo.getPassword());
|
systemUser.setShowPassword(governmentVo.getPassword());
|
||||||
systemUser.setCreateTime(new Date());
|
systemUser.setCreateTime(new Date());
|
||||||
systemUser.setSn(government.getGovernmentSn());
|
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.SecurityUser;
|
||||||
import com.zhgd.xmgl.security.SecurityUtil;
|
import com.zhgd.xmgl.security.SecurityUtil;
|
||||||
import com.zhgd.xmgl.util.CommonUtil;
|
import com.zhgd.xmgl.util.CommonUtil;
|
||||||
|
import com.zhgd.xmgl.util.Sm4Util;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -96,7 +97,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
|
|||||||
if (flag) {
|
if (flag) {
|
||||||
SystemUser systemUser = new SystemUser();
|
SystemUser systemUser = new SystemUser();
|
||||||
systemUser.setAccount(projectVo.getAccount());
|
systemUser.setAccount(projectVo.getAccount());
|
||||||
systemUser.setPassword(Aes.encrypt(projectVo.getPassword()));
|
systemUser.setPassword(Sm4Util.encrypt(projectVo.getPassword()));
|
||||||
systemUser.setShowPassword(projectVo.getPassword());
|
systemUser.setShowPassword(projectVo.getPassword());
|
||||||
systemUser.setIsManager(true);
|
systemUser.setIsManager(true);
|
||||||
systemUser.setState(projectVo.getState());
|
systemUser.setState(projectVo.getState());
|
||||||
|
|||||||
@ -49,6 +49,7 @@ public class InvestmentApplyServiceImpl extends ServiceImpl<InvestmentApplyMappe
|
|||||||
public Page<InvestmentApply> pageList(Map<String, Object> map) {
|
public Page<InvestmentApply> pageList(Map<String, Object> map) {
|
||||||
String name = MapUtils.getString(map, "name");
|
String name = MapUtils.getString(map, "name");
|
||||||
String projectSn = MapUtils.getString(map, "projectSn");
|
String projectSn = MapUtils.getString(map, "projectSn");
|
||||||
|
String engineeringSn = MapUtils.getString(map, "engineeringSn");
|
||||||
QueryWrapper<InvestmentApply> wrapper = Wrappers.<InvestmentApply>query();
|
QueryWrapper<InvestmentApply> wrapper = Wrappers.<InvestmentApply>query();
|
||||||
if (StringUtils.isNotBlank(name)) {
|
if (StringUtils.isNotBlank(name)) {
|
||||||
wrapper.like("a.name", name);
|
wrapper.like("a.name", name);
|
||||||
@ -56,6 +57,9 @@ public class InvestmentApplyServiceImpl extends ServiceImpl<InvestmentApplyMappe
|
|||||||
if (StringUtils.isNotBlank(projectSn)) {
|
if (StringUtils.isNotBlank(projectSn)) {
|
||||||
wrapper.eq("a.project_sn", projectSn).eq("a.engineering_sn", "");
|
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);
|
Page<InvestmentApply> page = PageUtil.getPage(map);
|
||||||
return baseMapper.pageList(page, wrapper);
|
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