AES加密中遇到的坑
项目背景:
终端数据需要上传到后台,为了安全,使用了AES加密
问题1:
数据首先经过了protobuf进行格式,数据传输到后台无法解析
解决:二进制数据直接进行AES加密后大多无法正常解析,于是在加密前有用Base64转化了一下。
问题2:AES加密需要和后台同步的地方,否则加密后的密文不同
需要协商的内容包括 KEY,IV向量,数据填充方式如PKCS5或者PKCS7这样的填充。
(我开始是用0来进行填充,后天小哥使用的是字节填充,一直调不对)
问题3:base64转化的问题
base64转化后的结果带有‘\n’,所以加密的时候要将\n去掉,否则加密后的密文和在线加密也不同,(这个问题搞了一上午,深刻的教训)