Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-cloud-account
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.account
pica-cloud-account
提交
c9195702
提交
c9195702
编写于
4月 23, 2020
作者:
Peijun.zhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
兼容安卓加密接口报错,并记录流水
上级
c37dd5a6
流水线
#24666
已失败 于阶段
in 0 second
变更
7
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
274 行增加
和
21 行删除
+274
-21
AutoCodeController.java
...account/account/server/controller/AutoCodeController.java
+32
-12
CipherController.java
...d/account/account/server/controller/CipherController.java
+4
-2
LoginController.java
...ud/account/account/server/controller/LoginController.java
+52
-2
AesAuthCodeReq.java
...account/account/server/entity/AesBean/AesAuthCodeReq.java
+88
-0
LoginService.java
...ca/cloud/account/account/server/service/LoginService.java
+3
-0
LoginServiceImpl.java
...account/account/server/service/impl/LoginServiceImpl.java
+22
-0
RSAUtil.java
...a/com/pica/cloud/account/account/server/util/RSAUtil.java
+73
-5
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/controller/AutoCodeController.java
浏览文件 @
c9195702
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
Object
;
import
com.pica.cloud.account.account.server.configuration.PropertiesConfiguration
;
import
com.pica.cloud.account.account.server.constants.Constants
;
import
com.pica.cloud.account.account.server.entity.AccountUnionEntity
;
import
com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq
;
import
com.pica.cloud.account.account.server.entity.EncryptEntity
;
import
com.pica.cloud.account.account.server.entity.LogLoginAes
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
import
com.pica.cloud.account.account.server.enums.AccountTypeEnum
;
import
com.pica.cloud.account.account.server.exception.AccountException
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
import
com.pica.cloud.account.account.server.service.AccountService
;
import
com.pica.cloud.account.account.server.service.AccountUnionService
;
import
com.pica.cloud.account.account.server.service.AuthCodeService
;
import
com.pica.cloud.account.account.server.service.CaptchaService
;
import
com.pica.cloud.account.account.server.service.*
;
import
com.pica.cloud.account.account.server.util.*
;
import
com.pica.cloud.foundation.entity.PicaException
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.entity.PicaResultCode
;
import
com.pica.cloud.foundation.entity.PicaWarnException
;
import
com.pica.cloud.foundation.redis.ICacheClient
;
import
com.pica.cloud.foundation.utils.utils.CommonUtil
;
import
com.pica.cloud.foundation.utils.utils.ValidateUtils
;
...
...
@@ -28,14 +26,10 @@ import org.apache.commons.lang3.StringUtils;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.HashMap
;
import
java.util.Map
;
@Api
(
description
=
"短信验证码资源"
)
@RestController
public
class
AutoCodeController
extends
AccountBaseController
{
...
...
@@ -56,6 +50,9 @@ public class AutoCodeController extends AccountBaseController {
@Autowired
private
AuthCodeService
authCodeService
;
@Autowired
private
LoginService
loginService
;
@Autowired
private
PropertiesConfiguration
propertiesConfiguration
;
...
...
@@ -99,13 +96,36 @@ public class AutoCodeController extends AccountBaseController {
* @Date 2020/2/28 9:55
* @ModifyDate 2020/2/28 9:55
* @Params [entity, req]
* @Return com.pica.cloud.foundation.entity.PicaResponse
* @Return com.pica.cloud.foundation.entity.PicaResponse
EncryptEntity
*/
@ApiOperation
(
"获取短信验证码,无需图形验证码,如app端"
)
@PostMapping
(
value
=
"/authCode"
)
public
PicaResponse
getAuthCode
(
@RequestBody
EncryptEntity
entity
,
HttpServletRequest
req
)
throws
Exception
{
public
PicaResponse
getAuthCode
(
@RequestBody
AesAuthCodeReq
authCodeReq
,
HttpServletRequest
req
)
throws
Exception
{
// 验证码类型 0默认 1注册 2微信登录绑定手机 3修改手机
// 4重置密码 5忘记密码 7患者招募提交问卷(效验) 8Appe登录绑定手机
//added by joy begin
EncryptEntity
entity
=
new
EncryptEntity
();
if
(
StringUtils
.
isEmpty
(
authCodeReq
.
getKey
())
&&
StringUtils
.
isEmpty
(
authCodeReq
.
getContent
())){
//明文时处理
entity
=
RSAUtil
.
getAuthCodeEncrypt
(
authCodeReq
);
logger
.
info
(
"AesAuthCodeReq getAuthCode:"
+
JSONObject
.
toJSONString
(
authCodeReq
));
logger
.
info
(
"AesAuthCodeReq getAuthCode encrypt:"
+
JSONObject
.
toJSONString
(
entity
));
//个别报错数据记流水
LogLoginAes
loginAes
=
new
LogLoginAes
();
loginAes
.
setChannel
(
1
);
loginAes
.
setDeviceToken
(
authCodeReq
.
getDevice_token
());
loginAes
.
setSourceType
(
null
==
super
.
getSourceType
()
?
0
:
super
.
getSourceType
());
loginAes
.
setMobile
(
authCodeReq
.
getMobile
());
loginAes
.
setDeviceInfo
(
super
.
getDeviceInfo
(
"deviceinfo"
));
loginService
.
insertLoginAesLog
(
loginAes
);
}
else
{
//执行原逻辑
entity
.
setKey
(
authCodeReq
.
getKey
());
entity
.
setContent
(
authCodeReq
.
getContent
());
}
//added by joy end
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
request
.
setSourceType
(
super
.
getSourceType
());
AccountUtils
.
checkMobilePhone
(
request
.
getMobile
());
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/CipherController.java
浏览文件 @
c9195702
...
...
@@ -28,8 +28,10 @@ public class CipherController {
@GetMapping
(
value
=
"/cipher/key"
)
public
PicaResponse
<
String
>
getPublicKey
()
{
//提高qps 100 8失败率至 300 1 失败率
String
key
=
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnVzDlG6DJBwTsn7jFriKOmzqfm+d4vy6DtKqMfrEPg6hU3bfbR9XRfwqAFrS4+QowybpuyWCa7DFyKl0JyEa/GSrfjbXSpalFHhmWH0z0hCF1m/UvlPA0BaiYFy9ucXF9Uh8RaHkZGVmV+RbVISk4pjlZdRcK5EQ5hciBFGtgGwIDAQAB"
;
return
PicaResponse
.
toResponse
(
rsaPublicKey
);
String
testPubKey
=
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCa6j3SJwXr/pLLwb6Pq8pi9StPq+Wvm6vu+LWQB1hNqClWk0jQm5GnF6Kj0ac2gqgsMsutc3hhMaaX2QZvLX+gFQHC/ufGBdBbpPtDeGWsQItsMf/xqqlkLPkc7eVTyfsmrpQM7BG9LVvaPVXPVUcZfJNBaYuR4+Sf6Zi2ayI/hQIDAQAB"
;
String
prodPubKey
=
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnVzDlG6DJBwTsn7jFriKOmzqfm+d4vy6DtKqMfrEPg6hU3bfbR9XRfwqAFrS4+QowybpuyWCa7DFyKl0JyEa/GSrfjbXSpalFHhmWH0z0hCF1m/UvlPA0BaiYFy9ucXF9Uh8RaHkZGVmV+RbVISk4pjlZdRcK5EQ5hciBFGtgGwIDAQAB"
;
// return PicaResponse.toResponse(rsaPublicKey);
return
PicaResponse
.
toResponse
(
rsaPublicKey
);
//
}
...
...
server/src/main/java/com/pica/cloud/account/account/server/controller/LoginController.java
浏览文件 @
c9195702
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pica.cloud.account.account.server.entity.*
;
import
com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq
;
import
com.pica.cloud.account.account.server.enums.AccountExceptionEnum
;
import
com.pica.cloud.account.account.server.enums.AccountTypeEnum
;
import
com.pica.cloud.account.account.server.enums.SourceTypeEnum
;
...
...
@@ -14,6 +16,7 @@ import com.pica.cloud.account.account.server.service.LoginService;
import
com.pica.cloud.account.account.server.service.TokenService
;
import
com.pica.cloud.account.account.server.util.AccountUtils
;
import
com.pica.cloud.account.account.server.util.CryptoUtil
;
import
com.pica.cloud.account.account.server.util.RSAUtil
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
com.pica.cloud.foundation.entity.PicaWarnException
;
import
com.pica.cloud.foundation.redis.CacheClient
;
...
...
@@ -219,7 +222,30 @@ public class LoginController extends AccountBaseController {
@ApiOperation
(
value
=
"统一校验(传空则不会校验)"
)
@PostMapping
(
"/unifiedVerification"
)
public
PicaResponse
unifiedVerification
(
@RequestBody
EncryptEntity
entity
)
throws
Exception
{
public
PicaResponse
unifiedVerification
(
@RequestBody
AesAuthCodeReq
req
)
throws
Exception
{
//added by joy begin
EncryptEntity
entity
=
new
EncryptEntity
();
if
(
StringUtils
.
isEmpty
(
req
.
getKey
())
&&
StringUtils
.
isEmpty
(
req
.
getContent
())){
//明文时处理
entity
=
RSAUtil
.
getAuthCodeEncrypt
(
req
);
logger
.
info
(
"AesAuthCodeReq unifiedVerification:"
+
JSONObject
.
toJSONString
(
req
));
logger
.
info
(
"AesAuthCodeReq unifiedVerification encrypt:"
+
JSONObject
.
toJSONString
(
entity
));
//个别报错数据记流水
LogLoginAes
loginAes
=
new
LogLoginAes
();
loginAes
.
setChannel
(
2
);
loginAes
.
setDeviceToken
(
req
.
getDevice_token
());
loginAes
.
setSourceType
(
null
==
super
.
getSourceType
()
?
0
:
super
.
getSourceType
());
loginAes
.
setMobile
(
req
.
getMobile
());
loginAes
.
setDeviceInfo
(
super
.
getDeviceInfo
(
"deviceinfo"
));
loginService
.
insertLoginAesLog
(
loginAes
);
}
else
{
//执行原逻辑
entity
.
setKey
(
req
.
getKey
());
entity
.
setContent
(
req
.
getContent
());
}
//added by joy end
BaseRequest
request
=
CryptoUtil
.
decrypt
(
entity
,
BaseRequest
.
class
);
request
.
setSourceType
(
super
.
getSourceType
());
loginService
.
preLoginValidate
(
request
);
...
...
@@ -251,7 +277,31 @@ public class LoginController extends AccountBaseController {
@ApiOperation
(
value
=
"app端手机号码一键登录"
)
@PostMapping
(
"/login/one-click"
)
public
PicaResponse
<
LoginResult
>
oneClickLogin
(
@RequestBody
EncryptEntity
entity
)
throws
Exception
{
public
PicaResponse
<
LoginResult
>
oneClickLogin
(
@RequestBody
AesAuthCodeReq
aesReq
)
throws
Exception
{
//added by joy begin
EncryptEntity
entity
=
new
EncryptEntity
();
if
(
StringUtils
.
isEmpty
(
aesReq
.
getKey
())
&&
StringUtils
.
isEmpty
(
aesReq
.
getContent
())){
//明文时处理
entity
=
RSAUtil
.
getOneClickEncrypt
(
aesReq
);
logger
.
info
(
"AesAuthCodeReq oneClickLogin:"
+
JSONObject
.
toJSONString
(
aesReq
));
logger
.
info
(
"AesAuthCodeReq oneClickLogin encrypt:"
+
JSONObject
.
toJSONString
(
entity
));
//个别报错数据记流水
LogLoginAes
loginAes
=
new
LogLoginAes
();
loginAes
.
setChannel
(
3
);
loginAes
.
setDeviceToken
(
aesReq
.
getDevice_token
());
loginAes
.
setSourceType
(
null
==
super
.
getSourceType
()
?
0
:
super
.
getSourceType
());
loginAes
.
setOneToken
(
aesReq
.
getToken
());
loginAes
.
setMobile
(
aesReq
.
getMobile
());
loginAes
.
setDeviceInfo
(
super
.
getDeviceInfo
(
"deviceinfo"
));
loginService
.
insertLoginAesLog
(
loginAes
);
}
else
{
//执行原逻辑
entity
.
setKey
(
aesReq
.
getKey
());
entity
.
setContent
(
aesReq
.
getContent
());
}
//added by joy end
OneClickLoginReq
req
=
CryptoUtil
.
decrypt
(
entity
,
OneClickLoginReq
.
class
);
req
.
setProductType
(
super
.
getProductType
());
req
.
setSourceType
(
super
.
getSourceType
());
...
...
server/src/main/java/com/pica/cloud/account/account/server/entity/AesBean/AesAuthCodeReq.java
0 → 100644
浏览文件 @
c9195702
// Copyright 2016-2101 Pica.
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
entity
.
AesBean
;
/**
* @ClassName AesAuthCodeReq
* @Description TODO
* @Author peijun.zhao
* @Date 2020/4/21 18:33
* @ModifyDate 2020/4/21 18:33
* @Version 1.0
*/
public
class
AesAuthCodeReq
{
private
Integer
bizType
;
private
String
device_token
;
private
String
mobile
;
private
Integer
flag
;
private
String
token
;
/**
* 加密后的密文
*/
private
String
key
;
/**
* 加密后的数据
*/
private
String
content
;
public
Integer
getBizType
()
{
return
bizType
;
}
public
void
setBizType
(
Integer
bizType
)
{
this
.
bizType
=
bizType
;
}
public
String
getDevice_token
()
{
return
device_token
;
}
public
void
setDevice_token
(
String
device_token
)
{
this
.
device_token
=
device_token
;
}
public
String
getMobile
()
{
return
mobile
;
}
public
void
setMobile
(
String
mobile
)
{
this
.
mobile
=
mobile
;
}
public
Integer
getFlag
()
{
return
flag
;
}
public
void
setFlag
(
Integer
flag
)
{
this
.
flag
=
flag
;
}
public
String
getKey
()
{
return
key
;
}
public
void
setKey
(
String
key
)
{
this
.
key
=
key
;
}
public
String
getContent
()
{
return
content
;
}
public
void
setContent
(
String
content
)
{
this
.
content
=
content
;
}
public
String
getToken
()
{
return
token
;
}
public
void
setToken
(
String
token
)
{
this
.
token
=
token
;
}
}
server/src/main/java/com/pica/cloud/account/account/server/service/LoginService.java
浏览文件 @
c9195702
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
service
;
import
com.pica.cloud.account.account.server.entity.LogLoginAes
;
import
com.pica.cloud.account.account.server.entity.LoginResult
;
import
com.pica.cloud.account.account.server.entity.PICAPDoctor
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
...
...
@@ -91,4 +92,6 @@ public interface LoginService {
* @Return com.pica.cloud.account.account.server.entity.LoginResult
*/
LoginResult
loginByAppleStep
(
BaseRequest
request
);
int
insertLoginAesLog
(
LogLoginAes
aes
);
}
server/src/main/java/com/pica/cloud/account/account/server/service/impl/LoginServiceImpl.java
浏览文件 @
c9195702
...
...
@@ -91,6 +91,9 @@ public class LoginServiceImpl implements LoginService {
@Autowired
private
OneClickProcessor
oneClickProcessor
;
@Autowired
private
LogLoginAesMapper
logLoginAesMapper
;
@Value
(
"${doubleWritingMode}"
)
private
boolean
doubleWritingMode
;
...
...
@@ -906,4 +909,23 @@ public class LoginServiceImpl implements LoginService {
accountUnionMapper
.
insertSelective
(
accountUnionEntity
);
}
/**
* @Description TODO
* @Author peijun.zhao
* @Date 2020/4/22 17:14
* @ModifyDate 2020/4/22 17:14
* @Params [aes]
* @Return int
*/
@Override
public
int
insertLoginAesLog
(
LogLoginAes
aes
){
aes
.
setDeleteFlag
(
1
);
aes
.
setCreateId
(
999999
);
aes
.
setModifyId
(
999999
);
aes
.
setCreateTime
(
new
Date
());
aes
.
setModifyTime
(
new
Date
());
return
logLoginAesMapper
.
insert
(
aes
);
}
}
server/src/main/java/com/pica/cloud/account/account/server/util/RSAUtil.java
浏览文件 @
c9195702
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
util
;
import
com.alibaba.fastjson.JSONObject
;
import
com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq
;
import
com.pica.cloud.account.account.server.entity.EncryptEntity
;
import
com.pica.cloud.account.account.server.req.BaseRequest
;
import
com.pica.cloud.account.account.server.req.OneClickLoginReq
;
import
org.apache.tomcat.util.codec.binary.Base64
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
...
...
@@ -36,6 +41,11 @@ public class RSAUtil {
public
void
init
()
{
RSAUtil
.
rsaprivatekey
=
rsaprivatekeyTemp
;
RSAUtil
.
rsapublickey
=
rsapublickeyTemp
;
// prd 配置
// RSAUtil.rsapublickey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnVzDlG6DJBwTsn7jFriKOmzqfm+d4vy6DtKqMfrEPg6hU3bfbR9XRfwqAFrS4+QowybpuyWCa7DFyKl0JyEa/GSrfjbXSpalFHhmWH0z0hCF1m/UvlPA0BaiYFy9ucXF9Uh8RaHkZGVmV+RbVISk4pjlZdRcK5EQ5hciBFGtgGwIDAQAB";
// RSAUtil.rsaprivatekey = "MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAKdXMOUboMkHBOyfuMWuIo6bOp+b53i/LoO0qox+sQ+DqFTdt9tH1dF/CoAWtLj5CjDJum7JYJrsMXIqXQnIRr8ZKt+NtdKlqUUeGZYfTPSEIXWb9S+U8DQFqJgXL25xcX1SHxFoeRkZWZX5FtUhKTimOVl1FwrkRDmFyIEUa2AbAgMBAAECgYEAlEZHxtoiL74OePRVrqNLb3zQBxkHkxAj0QPGktK3ZP3Nq9UB0kTmisi8rx5vZ+8TPoOgtAWvmdZrQbOT2NUjCUYKkGS+Wi1fXpP0Az2UJwDIQK4aQTZtNbM04f3Rmi5i24eASmSdl1svjHEv0YS6IC6sR1cbElZs94uDFshUeqECQQDTrmZda8fo6ZNsHVYWcjTwr8JKTIgjaD/hPi0JP6hhL0GVEAVwb2rsfJf5o2TR5RsNT8ANUYgFPRaAymLLe+5zAkEAymA9V55K6IJhnSp7HmWfGVmxvTrwZFJIzPv7DLi/RAS3yFPfTpyJGLirAnBQfKO/vwjxhAuwD21aDYHMTrj1uQJBAJdAikw+cz1tiLU70QOA32sLaxyDytLh7qMXNj7hiYLHrWjBZeGM+y23aTArHCMOPWIpleTuWO7FU4r7EdSr3RkCQQCliu4CwyhRY33H210U81memgFLYnAMEEce7qxgrqs+T4Gqa/lJy8BVqZGxkAA2xJfwA7fUJN9i7zdvvxJJ/wB5AkA+OKfnTXTp8qF4lZiVMrGl3d5sgg87q1DhC5XruviH6a3u6JOLlRNQy2+TGxzWMYaJ1RwEfygqBYOgyvoqNR3Q";
}
/**
...
...
@@ -172,6 +182,60 @@ public class RSAUtil {
return
new
String
(
decryptedData
);
}
// 获取验证码-加密
public
static
EncryptEntity
getAuthCodeEncrypt
(
AesAuthCodeReq
req
){
BaseRequest
authCode
=
new
BaseRequest
();
authCode
.
setFlag
(
req
.
getFlag
()
==
null
?
0
:
req
.
getFlag
());
authCode
.
setMobile
(
req
.
getMobile
());
authCode
.
setDevice_token
(
req
.
getDevice_token
());
authCode
.
setBizType
(
req
.
getBizType
());
String
authCodeStr
=
JSONObject
.
toJSONString
(
authCode
);
// System.out.println(authCodeStr);
String
contentResult
=
null
;
try
{
contentResult
=
AESUtil
.
aesEncrypt
(
authCodeStr
,
"YCPQPx4qpQjEjDea"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
String
keyResult
=
null
;
try
{
keyResult
=
RSAUtil
.
encrypt
(
"YCPQPx4qpQjEjDea"
,
rsapublickey
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
EncryptEntity
encryptTest
=
new
EncryptEntity
();
encryptTest
.
setContent
(
contentResult
);
encryptTest
.
setKey
(
keyResult
);
return
encryptTest
;
// System.out.println(JSONObject.toJSONString(encryptTest2));
}
// oneclick-加密
public
static
EncryptEntity
getOneClickEncrypt
(
AesAuthCodeReq
req
){
OneClickLoginReq
oneReq
=
new
OneClickLoginReq
();
oneReq
.
setToken
(
req
.
getToken
());
String
authCodeStr
=
JSONObject
.
toJSONString
(
oneReq
);
// System.out.println(authCodeStr);
String
contentResult
=
null
;
try
{
contentResult
=
AESUtil
.
aesEncrypt
(
authCodeStr
,
"YCPQPx4qpQjEjDea"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
String
keyResult
=
null
;
try
{
keyResult
=
RSAUtil
.
encrypt
(
"YCPQPx4qpQjEjDea"
,
rsapublickey
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
EncryptEntity
encryptTest
=
new
EncryptEntity
();
encryptTest
.
setContent
(
contentResult
);
encryptTest
.
setKey
(
keyResult
);
return
encryptTest
;
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
//生成公钥和私钥
// genKeyPair();
...
...
@@ -187,12 +251,16 @@ public class RSAUtil {
// System.out.println("还原后的字符串为:" + messageDe);
genKeyPair
();
String
s
=
keyMap
.
get
(
0
);
System
.
out
.
println
(
s
);
String
s1
=
keyMap
.
get
(
1
);
System
.
out
.
println
(
s1
);
String
publicKey
=
keyMap
.
get
(
0
);
System
.
out
.
println
(
publicKey
);
String
privateKey
=
keyMap
.
get
(
1
);
System
.
out
.
println
(
privateKey
);
String
messageEn
=
encrypt
(
"{\"bizType\":1,\"device_token\":\"120c83f760bd0420c78\",\"mobile\":\"17868481983\",\"flag\":0}"
,
publicKey
);
System
.
out
.
println
(
messageEn
);
String
key1
=
""
;
String
encryptMsg
=
"{\"key\":\"n2MyzrptkOsYE5c0lDn+5HU8x22DJTT49uad0+zeTt4Nj6RDrv3mJzKcc8LweYF5D7i4o812h9Gwn4drGJP+9Y8UOLNNRMx4+Au/V3TqOQFjve4jfUV8aewJK9Mildvsdk71ITe4YWd+8pQjuaQ4EkgAziFWEEuKiNnTEZjO8mE=\",\"content\":\"IRwE4SYrDk5RVpyycJy86n8Bu85FuQWt0Xb6wW+ITKObah0pkxKym+xwRwHMwMm5+UPmqNYhLsu5Dt39N14ZduwNDbktRaoAzvU6BHkdX4bWbkrPB7tw71J9k9zy7O/zaAzgo3SLUlj/xWB3KuOKcg==\"}"
;
System
.
out
.
println
(
decrypt
(
encryptMsg
,
privateKey
));
String
key2
=
""
;
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录