多因素

This commit is contained in:
jlzhangyx5
2023-08-28 15:06:24 +08:00
parent 5a01d139d0
commit 3d9f7fe9fa

View File

@ -49,11 +49,8 @@ public class BizShortMessageServiceImpl extends BaseServiceImpl<BizShortMessageM
@Autowired(required = false) @Autowired(required = false)
@Qualifier("cacheRedisTemplate") @Qualifier("cacheRedisTemplate")
private RedisTemplate<String, Object> redisTemplate; private RedisTemplate<String, Object> redisTemplate;
/** @Value("${mconfig.privateKey}")
* 业务系统私钥在SignUtil会用到--这里在切换对接环境时会变化,由集团多因素项目项目组提供 private String privateKey;
*/
private static final String PRI_KEY = "MHgCAQECIQCA7a1i8iMeG0QoNfLYkAaj3IugsHjBGwcQv9/PmXY+cKAKBggqgRzPVQGCLaFEA0IABDBEOwQYJia5S4b5vbWy8YEh1LebhTTB2s2XlQfpjAEP7o8yYgwXWW20sXR+DcOPLwE1qqj9wUWz4zeeiv1+mzk=";
@Override @Override
public Boolean authCodeSend(String mobile) { public Boolean authCodeSend(String mobile) {
String id = PropertyUtils.getSnowflakeId(); String id = PropertyUtils.getSnowflakeId();
@ -72,7 +69,7 @@ public class BizShortMessageServiceImpl extends BaseServiceImpl<BizShortMessageM
redisTemplate.opsForValue().set("userId:" + mobile, id, 10, TimeUnit.MINUTES); redisTemplate.opsForValue().set("userId:" + mobile, id, 10, TimeUnit.MINUTES);
//使用业务系统私钥对业务数据签名Base64编码后的数据对bizSn进行签名的base64字符串签名值 //使用业务系统私钥对业务数据签名Base64编码后的数据对bizSn进行签名的base64字符串签名值
byte[] signBytes = SignUtil.sign(PRI_KEY, bizSn.getBytes(StandardCharsets.UTF_8)); byte[] signBytes = SignUtil.sign(privateKey, bizSn.getBytes(StandardCharsets.UTF_8));
String sign = Base64.toBase64String(signBytes); String sign = Base64.toBase64String(signBytes);
//组装参数 //组装参数
@ -114,7 +111,7 @@ public class BizShortMessageServiceImpl extends BaseServiceImpl<BizShortMessageM
//流水号,使用发送认证短信时的流水号 //流水号,使用发送认证短信时的流水号
smsCheckRequest.setBizSn(value.toString()); smsCheckRequest.setBizSn(value.toString());
//生成签名 //生成签名
byte[] signByte = SignUtil.sign(PRI_KEY,value.toString().getBytes(StandardCharsets.UTF_8)); byte[] signByte = SignUtil.sign(privateKey,value.toString().getBytes(StandardCharsets.UTF_8));
String sign = com.cuca.bouncycastle.util.encoders.Base64.toBase64String(signByte); String sign = com.cuca.bouncycastle.util.encoders.Base64.toBase64String(signByte);
smsCheckRequest.setSign(sign); smsCheckRequest.setSign(sign);
//手机号 //手机号