Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
head_group
xyqb-user2
Commits
4b6a726a
Commit
4b6a726a
authored
Jan 04, 2022
by
killer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
phone数据加密
parent
464d1d64
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
77 additions
and
24 deletions
+77
-24
Contact.java
src/main/java/cn/quantgroup/xyqb/entity/Contact.java
+2
-2
ModifyPhoneNo.java
src/main/java/cn/quantgroup/xyqb/entity/ModifyPhoneNo.java
+3
-3
User.java
src/main/java/cn/quantgroup/xyqb/entity/User.java
+2
-2
UserDetail.java
src/main/java/cn/quantgroup/xyqb/entity/UserDetail.java
+2
-2
UserSpouse.java
src/main/java/cn/quantgroup/xyqb/entity/UserSpouse.java
+2
-2
UuidPhoneMapping.java
...main/java/cn/quantgroup/xyqb/entity/UuidPhoneMapping.java
+2
-2
WechatUserInfo.java
src/main/java/cn/quantgroup/xyqb/entity/WechatUserInfo.java
+2
-2
EncryptConverter.java
...cn/quantgroup/xyqb/entity/converter/EncryptConverter.java
+9
-9
xyqb-user2.log
xyqb-user2.log
+53
-0
No files found.
src/main/java/cn/quantgroup/xyqb/entity/Contact.java
View file @
4b6a726a
...
...
@@ -2,7 +2,7 @@ package cn.quantgroup.xyqb.entity;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.xyqb.entity.converter.
Phone
EncryptConverter
;
import
cn.quantgroup.xyqb.entity.converter.EncryptConverter
;
import
cn.quantgroup.xyqb.model.Tuple
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
lombok.AllArgsConstructor
;
...
...
@@ -33,7 +33,7 @@ public class Contact extends BaseEntity implements Serializable {
@Column
(
name
=
"name"
)
private
String
name
;
@Column
(
name
=
"phone_no"
)
@Convert
(
converter
=
Phone
EncryptConverter
.
class
)
@Convert
(
converter
=
EncryptConverter
.
class
)
private
String
phoneNo
;
@Column
(
name
=
"biz_type"
)
private
BizType
bizType
=
BizType
.
CASH
;
...
...
src/main/java/cn/quantgroup/xyqb/entity/ModifyPhoneNo.java
View file @
4b6a726a
package
cn
.
quantgroup
.
xyqb
.
entity
;
import
cn.quantgroup.xyqb.entity.converter.
Phone
EncryptConverter
;
import
cn.quantgroup.xyqb.entity.converter.EncryptConverter
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
...
...
@@ -45,14 +45,14 @@ public class ModifyPhoneNo extends BaseEntity implements Serializable {
* 原手机号码
*/
@Column
(
name
=
"prev_phone_no"
)
@Convert
(
converter
=
Phone
EncryptConverter
.
class
)
@Convert
(
converter
=
EncryptConverter
.
class
)
private
String
prevPhoneNo
;
/**
* 新手机号码
*/
@Column
(
name
=
"cur_phone_no"
)
@Convert
(
converter
=
Phone
EncryptConverter
.
class
)
@Convert
(
converter
=
EncryptConverter
.
class
)
private
String
curPhoneNo
;
/**
...
...
src/main/java/cn/quantgroup/xyqb/entity/User.java
View file @
4b6a726a
package
cn
.
quantgroup
.
xyqb
.
entity
;
import
cn.quantgroup.xyqb.entity.converter.
Phone
EncryptConverter
;
import
cn.quantgroup.xyqb.entity.converter.EncryptConverter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
...
...
@@ -28,7 +28,7 @@ public class User extends BaseEntity implements Serializable {
* 手机号
*/
@Column
(
name
=
"phone_no"
)
@Convert
(
converter
=
Phone
EncryptConverter
.
class
)
@Convert
(
converter
=
EncryptConverter
.
class
)
private
String
phoneNo
;
/**
...
...
src/main/java/cn/quantgroup/xyqb/entity/UserDetail.java
View file @
4b6a726a
package
cn
.
quantgroup
.
xyqb
.
entity
;
import
cn.quantgroup.motan.retbean.XUserDetail
;
import
cn.quantgroup.xyqb.entity.converter.
Phone
EncryptConverter
;
import
cn.quantgroup.xyqb.entity.converter.EncryptConverter
;
import
cn.quantgroup.xyqb.model.Gender
;
import
cn.quantgroup.xyqb.model.IdType
;
import
lombok.Getter
;
...
...
@@ -29,7 +29,7 @@ public class UserDetail extends BaseEntity implements Serializable {
private
Long
userId
;
@Column
(
name
=
"phone_no"
)
@Convert
(
converter
=
Phone
EncryptConverter
.
class
)
@Convert
(
converter
=
EncryptConverter
.
class
)
private
String
phoneNo
;
@Column
(
name
=
"name"
)
...
...
src/main/java/cn/quantgroup/xyqb/entity/UserSpouse.java
View file @
4b6a726a
...
...
@@ -2,7 +2,7 @@ package cn.quantgroup.xyqb.entity;
import
cn.quantgroup.user.enums.MaritalStatus
;
import
cn.quantgroup.xyqb.entity.converter.
Phone
EncryptConverter
;
import
cn.quantgroup.xyqb.entity.converter.EncryptConverter
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
lombok.*
;
...
...
@@ -24,7 +24,7 @@ public class UserSpouse extends BaseEntity implements Serializable {
private
Long
userId
;
@Column
(
name
=
"spouse_phone"
)
@Convert
(
converter
=
Phone
EncryptConverter
.
class
)
@Convert
(
converter
=
EncryptConverter
.
class
)
private
String
spousePhone
;
@Column
(
name
=
"spouse_name"
)
...
...
src/main/java/cn/quantgroup/xyqb/entity/UuidPhoneMapping.java
View file @
4b6a726a
package
cn
.
quantgroup
.
xyqb
.
entity
;
import
cn.quantgroup.xyqb.entity.converter.
Phone
EncryptConverter
;
import
cn.quantgroup.xyqb.entity.converter.EncryptConverter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
...
...
@@ -29,7 +29,7 @@ public class UuidPhoneMapping implements Serializable {
private
String
uuid
;
@Column
(
name
=
"phone_no"
)
@Convert
(
converter
=
Phone
EncryptConverter
.
class
)
@Convert
(
converter
=
EncryptConverter
.
class
)
private
String
phoneNo
;
...
...
src/main/java/cn/quantgroup/xyqb/entity/WechatUserInfo.java
View file @
4b6a726a
package
cn
.
quantgroup
.
xyqb
.
entity
;
import
cn.quantgroup.xyqb.entity.converter.
Phone
EncryptConverter
;
import
cn.quantgroup.xyqb.entity.converter.EncryptConverter
;
import
cn.quantgroup.xyqb.util.EmojiUtil
;
import
lombok.Data
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -23,7 +23,7 @@ public class WechatUserInfo extends BaseEntity implements Serializable {
@Column
(
name
=
"open_id"
)
private
String
openId
;
@Column
(
name
=
"phone_no"
)
@Convert
(
converter
=
Phone
EncryptConverter
.
class
)
@Convert
(
converter
=
EncryptConverter
.
class
)
private
String
phoneNo
=
""
;
@Column
(
name
=
"app_name"
)
private
String
appName
=
"xyqb"
;
...
...
src/main/java/cn/quantgroup/xyqb/entity/converter/
Phone
EncryptConverter.java
→
src/main/java/cn/quantgroup/xyqb/entity/converter/EncryptConverter.java
View file @
4b6a726a
...
...
@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.entity.converter;
import
cn.quantgroup.security.AESEncryption
;
import
cn.quantgroup.xyqb.util.ApplicationContextHolder
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -10,22 +9,22 @@ import javax.persistence.AttributeConverter;
import
javax.persistence.Converter
;
/**
* 手机号字段加解密转换器
* <b>此处只对有效手机号处理</b>
* 通用字段加解密转换器
*
* @author killer
* @date 2022年01月04日
**/
@Slf4j
@Converter
public
class
Phone
EncryptConverter
implements
AttributeConverter
<
String
,
String
>
{
public
class
EncryptConverter
implements
AttributeConverter
<
String
,
String
>
{
@Override
public
String
convertToDatabaseColumn
(
String
entityAttribute
)
{
/* 非手机号原样保存 */
if
(
!
ValidationUtil
.
validatePhoneNo
(
entityAttribute
))
{
if
(
StringUtils
.
isBlank
(
entityAttribute
))
{
return
entityAttribute
;
}
/* 加密 */
AESEncryption
aesEncryption
=
ApplicationContextHolder
.
getBean
(
AESEncryption
.
class
);
return
aesEncryption
.
encryptBase64
(
entityAttribute
);
...
...
@@ -33,11 +32,12 @@ public class PhoneEncryptConverter implements AttributeConverter<String, String>
@Override
public
String
convertToEntityAttribute
(
String
databaseColumn
)
{
/* 明文手机号或者空原样返回 */
if
(
ValidationUtil
.
validatePhoneNo
(
databaseColumn
)
||
StringUtils
.
isBlank
(
databaseColumn
))
{
if
(
StringUtils
.
isBlank
(
databaseColumn
))
{
return
databaseColumn
;
}
/* 解密 */
/* 解密(兼容数据库字段未执行全部加密前的查询) */
AESEncryption
aesEncryption
=
ApplicationContextHolder
.
getBean
(
AESEncryption
.
class
);
try
{
return
aesEncryption
.
decryptBase64
(
databaseColumn
);
...
...
xyqb-user2.log
View file @
4b6a726a
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment