iOS加解密基礎

一般在iOS開發中,用到加解密的場景主要是網絡傳輸,比如會在httpheader里面加一個sign字段,填的就是MD5只。另外就是登陸注冊模塊,用戶名和密碼的存儲和傳輸,總不能用明文吧?(現實中很多就是明文直接傳的)
在實際開發過程中,加解密算法,具體怎么做,一般都是后臺定的,iOS客戶端只是做配合。
總之就是,加解密在iOS客戶端開發過程中占得比例很小,并且往往只是配合的角色。
雖然不重要,但是不可缺少,一些基礎知識還是要了解的。

非對稱加密

  • 常用算法是RSADSA、ECC什么的據說也是,沒用過

  • 蘋果市場的證書管理,這個繁瑣過程基本都遇到過,這個就是非常典型的場景

iOS 基礎:證書介紹

漫談iOS程序的證書和簽名機制

  • AFNetworking使用自定義私有證書的方案。不過這樣用的人很少,基本上是不用證書驗證的。本人接觸過的四五個App,只有一個是這么做的。

公鑰與私鑰這篇文章寫得非常好,理解非對稱加密的原理講得很清晰

(1)一般會把“私有證書”,(.cer文件),直接打包在iOS客戶端,這里包含公鑰;私鑰保存在服務端;
(2)用“私有證書”中的公鑰解密,拿到信息的摘要;
(3)對信息進行本地摘要計算
(4)比較兩個摘要是否一直,對收到的信息進行驗證。

對稱加密

  • 常用算法是AES、DES、3DESDES在實際的項目中遇到過

  • 經歷過的使用場景是熱更新,將JSPatch接入工程;

  • 熱更新文件是代碼,所以需要加密,加解密用的key直接寫在客戶端。

  • 由于要存文件,所以要引入Base64編碼,(不是加密,也不是摘要)。

摘要

  • 常用算法是MD5、SHA、HMAC;其中MD5用的最多

  • 幾乎每個項目都用到了MD5,有些還有直接寫在客戶端的key,應該是所謂的“加鹽”。固定的只是“鹽”的一部分,一般還會配上時間戳,而這個時間戳會在httpheader的另外一個字段傳過去。

淺談MD5加密算法中的加鹽值(SALT)

參考文章

iOS - 加解密(對稱,非對稱)(AES DES base64這里都有),數字簽名,cookie

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 隨著對于安全度的不斷要求,對于數據加解密與破解之間的斗爭,加解密的方式也在不斷發生著變化,來看看現在流行的一些加解...
    zhouhao_180閱讀 2,137評論 1 12
  • 本文主要介紹移動端的加解密算法的分類、其優缺點特性及應用,幫助讀者由淺入深地了解和選擇加解密算法。文中會包含算法的...
    蘋果粉閱讀 11,586評論 5 29
  • 首先羅列一些知識點: 1.加密算法通常分為對稱性加密算法和非對稱性加密算法:對于對稱性加密算法,信息接收雙方都需事...
    JonesCxy閱讀 1,422評論 2 4
  • 這篇文章不是研究性的東西,主要是簡單的一些知識, 開篇如此, 我盡量不讓讀者失望。 首先羅列一些知識點:1.加密算...
    SOI閱讀 7,318評論 3 70
  • 今天立春。 立春,在唐朝,那可是個大日子。 立是開始的意思,立春就是春季的開始。 立春,是一年二十四節氣之首。農諺...
    章雪峰閱讀 1,083評論 0 7