背景:
出于安全考虑,管理平台在数据传送的途中用到aes 加密
出现部分用户登录系统时报 500 错误
查看后台日志,发现加解密这块报错
分析:
猜测是用户自定义密码在加解密解析的时候出现问题
aes 加密 数据首先经过了protobuf进行格式,数据传输到后台无法解析
所以:二进制数据直接进行AES加密后大多无法正常解析,于是在加密前有用Base64转化了一下
前后台统一:KEY,IV向量,数据填充方式如PKCS5或者PKCS7这样的填充
base64转化细节
base64转化后的结果带有‘\n’,所以加密的时候要将\n去掉,否则加密后的密文和在线加密也不同
验证:
https://www.cnblogs.com/edan/p/10252250.html aes 加密细节
https://www.cnblogs.com/happyhippy/archive/2006/12/23/601353.html aes加密 密钥向量
aes 加密
spring-boot-configuration-processor 获取配置文件插件

在数据传输中,为了安全使用AES加密,部分用户登录时遇到500错误,原因是protobuf格式的数据在解密时出错。解决办法是先将二进制数据用Base64转化,同时确保前后台的加密参数如KEY、IV向量和填充方式一致。加密过程中需要注意Base64编码后的'
'字符,需要去除以保证加密结果正确。通过查阅资料,理解了AES加密的细节并验证了方案的有效性。

1773

被折叠的 条评论
为什么被折叠?



