数据自动脱敏 SpringBoot 数据加密脱敏(注解 反射 AOP)
发布时间
阅读量:
阅读量
根据各种规定实现数据脱敏
- 若信息未被泄露,则用户数据应采用加密方式存储;
- 若信息不可直接呈现,则用户数据需经过脱敏处理后展示;
解决方案
在项目开发过程中,针对用户信息实体类中的相关字段,如姓名、手机号、身份证号码和地址等,在将其写入数据库之前,需要对这些数据实施加密处理;当在列表中展示用户信息时,需从数据库中读取数据并进行解密与脱敏操作,随后将处理后的结果返回至前端界面;
在切入式编程方式中,开发者需通过注解对用户信息实体类中的字段进行标记。例如,在新增用户信息实体类(此处以UserBO表示)时,为其中的name和phone字段添加@EncryptField注解;而在返回用户信息实体类(此处以UserDO表示)时,则为name和phone字段添加@DecryptField注解。随后,通过将@EncryptField和@DecryptField作为切入点,并采用切面的方式实现对数据的加密与解密脱敏操作;
所谓的傻瓜式编程并非指操作者智力低下,而是其功能与切入式编程相似。然而,在傻瓜式编程中,需要对所有涉及用户信息的接口逐一添加加密、解密及脱敏逻辑的处理代码。这种方式涉及较多的代码修改点,存在较高的风险,并且重复编写相同逻辑会增加工作量,导致后期维护难度较大。相比之下,切入式编程只需在相关字段上添加注解,并通过统一机制完成加密、解密及脱敏
全部评论 (0)
还没有任何评论哟~
