當前位置:編程學習大全網 - 源碼下載 - 數字簽名的案例說明

數字簽名的案例說明

網絡數據的傳輸壹般都是用對稱加密算法

非對稱加密算法因為效率的問題只用來加密 對稱加密算法 的秘鑰和 用於 數字簽名

操作前 服務器和客戶端都已擁有雙方的公鑰

Android的RSA公鑰-->發送給服務器用

服務器的RSA公鑰-->發送給客戶端用

如客戶端驗證服務器的真實性

Android客戶端(擁有AES秘鑰)

使用 非對稱加密算法即 服務器的RSA公鑰 Android客戶端的AES的秘鑰 進行加密

然後 Http Get請求 並發送 Android客戶端的AES秘鑰 給服務器

服務器收到請求後,使用 自己的RSA私鑰 對請求解密 獲取到 Android的AES秘鑰 ,然後把發送給Android客戶端的數據如 byte [] datas進行簽名即sign

把sign和datas 壹起用 Android客戶端的AES秘鑰 進行加密,然後發送給Android客戶端

Android客戶端收到後,再用 自己的AES秘鑰 把整個數據包解密,此時進行數據分離,獲取到sign和datas,然後對sign進行驗證,驗證方法就是用 服務器的公鑰 配合參數sign進行簽名驗證

服務器的RSA私鑰 進行簽名 sign,因為sign的長度是固定的(和初始化的秘鑰長度相等),故很容易進行數據分離

如解密後進行str.substring()可以分離 datas和sign

  • 上一篇:魔獸世界 單機版 TBC 裏所有寶石代碼 和如何 縮短爐石時間 如何 直接把 所有商業技能提成滿級
  • 下一篇:推薦幾部動作,科幻的好電影
  • copyright 2024編程學習大全網