在伺服器與終端設備進行HTTP通訊時,常常會被網路抓包、反編譯(Android APK反編譯工具)等技術得到HTTP通訊介面位址與參數。的方式進行介面參數加密和解密。的,一一對應。 #2.AES加密也叫對稱加密:A用密碼對資料進行AES加密後,B用同樣的密碼對密文進行AES解密。 :
1.在終端機中採用openssl方式輸入金鑰的相關屬性
(公司名稱、信箱等),然後在終端機目前所在的位址下,產生公鑰和私鑰共7個檔案(7個檔案如何使用請看附錄的拓展了連結)。 PublicKey和私鑰PrivateKey。利用進行加密。 Randomkey就會暴露,所以要對RandomKey進行不可逆的RSA加密。請求工作完成。得到安卓產生的原始Randomkey。至此已經得到安卓端發過來的原始Json資料。進行常規的伺服器業務操作,然後將傳回資料透過安卓端的RandomKey進行AES加密gouhou後,Response回傳。
9.安卓端接收到Response的資料後,利用先前本地產生的RandomKey直接進行AES解密即可。
:1.在實際的開發過程中,發現RSA和AES有不同的密文產生標準,會不相容IOS。 IOS在RSA演算法中所需的公鑰與JAVA不同。詳細的解決方案請查看:
2.AES加密不可以使用超過128Byte的KEY,因為在jdk1.7以上的版本不支援超過128Byte的KEY。
小結:從效能上來測,整個客戶端送加密資料開始到解密得到回傳的原始資料不超過
300ms(Iphone4和Centos Java伺服器傳輸測試)。本方案沒有採用TOKEN的方式,或許以後會用到。公鑰如何
更新也需要繼續改進。
以上是AES/RSA加密機制的詳細內容。更多資訊請關注PHP中文網其他相關文章!