Browse Source

证件号加密

手机号码加密
v2
chenrui 2 years ago
parent
commit
b73f1bdfff
  1. 22
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/IdCardCryptoUtil.java
  2. 3
      lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java
  3. 23
      lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/service/UserServiceImpl.java
  4. 4
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application.yml
  5. 8
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/ThirdLoginController.java
  6. 17
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java
  7. 9
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/task/EnforcementNumberTask.java

22
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/utils/IdCardCryptoUtil.java → lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/IdCardCryptoUtil.java

@ -1,4 +1,4 @@
package com.zdxt.code.utils;
package com.zdxt.common.util;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.util.IdUtil;
@ -6,17 +6,9 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import cn.hutool.crypto.symmetric.SymmetricAlgorithm;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONObject;
import com.zdxt.code.utils.HttpUtil;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
@ -38,11 +30,11 @@ public class IdCardCryptoUtil {
public static void main(String[] args) {
String userIdCode = IdCardCryptoUtil.symmetricEncryptIdCard("eWIzY3BMRVNEQXhvUUlXMA==", "1608644307579883522");
String userIdCode = IdCardCryptoUtil.symmetricEncryptIdCard("VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0", "1608644307579883522");
String userNameCode = IdCardCryptoUtil.symmetricEncryptIdCard("eWIzY3BMRVNEQXhvUUlXMA==", "汪鑫");
// String secret = IdCardCryptoUtil.symmetricEncryptIdCard("eWIzY3BMRVNEQXhvUUlXMA==", "ae739d8c-86ed-4898-b57d-eed3be42debf");
// String phone = IdCardCryptoUtil.symmetricDecryptIdCard("eWIzY3BMRVNEQXhvUUlXMA==", "0PPEx9wD2DLva7zpWJt8MQ==");
String phone = IdCardCryptoUtil.symmetricDecryptIdCard("VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0", userIdCode);
// System.out.println(userIdCode);
// System.out.println(phone);
@ -60,9 +52,9 @@ public class IdCardCryptoUtil {
Map<String,Object> params = new HashMap<>();
params.put("accessKeySign",secret);
params.put("appCode","zfjdm");
String data = HttpUtil.httpSendPost("http://egbpub.siqhz.com/egb/api/thirdauth/pub/auth/getUserInfo",
JSONObject.toJSONString(params),new HashMap<>());
System.out.println(data);
// String data = HttpUtil.httpSendPost("http://egbpub.siqhz.com/egb/api/thirdauth/pub/auth/getUserInfo",
// JSONObject.toJSONString(params),new HashMap<>());
// System.out.println(data);
}

3
lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java

@ -3,14 +3,13 @@ package com.zdxt.app.controller;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject;
import com.auth0.jwt.JWTVerifier;
import com.zdxt.auth.dto.UserBean;
import com.zdxt.auth.feign.UserApi;
import com.zdxt.auth.framework.shiro.jwt.JWTUtils;
import com.zdxt.auth.project.system.user.service.IUserService;
import com.zdxt.code.domain.SiqLogin;
import com.zdxt.code.service.ThirdLoginService;
import com.zdxt.code.utils.HttpUtil;
import com.zdxt.code.utils.IdCardCryptoUtil;
import com.zdxt.common.util.IdCardCryptoUtil;
import com.zdxt.code.utils.ZwSmsClient;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.util.RedisCache;

23
lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/service/UserServiceImpl.java

@ -20,12 +20,14 @@ import com.zdxt.auth.project.system.user.mapper.UserMapper;
import com.zdxt.auth.project.system.user.mapper.UserPostMapper;
import com.zdxt.auth.project.system.user.mapper.UserRoleMapper;
import com.zdxt.common.annotation.DataScope;
import com.zdxt.common.util.IdCardCryptoUtil;
import com.zdxt.domain.auth.*;
import org.apache.commons.collections.map.HashedMap;
import org.apache.shiro.crypto.hash.Md5Hash;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -79,6 +81,9 @@ public class UserServiceImpl implements IUserService {
@Autowired
private DeptMapper deptMapper;
@Value("${srnwg.secretKey}")
private String secretKey;
/**
* 通过金蝶原始用户id查询用户
*
@ -633,14 +638,24 @@ public class UserServiceImpl implements IUserService {
user.setCreateAt(jsonObject.getString("createAt"));
user.setUpdateAt(jsonObject.getString("updateAt"));
user.setGuid(jsonObject.getString("guid"));
user.setMobileNumber(jsonObject.getString("mobileNumber"));
user.setPhonenumber(jsonObject.getString("mobileNumber"));
//手机号加密
String mobileNumber =
IdCardCryptoUtil.symmetricEncryptIdCard(secretKey, jsonObject.getString("mobileNumber"));
user.setMobileNumber(mobileNumber);
user.setPhonenumber(mobileNumber);
user.setEmail(jsonObject.getString("email"));
user.setCertificateTypeId(jsonObject.getString("certificateTypeId"));
user.setCertificateTypeIdCode(jsonObject.getString("certificateTypeIdCode"));
user.setCertificateNumber(jsonObject.getString("certificateNumber"));
//证件号加密
String certificateNumber =
IdCardCryptoUtil.symmetricEncryptIdCard(secretKey, jsonObject.getString("certificateNumber"));
user.setCertificateNumber(certificateNumber);
user.setIsMappingPerson(jsonObject.getString("isMappingPerson"));
user.setUnits(jsonObject.getString("units"));
//证件号加密
String units =
IdCardCryptoUtil.symmetricEncryptIdCard(secretKey, jsonObject.getString("units"));
user.setUnits(units);
user.randomSalt();
//新增用户默认不删除标记

4
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application.yml

@ -258,6 +258,8 @@ srnwg:
integrationKey: erS@rtd34gf!
paasId: szsfj_zhifajianduma_001
paasToken: bb1c6dd37f34545c8f57785c9d8e79f6
#市认证数据加密字符
secretKey: VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0
#测试
# url: https://smartgate-test.sz.gov.cn
# systemCode: sfjzfjdm
@ -265,6 +267,8 @@ srnwg:
# paasId: szsfj_zhifajianduma_001
# paasToken: e64638a4483e8bcfc33d935c3cbdf546
#短信平台
sms:
account: 122

8
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/ThirdLoginController.java

@ -2,22 +2,16 @@ package com.zdxt.code.controller;
import com.alibaba.fastjson.JSONObject;
import com.auth0.jwt.JWTVerifier;
import com.zdxt.auth.dto.UserBean;
import com.zdxt.auth.feign.UserApi;
import com.zdxt.auth.framework.shiro.jwt.JWTUtils;
import com.zdxt.auth.framework.shiro.nopaddword.LoginType;
import com.zdxt.auth.framework.shiro.nopaddword.UserToken;
import com.zdxt.auth.project.system.user.service.IUserService;
import com.zdxt.code.domain.SiqLogin;
import com.zdxt.code.service.ThirdLoginService;
import com.zdxt.code.utils.HttpUtil;
import com.zdxt.code.utils.IdCardCryptoUtil;
import com.zdxt.common.util.IdCardCryptoUtil;
import com.zdxt.common.ZDResponse;
import com.zdxt.domain.auth.User;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;

17
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java

@ -2,7 +2,6 @@ package com.zdxt.code.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.zdxt.auth.dto.DeptBean;
import com.zdxt.auth.dto.UserBean;
@ -13,29 +12,22 @@ import com.zdxt.auth.framework.shiro.nopaddword.UserToken;
import com.zdxt.code.domain.EnterpriseInformation;
import com.zdxt.code.domain.Zfryjdm2405301;
import com.zdxt.code.mapper.Xzjcjbxx025711Mapper;
import com.zdxt.code.service.IEnforcementRegistrationService;
import com.zdxt.code.service.IEnterpriseInformationService;
import com.zdxt.code.service.ThirdLoginService;
import com.zdxt.code.utils.HttpUtil;
import com.zdxt.code.utils.IdCardCryptoUtil;
import com.zdxt.common.util.IdCardCryptoUtil;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.util.DateUtils;
import com.zdxt.common.util.UserConstants;
import com.zdxt.domain.auth.User;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
@ -51,6 +43,9 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
@Value("${siq.siqUrl}")
private String siqUrl;
@Value("${srnwg.secretKey}")
private String srzSecretKey;
@Autowired
private UserApi userApi;
@Autowired
@ -199,7 +194,9 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
@Override
public Boolean checkIsLawOfficer(String userIdCard) {
List<Zfryjdm2405301> zfryjdm2405301s = xzjcjbxx025711Mapper.queryZFRYByIdCard(userIdCard);
//证件号解密
String s = IdCardCryptoUtil.symmetricDecryptIdCard(srzSecretKey, userIdCard);
List<Zfryjdm2405301> zfryjdm2405301s = xzjcjbxx025711Mapper.queryZFRYByIdCard(s);
if(zfryjdm2405301s.size() > 0 ){
if(BeanUtil.isNotEmpty(zfryjdm2405301s.get(0))){
return Boolean.TRUE;

9
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/task/EnforcementNumberTask.java

@ -3,8 +3,10 @@ package com.zdxt.code.task;
import com.zdxt.auth.project.system.user.service.IUserService;
import com.zdxt.code.domain.Zfryjdm2405301;
import com.zdxt.code.mapper.Xzjcjbxx025711Mapper;
import com.zdxt.common.util.IdCardCryptoUtil;
import com.zdxt.domain.auth.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.List;
@ -21,11 +23,16 @@ public class EnforcementNumberTask {
@Autowired
private IUserService userService;
@Value("${srnwg.secretKey}")
private String secretKey;
public void syncNumber(){
List<Zfryjdm2405301> zfryjdm2405301s = xzjcjbxx025711Mapper.queryZFRY();
for (Zfryjdm2405301 zfryjdm2405301 : zfryjdm2405301s) {
User user = new User();
user.setCertificateNumber(zfryjdm2405301.getSfzcode());
String s = IdCardCryptoUtil.symmetricEncryptIdCard(secretKey, zfryjdm2405301.getSfzcode());
user.setCertificateNumber(s);
List<User> users = userService.selectUserList(user);
if(users.size() > 0 ){
User user1 = users.get(0);

Loading…
Cancel
Save