系统接口响应信息通用加密设计

设计目的

出于对一些敏感信息的安全性考虑,接口的响应信息需要进行加密,避免明文传输

使用场景

  • 本系统前端响应信息加密

  • 第三方系统响应信息加密

功能设计思路

  • 配置模式加密

使用场景:本系统前端响应信息加密

  1. 在nacos中配置需要加密的接口(没有使用nacos等配置中心就配置在项目配置文件中或者直接配置在数据库中都可以),这里使用PathMatcher路径匹配器匹配,支持各种形式的路径配置

  2. 后端全局过滤器识别是否是加密接口,如果是加密接口则对result进行AES加密,并在响应头中添加ENCRYPTION=1

  3. 前端在全局拦截器中判断响应头是否有ENCRYPTION=1,存在的情况下对result进行AES解密

  • 注解模式加密

使用场景:第三方系统响应信息加密(配置模式的配置信息会被改动,为避免配置变动使系统对接出现问题,与第三方系统对接的接口使用注解模式加密)

  1. 在需要加密的Controller接口中添加@EncryptResult自定义注解

  2. 使用切面对加了@EncryptResult的接口进行响应拦截,为避免重复加密,如果在配置模式中已经配置了加密接口的不再做加密处置,否则对result进行AES加密,并在响应头中添加ENCRYPTION=1(这里的头主要和配置模式加密做兼容给前端使用,第三方系统可以不需要识别这个头)

  3. 第三方系统使用AES解密对result信息进行解密

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值