【方案】前后端数据传输加密实现方案

[方案系列文章说明]: 该类型的文章是我在使用和学习中认为不错的解决办法,当然会有更好的方案,也一定会有, 所以文章具有一定的局限性, 请结合自己的思考辩证的看.

在处理前后端安全上,需要对数据进行加密增加安全性,这里列出我的方案

背景

前后端数据传输要求对敏感信息进行加密后传输, 后台统一进行解密后进入Controller

方案

1, 加密方式: AES/ECB/PKCS5Padding (PKCS5Padding,PKCS7Padding效果相同)
2, 生成的密文编码: UTF-8
3, 秘钥长度: 16位, 0000000000000000
4, 数据块长度: 128
5, header中设置加密开关,加密属性

key value
isEncrypt true/false 解密/不解密
decryptFields user|age|id 需要解密的字段,以|分割

6, 支持请求方式: method支持GET/POST
7, 支持数据类型: contentType支持application/json,application/x-www-form-urlencoded

实现方式

见: 前后端数据传输加密实现方案-前端实现, 前后端数据传输加密实现方案-后端实现

工具

测试加密解密地址: http://tool.chacuo.net/cryptaes/
配置如下

待优化

1, 拦截路径优化
2, 增加非对称加密(真加密), 前端公钥加密, 后端私钥解密
3, 秘钥动态获取
4, filter转为实现OncePerRequestFilter纳入spring体系