首頁  >  文章  >  後端開發  >  AES/RSA加密機制

AES/RSA加密機制

PHPz
PHPz原創
2017-04-04 14:36:312002瀏覽

在伺服器與終端設備進行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解密即可。


詳細的流程圖可以查看下圖。

客戶端-伺服器端HTTPS資料傳輸流程圖

注意事項

1.在實際的開發過程中,發現RSA和AES有不同的密文產生標準,會不相容IOS。 IOS在RSA演算法中所需的公鑰與JAVA不同。詳細的解決方案請查看:

2.AES加密不可以使用超過128Byte的KEY,因為在jdk1.7以上的版本不支援超過128Byte的KEY。

小結:從效能上來測,整個客戶端送加密資料開始到解密得到回傳的原始資料不超過

300

ms(Iphone4和Centos Java伺服器傳輸測試)。本方案沒有採用TOKEN的方式,或許以後會用到。公鑰如何

更新

也需要繼續改進。

以上是AES/RSA加密機制的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn