Advertisement

数据自动脱敏 SpringBoot 数据加密脱敏(注解 反射 AOP)

阅读量:

根据各种规定实现数据脱敏

  • 若信息未被泄露,则用户数据应采用加密方式存储;
    • 若信息不可直接呈现,则用户数据需经过脱敏处理后展示;

解决方案

在项目开发过程中,针对用户信息实体类中的相关字段,如姓名、手机号、身份证号码和地址等,在将其写入数据库之前,需要对这些数据实施加密处理;当在列表中展示用户信息时,需从数据库中读取数据并进行解密与脱敏操作,随后将处理后的结果返回至前端界面;

在切入式编程方式中,开发者需通过注解对用户信息实体类中的字段进行标记。例如,在新增用户信息实体类(此处以UserBO表示)时,为其中的name和phone字段添加@EncryptField注解;而在返回用户信息实体类(此处以UserDO表示)时,则为name和phone字段添加@DecryptField注解。随后,通过将@EncryptField和@DecryptField作为切入点,并采用切面的方式实现对数据的加密与解密脱敏操作;

所谓的傻瓜式编程并非指操作者智力低下,而是其功能与切入式编程相似。然而,在傻瓜式编程中,需要对所有涉及用户信息的接口逐一添加加密、解密及脱敏逻辑的处理代码。这种方式涉及较多的代码修改点,存在较高的风险,并且重复编写相同逻辑会增加工作量,导致后期维护难度较大。相比之下,切入式编程只需在相关字段上添加注解,并通过统一机制完成加密、解密及脱敏

全部评论 (0)

还没有任何评论哟~