Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
E
estateplat-encrypt
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
狄熙卜
estateplat-encrypt
Commits
8eae3c9f
提交
8eae3c9f
authored
11月 16, 2023
作者:
狄熙卜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
预置加解密配置模板v1.0
上级
de5939e7
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
199 行增加
和
3 行删除
+199
-3
DbEncryptXmlConfig.java
.../java/cn/gtmap/bdcdj/core/encrypt/DbEncryptXmlConfig.java
+60
-2
EncryptInterceptor.java
.../java/cn/gtmap/bdcdj/core/encrypt/EncryptInterceptor.java
+10
-1
BaseConfig.java
...n/java/cn/gtmap/bdcdj/core/encrypt/config/BaseConfig.java
+16
-0
QlrConfig.java
...in/java/cn/gtmap/bdcdj/core/encrypt/config/QlrConfig.java
+39
-0
QlrlxdhConfig.java
...ava/cn/gtmap/bdcdj/core/encrypt/config/QlrlxdhConfig.java
+37
-0
ZlConfig.java
...ain/java/cn/gtmap/bdcdj/core/encrypt/config/ZlConfig.java
+37
-0
没有找到文件。
src/main/java/cn/gtmap/bdcdj/core/encrypt/DbEncryptXmlConfig.java
浏览文件 @
8eae3c9f
package
cn
.
gtmap
.
bdcdj
.
core
.
encrypt
;
import
cn.gtmap.bdcdj.core.encrypt.config.BaseConfig
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.dom4j.Document
;
...
...
@@ -8,6 +9,7 @@ import org.dom4j.io.SAXReader;
import
org.dom4j.tree.DefaultText
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.io.Resource
;
import
java.util.ArrayList
;
...
...
@@ -22,7 +24,8 @@ public class DbEncryptXmlConfig {
public
Resource
getConfigUrl
()
{
return
configUrl
;
}
@Autowired
List
<
BaseConfig
>
baseConfig
;
//全局加解密字段
private
List
<
String
>
globalEnableFields
;
//map中全局加解密字段的例外(在例外中不加解密)
...
...
@@ -41,6 +44,15 @@ public class DbEncryptXmlConfig {
private
List
<
String
>
interfaceEncryptList
;
private
String
interfaceSm2DecodeKey
;
//接口加解密时,sm2解密的私钥
private
String
interfaceSm2EncodeKey
;
//接口加解密时,sm2加密的公钥
private
List
<
String
>
baseConfigOptions
;
public
List
<
String
>
getBaseConfigOptions
()
{
if
(
CollectionUtils
.
isNotEmpty
(
this
.
baseConfigOptions
)){
return
this
.
baseConfigOptions
;
}
else
{
this
.
baseConfigOptions
=
getArrFields
(
"BaseConfigOptions"
);
return
this
.
baseConfigOptions
;
}
}
public
String
getInterfaceSm2DecodeKey
(){
if
(!
StringUtils
.
isBlank
(
this
.
interfaceSm2DecodeKey
)){
return
this
.
interfaceSm2DecodeKey
;
...
...
@@ -217,7 +229,9 @@ public class DbEncryptXmlConfig {
if
(
StringUtils
.
isNotBlank
(
value
)){
String
[]
split
=
value
.
split
(
","
);
if
(
split
!=
null
&&
split
.
length
>
0
){
result
=
Arrays
.
asList
(
split
);
for
(
String
s
:
split
)
{
result
.
add
(
s
);
}
}
}
}
...
...
@@ -307,4 +321,48 @@ public class DbEncryptXmlConfig {
}
return
false
;
}
/**
* 从java文件中读取预置的加解密字段
*/
public
void
setBaseConfigFileds
()
{
List
<
String
>
baseConfigOptions
=
this
.
getBaseConfigOptions
();
if
(
CollectionUtils
.
isNotEmpty
(
baseConfig
)){
for
(
BaseConfig
config
:
baseConfig
)
{
String
simpleName
=
config
.
getClass
().
getSimpleName
().
replace
(
"Config"
,
""
).
toLowerCase
();
//当配置中包含预置加密字段时,才读预置字段
if
(
baseConfigOptions
.
contains
(
simpleName
)){
if
(
CollectionUtils
.
isNotEmpty
(
config
.
getGlobalEnableFields
())){
if
(
CollectionUtils
.
isEmpty
(
globalEnableFields
)){
globalEnableFields
=
new
ArrayList
<
String
>();
}
globalEnableFields
.
addAll
(
config
.
getGlobalEnableFields
());
}
if
(
CollectionUtils
.
isNotEmpty
(
config
.
getSqlFileds
())){
if
(
CollectionUtils
.
isEmpty
(
sqlFileds
)){
sqlFileds
=
new
ArrayList
<
Map
>();
}
sqlFileds
.
addAll
(
config
.
getSqlFileds
());
}
if
(
CollectionUtils
.
isNotEmpty
(
config
.
getSqlEncryptFileds
())){
if
(
CollectionUtils
.
isEmpty
(
sqlEncryptFileds
)){
sqlEncryptFileds
=
new
ArrayList
<
Map
>();
}
sqlEncryptFileds
.
addAll
(
config
.
getSqlEncryptFileds
());
}
if
(
CollectionUtils
.
isNotEmpty
(
config
.
getSqlDecryptFileds
())){
if
(
CollectionUtils
.
isEmpty
(
sqlDecryptFileds
)){
sqlDecryptFileds
=
new
ArrayList
<
Map
>();
}
sqlDecryptFileds
.
addAll
(
config
.
getSqlDecryptFileds
());
}
if
(
CollectionUtils
.
isNotEmpty
(
config
.
getEntityFileds
())){
if
(
CollectionUtils
.
isEmpty
(
entityFileds
)){
entityFileds
=
new
ArrayList
<
Map
>();
}
entityFileds
.
addAll
(
config
.
getEntityFileds
());
}
}
}
}
}
}
src/main/java/cn/gtmap/bdcdj/core/encrypt/EncryptInterceptor.java
浏览文件 @
8eae3c9f
...
...
@@ -107,7 +107,16 @@ public class EncryptInterceptor implements Interceptor {
if
(
StringUtils
.
isNotBlank
(
encoding
)){
this
.
cryptProperties
.
setEncoding
(
encoding
);
}
dbEncryptXmlConfig
.
getGlobalEnableFields
();
dbEncryptXmlConfig
.
getGlobalDisableMapFields
();
dbEncryptXmlConfig
.
getGlobalDisableEntityFields
();
dbEncryptXmlConfig
.
getSqlFileds
();
dbEncryptXmlConfig
.
getSqlEncryptFileds
();
dbEncryptXmlConfig
.
getSqlFileds
();
dbEncryptXmlConfig
.
getSqlDecryptFileds
();
dbEncryptXmlConfig
.
getEntityFileds
();
//添加预置的字段
dbEncryptXmlConfig
.
setBaseConfigFileds
();
this
.
cryptProperties
.
setGlobalEnableFields
(
dbEncryptXmlConfig
.
getGlobalEnableFields
());
this
.
cryptProperties
.
setGlobalDisableMapFields
(
dbEncryptXmlConfig
.
getGlobalDisableMapFields
());
this
.
cryptProperties
.
setGlobalDisableEntityFields
(
dbEncryptXmlConfig
.
getGlobalDisableEntityFields
());
...
...
src/main/java/cn/gtmap/bdcdj/core/encrypt/config/BaseConfig.java
0 → 100644
浏览文件 @
8eae3c9f
package
cn
.
gtmap
.
bdcdj
.
core
.
encrypt
.
config
;
import
java.util.List
;
import
java.util.Map
;
/**
* 预置字段,可以通过在BaseConfigOptions配置中配置直接添加预设好的加解密字段
* 出于统一优先级设计考虑,目前设计预置字段只进行添加处理,没有排除例外字段的功能
*/
public
interface
BaseConfig
{
List
<
String
>
getGlobalEnableFields
();
List
<
Map
>
getSqlFileds
();
List
<
Map
>
getSqlEncryptFileds
();
List
<
Map
>
getSqlDecryptFileds
();
List
<
Map
>
getEntityFileds
();
}
src/main/java/cn/gtmap/bdcdj/core/encrypt/config/QlrConfig.java
0 → 100644
浏览文件 @
8eae3c9f
package
cn
.
gtmap
.
bdcdj
.
core
.
encrypt
.
config
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
@Component
public
class
QlrConfig
implements
BaseConfig
{
@Override
public
List
<
String
>
getGlobalEnableFields
()
{
List
<
String
>
globalEnableFields
=
new
ArrayList
<
String
>();
globalEnableFields
.
add
(
"qlr"
);
globalEnableFields
.
add
(
"qlrmc"
);
globalEnableFields
.
add
(
"qlrzjh"
);
return
globalEnableFields
;
}
@Override
public
List
<
Map
>
getSqlFileds
()
{
return
null
;
}
@Override
public
List
<
Map
>
getSqlEncryptFileds
()
{
return
null
;
}
@Override
public
List
<
Map
>
getSqlDecryptFileds
()
{
return
null
;
}
@Override
public
List
<
Map
>
getEntityFileds
()
{
return
null
;
}
}
src/main/java/cn/gtmap/bdcdj/core/encrypt/config/QlrlxdhConfig.java
0 → 100644
浏览文件 @
8eae3c9f
package
cn
.
gtmap
.
bdcdj
.
core
.
encrypt
.
config
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
@Component
public
class
QlrlxdhConfig
implements
BaseConfig
{
@Override
public
List
<
String
>
getGlobalEnableFields
()
{
List
<
String
>
globalEnableFields
=
new
ArrayList
<
String
>();
globalEnableFields
.
add
(
"qlrlxdh"
);
return
globalEnableFields
;
}
@Override
public
List
<
Map
>
getSqlFileds
()
{
return
null
;
}
@Override
public
List
<
Map
>
getSqlEncryptFileds
()
{
return
null
;
}
@Override
public
List
<
Map
>
getSqlDecryptFileds
()
{
return
null
;
}
@Override
public
List
<
Map
>
getEntityFileds
()
{
return
null
;
}
}
src/main/java/cn/gtmap/bdcdj/core/encrypt/config/ZlConfig.java
0 → 100644
浏览文件 @
8eae3c9f
package
cn
.
gtmap
.
bdcdj
.
core
.
encrypt
.
config
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
@Component
public
class
ZlConfig
implements
BaseConfig
{
@Override
public
List
<
String
>
getGlobalEnableFields
()
{
List
<
String
>
globalEnableFields
=
new
ArrayList
<
String
>();
globalEnableFields
.
add
(
"zl"
);
return
globalEnableFields
;
}
@Override
public
List
<
Map
>
getSqlFileds
()
{
return
null
;
}
@Override
public
List
<
Map
>
getSqlEncryptFileds
()
{
return
null
;
}
@Override
public
List
<
Map
>
getSqlDecryptFileds
()
{
return
null
;
}
@Override
public
List
<
Map
>
getEntityFileds
()
{
return
null
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论