利用Java如何实现对敏感信息进行加密处理

  介绍

今天就跟大家聊聊有关利用Java如何实现对敏感信息进行加密处理,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<强>一、敏感信息加密处理我们要实现什么

系统往往需要将用户敏感信息进行加密,不同的敏感信息加密要求不同。

比如,密码的加密,我们往往不需要是可逆的。用户输入密码后,通过系统的加密规则,编码后直接比对加密存储的密码,获得比对结果即可证明用户登录信息合法性。

然后,有时我们为了防止被脱库导致的数据泄漏,不得不对一些敏感信息(比如:身份证号,手机号)进行加密。这样的数据不仅要求加密,还需要在展示及其他业务场景下完全显示,或者掩码显示,这就需要我们对加密的内容进行解密。

<强>二,敏感信息加密处理我做了些什么

近来,项目中为了实现这个需求,做了些简单的设计:

注:考虑到在维护生产数据时方便查询,这里使用aes加密方式,该加密方式同mysql的aes加密结果相同,故可在sql中直接使用十六进制及aes_encrypt函数进行查询;密盐可保存在配置文件中,

1。使用自定义注解,阿宝的每个类中需要加密及解密的字段可添加该注解

2。声明基类,并实现加密和解密方法,方法实现利用Java反射及自定义注解

3。所有需要用到加密及解密的实体对象,必须继承自基础类

4。实体类加密时调用加密方法,解密时调用解密方法,如此可实现对该对象中敏感数据的加密解密

<强>三,敏感信息加密实现

注释很清楚,先给对象设置身份证号,然后执行自加密方法,返回自己的引用,打印出来加密后该对象的json字符串;执行自解密方法,返回自己的引用,打印出来解密后该对象的json字符串。

地穴   |   |——注释   | | - DecryptFiled   | | - EncryptFiled   | - - -地穴   | | - EncryptDecryptInterface   | - - -域   | | - BaseInfo   | | - SimpleDomain   |——跑龙套   | | - MySqlUtils

/* *   *由亮>/* *   *由亮>/* *   *由亮>/* *   *由亮>/* *   *由亮>公共类客户{   @Test   公共空白测试(){   SimpleDomain sd=new SimpleDomain();//要进行加密解密的实体类   sd.setId(“6029131988005021537“);//注入身份证号   System.out.println (JSON.toJSONString (sd.encryptSelf()));//执行自加密后输出   System.out.println (JSON.toJSONString (sd.decryptSelf()));//执行自解密后输出   }   }      客户

看完上述内容,你们对利用Java如何实现对敏感信息进行加密处理有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

利用Java如何实现对敏感信息进行加密处理