Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
E
estateplat-encrypt
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
狄熙卜
estateplat-encrypt
Commits
8a860112
提交
8a860112
authored
11月 16, 2023
作者:
狄熙卜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
单独string作为参数和单独string作为返回值的加解密(原注解方式),支持通过配置实现
上级
d76905dd
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
66 行增加
和
1 行删除
+66
-1
CryptProperties.java
...ain/java/cn/gtmap/bdcdj/core/encrypt/CryptProperties.java
+20
-0
DbEncryptXmlConfig.java
.../java/cn/gtmap/bdcdj/core/encrypt/DbEncryptXmlConfig.java
+20
-0
EncryptAdapterBuilder.java
...va/cn/gtmap/bdcdj/core/encrypt/EncryptAdapterBuilder.java
+22
-1
EncryptInterceptor.java
.../java/cn/gtmap/bdcdj/core/encrypt/EncryptInterceptor.java
+4
-0
没有找到文件。
src/main/java/cn/gtmap/bdcdj/core/encrypt/CryptProperties.java
浏览文件 @
8a860112
...
...
@@ -35,6 +35,10 @@ public class CryptProperties {
private
List
<
Map
>
sqlDecryptFileds
;
//实体加解密字段
private
List
<
Map
>
entityFileds
;
//sql参数为单独的string,对参数加密(等价于注解)
private
List
<
String
>
sqlSingleEncryptFileds
;
//sql返回值为单独的string,对返回值加密(等价于注解)
private
List
<
String
>
sqlSingleDecryptFileds
;
public
CryptProperties
(
boolean
cryptEnable
)
{
this
.
cryptEnable
=
cryptEnable
;
}
...
...
@@ -43,6 +47,22 @@ public class CryptProperties {
this
.
cryptType
=
cryptType
;
}
public
List
<
String
>
getSqlSingleEncryptFileds
()
{
return
sqlSingleEncryptFileds
;
}
public
void
setSqlSingleEncryptFileds
(
List
<
String
>
sqlSingleEncryptFileds
)
{
this
.
sqlSingleEncryptFileds
=
sqlSingleEncryptFileds
;
}
public
List
<
String
>
getSqlSingleDecryptFileds
()
{
return
sqlSingleDecryptFileds
;
}
public
void
setSqlSingleDecryptFileds
(
List
<
String
>
sqlSingleDecryptFileds
)
{
this
.
sqlSingleDecryptFileds
=
sqlSingleDecryptFileds
;
}
public
boolean
isUserSm4KeyEnable
()
{
return
isUserSm4KeyEnable
;
}
...
...
src/main/java/cn/gtmap/bdcdj/core/encrypt/DbEncryptXmlConfig.java
浏览文件 @
8a860112
...
...
@@ -40,6 +40,10 @@ public class DbEncryptXmlConfig {
private
List
<
Map
>
sqlDecryptFileds
;
//实体加解密字段
private
List
<
Map
>
entityFileds
;
//sql参数为单独的string,对参数加密(等价于注解)
private
List
<
String
>
sqlSingleEncryptFileds
;
//sql返回值为单独的string,对返回值加密(等价于注解)
private
List
<
String
>
sqlSingleDecryptFileds
;
//接口加解密列表
private
List
<
String
>
interfaceEncryptList
;
private
String
interfaceSm2DecodeKey
;
//接口加解密时,sm2解密的私钥
...
...
@@ -79,6 +83,22 @@ public class DbEncryptXmlConfig {
return
list
;
}
}
public
List
<
String
>
getSqlSingleEncryptFileds
(){
if
(
CollectionUtils
.
isNotEmpty
(
this
.
sqlSingleEncryptFileds
)){
return
this
.
sqlSingleEncryptFileds
;
}
else
{
this
.
sqlSingleEncryptFileds
=
getArrFields
(
"SqlSingleEncryptFileds"
);
return
this
.
sqlSingleEncryptFileds
;
}
}
public
List
<
String
>
getSqlSingleDecryptFileds
(){
if
(
CollectionUtils
.
isNotEmpty
(
this
.
sqlSingleDecryptFileds
)){
return
this
.
sqlSingleDecryptFileds
;
}
else
{
this
.
sqlSingleDecryptFileds
=
getArrFields
(
"SqlSingleDecryptFileds"
);
return
this
.
sqlSingleDecryptFileds
;
}
}
public
void
setConfigUrl
(
Resource
configUrl
)
{
this
.
configUrl
=
configUrl
;
...
...
src/main/java/cn/gtmap/bdcdj/core/encrypt/EncryptAdapterBuilder.java
浏览文件 @
8a860112
...
...
@@ -11,7 +11,9 @@ import cn.gtmap.bdcdj.core.encrypt.adapter.encrypt.EmptyEncryptAdapter;
import
cn.gtmap.bdcdj.core.encrypt.adapter.encrypt.EncryptAdapter
;
import
cn.gtmap.bdcdj.core.encrypt.adapter.encrypt.SimpleEncryptAdapter
;
import
cn.gtmap.bdcdj.core.encrypt.annotation.EncryptField
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -120,6 +122,14 @@ public class EncryptAdapterBuilder {
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
cryptProperties
.
getSqlSingleEncryptFileds
())){
for
(
String
filed
:
cryptProperties
.
getSqlSingleEncryptFileds
())
{
String
name
=
method
.
getName
();
if
(
StringUtils
.
isNotBlank
(
name
)
&&
name
.
endsWith
(
filed
)){
return
true
;
}
}
}
return
false
;
}
}
...
...
@@ -153,6 +163,17 @@ public class EncryptAdapterBuilder {
private
boolean
hasMethodEnctyptAnnotation
(
Method
method
){
EncryptField
annotation
=
method
.
getAnnotation
(
EncryptField
.
class
);
return
annotation
!=
null
;
if
(
annotation
!=
null
){
return
true
;
}
if
(
CollectionUtils
.
isNotEmpty
(
cryptProperties
.
getSqlSingleDecryptFileds
())){
for
(
String
filed
:
cryptProperties
.
getSqlSingleDecryptFileds
())
{
String
name
=
method
.
getName
();
if
(
StringUtils
.
isNotBlank
(
name
)
&&
name
.
endsWith
(
filed
)){
return
true
;
}
}
}
return
false
;
}
}
src/main/java/cn/gtmap/bdcdj/core/encrypt/EncryptInterceptor.java
浏览文件 @
8a860112
...
...
@@ -114,6 +114,8 @@ public class EncryptInterceptor implements Interceptor {
dbEncryptXmlConfig
.
getSqlEncryptFileds
();
dbEncryptXmlConfig
.
getSqlDecryptFileds
();
dbEncryptXmlConfig
.
getEntityFileds
();
dbEncryptXmlConfig
.
getSqlSingleEncryptFileds
();
dbEncryptXmlConfig
.
getSqlSingleDecryptFileds
();
//添加预置的字段
dbEncryptXmlConfig
.
setBaseConfigFileds
();
this
.
cryptProperties
.
setGlobalEnableFields
(
dbEncryptXmlConfig
.
getGlobalEnableFields
());
...
...
@@ -123,5 +125,7 @@ public class EncryptInterceptor implements Interceptor {
this
.
cryptProperties
.
setSqlEncryptFileds
(
dbEncryptXmlConfig
.
getSqlEncryptFileds
());
this
.
cryptProperties
.
setSqlDecryptFileds
(
dbEncryptXmlConfig
.
getSqlDecryptFileds
());
this
.
cryptProperties
.
setEntityFileds
(
dbEncryptXmlConfig
.
getEntityFileds
());
this
.
cryptProperties
.
setSqlSingleEncryptFileds
(
dbEncryptXmlConfig
.
getSqlSingleEncryptFileds
());
this
.
cryptProperties
.
setSqlSingleDecryptFileds
(
dbEncryptXmlConfig
.
getSqlSingleDecryptFileds
());
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论