Java代码在数据库存取某些敏感字段的加解密做法

1 可以参考源码: https://gitee.com/Zetting/my-gather/tree/master/springboot-aop-encrypt-field

基于上面的源码。我在我的实际项目中这样操作:   【源码里的加密算法在liunx上面有问题。自行更换加密算法  20210902补】 

拷贝代码 EncryptField  ,EncryptMethod     EncryptFieldAop  ,.AseUtil

前面2个类,拷过去就行,第3个类需要改动下代码:

@Pointcut("@annotation(XXXXX.EncryptMethod)")    32行,括号里的路径改为拷贝后的 EncryptMethod     路径


2:在我自己的工程里的改动,拿 PersonVerifyInfo 类做测试
对银行卡号和身份证号做加密存储,实体类需要密文存储的字段加注解 @EncryptField

 

 

 

 

新写一个新增和查询的方法验证:

 

 

实现类需要加注解 @EncryptMethod  

 

 




单元测试代码:

 

 

效果截图:

插入数据效果图,最后一条是加密存储的,上面的数据都是历史明文存储的数据

 

 

根据主键id查询

 

 

  

----------------------------------------------------------------------------

至此完成了存储加解密存取。不建议对解密字段作为功能查询筛选字段;另外 还没测试联表查询,目前 单表单条数据操作是ok的。

 

posted @ 2021-07-26 16:46  夏风中的Young_Uncle  阅读(1692)  评论(0编辑  收藏  举报