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的。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM