iOS ——密碼學

 

散列(哈希)函數加密

特點: 1.算法公開。

             2.對相同的數據加密,得到的結果是一樣的。

             3.得到的結果都是定長的。

MD5 用途:

            1. 密碼(服務器不需要知道用戶的真實密碼, 數據庫保存的是加密的數據)

            2.版權, 資源版權性驗證。

            3.文件完整性校驗(下載文件校驗,上傳(斷點續傳))

MD5加鹽:鹽是固定的,相當於存在本地的祕鑰,後期升級維護不方便,也不安全。

HMAC: key 來自於服務器,一般在註冊的時候由服務提供(授權或者直接返回)。但如果key被截獲,也可以被模仿。那麼可以(密碼+key+時間)這樣就具有時效性,相對於安全一點了。

 

AES 對稱加密

1、ECB模式又稱電子密碼本模式(每個數據塊獨立加密):Electronic codebook,是最簡單的塊密碼加密模式,加密前根據加密塊大小(如AES爲128位)分成若干塊,之後將每塊使用相同的密鑰單獨加密,解密同理。

2、密碼分組鏈接(CBC,Cipher-block chaining)模式(每個數據塊有連接),由IBM於1976年發明,每個明文塊先與前一個密文塊進行異或後,再進行加密。在這種方法中,每個密文塊都依賴於它前面的所有明文塊。同時,爲了保證每條消息的唯一性,在第一個塊中需要使用初始化向量IV。

 

RSA 非對稱加密

在iOS中使用RSA加密解密,需要用到.der.p12後綴格式的文件,其中.der格式的文件存放的是公鑰(Public key)用於加密,.p12格式的文件存放的是私鑰(Private key)用於解密。見下圖:

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章