專案背景:
終端資料需要上傳到後台,為了安全,使用了aes加密
問題1:
資料首先經過了protobuf進行格式,資料傳輸到後台無法解析
解決:二進位制資料直接進行aes加密後大多無法正常解析,於是在加密前有用base64轉化了一下。
問題2:aes加密需要和後台同步的地方,否則加密後的密文不同
需要協商的內容包括 key,iv向量,資料填充方式如pkcs5或者pkcs7這樣的填充。
(我開始是用0來進行填充,後天小哥使用的是位元組填充,一直調不對)
問題3:base64轉化的問題
AES加密的坑
其實不應該算aes加密的坑,而是加密後使用的坑 正常的加密應該是 data openssl encrypt input,aes 256 cbc this key,openssl raw data,this hex iv 返回給使用者使用還要base64編碼,base64 encode data 就是...
Python之AES加密遇到的一些坑以及解決方法
報錯資訊 typeerror object type cannot be passed to c code 之前用python寫aes cbc pkcs5padding加密,寫好了1.0版本之後只是這樣的 寫成這樣之後,我的電腦上執行沒問題,就給別人了,結果別人電腦上一執行就報錯 報錯資訊如下 我也...
OpenSSL中AES加密的用法
使用api的時候,需要特別小心資料長度,我在初次使用的時候簡直被弄的暈頭轉向,遂作此文留個備忘。一般沒有指定長度的引數,預設都是16 aes block size 個位元組。輸出資料的長度一般都是16位元組的倍數,否則會出現陣列越界訪問。以下api中,encrypt表示加密,decrypt表示解密。...