簡單講解iOS應用開發中的MD5加密的相關使用

2021-09-24 15:58:29 字數 1981 閱讀 7445

簡單講解ios應用開發中的md5加密的相關使用

一、簡單說明

1.說明

在開發應用的時候,資料的安全性至關重要,而僅僅用post請求提交使用者的隱私資料,還是不能完全解決安全問題。

如:可以利用軟體(比如charles)設定**伺服器,攔截檢視手機的請求資料

「青花瓷」軟體

20151219100407983.png (451×372)

因此:提交使用者的隱私資料時,一定不要明文提交,要加密處理後再提交

2.常見的加密演算法

md5 \ sha \ des \ 3des \ rc2和rc4 \ rsa \ idea \ dsa \ aes

3.加密演算法的選擇

一般公司都會有一套自己的加密方案,按照公司介面文件的規定去加密

二、md5

1.簡單說明

md5:全稱是message digest algorithm 5,譯為「訊息摘要演算法第5版」

效果:對輸入資訊生成唯一的128位雜湊值(32個字元)

2.md5的特點

(1)輸入兩個不同的明文不會得到相同的輸出值

(2)根據輸出值,不能得到原始的明文,即其過程不可逆

3.md5的應用

由於md5加密演算法具有較好的安全性,而且免費,因此該加密演算法被廣泛使用

主要運用在數字簽名、檔案完整性驗證以及口令加密等方面

4.md5破解

md5解密**:

20151219100434754.png (820×377)

5.md5改進

現在的md5已不再是絕對安全,對此,可以對md5稍作改進,以增加解密的難度

加鹽(salt):在明文的固定位置插入隨機串,然後再進行md5

先加密,後亂序:先對明文進行md5,然後對加密得到的md5串的字元進行亂序

總之宗旨就是:黑客就算攻破了資料庫,也無法解密出正確的明文

**示例:

複製** **如下:

#import "hmviewcontroller.h"

#import "nsstring+hash.h"

#define salt @"fsdhjkfhjksdhjkfjhkd546783765"

@inte***ce hmviewcontroller ()

@end

@implementation hmviewcontroller

- (void)viewdidload

/**

*  直接用md5加密 */

- (nsstring *)digest:(nsstring *)str

/**

*  加鹽 */

- (nsstring *)digest2:(nsstring *)str

/**

*  多次md5 */

- (nsstring *)digest3:(nsstring *)str

/**

*  先加密, 後亂序 */

- (nsstring *)digest4:(nsstring *)str

@end

(1)直接使用md5加密(去md5解密**即可破解)

20151219100455260.png (939×86)

(2)使用加鹽(通過md5解密之後,很容易發現規律)

20151219100513782.png (1001×93)

(3)多次md5加密(使用md5解密之後,發現還是密文,那就接著md5解密)

20151219100531803.png (976×86)

(4)先加密,後亂序(破解難度增加)

20151219100548141.png (891×91)

三、註冊和驗證的資料處理過程

1.提交隱私資料的安全過程 – 註冊

20151219100605097.png (705×325)

2.提交隱私資料的安全過程 – 登入

20151219100621929.png (697×384)

iOS 開發證書的講解

證書的相關問題總結 1.從流程上講解每個步驟 2 裝置 device 3 證書 首先我們理解下證書的概念 證書是由公證處或認證機關開具的證明資格或權利的證件,他是表明事理的乙個憑證。憑證的尾部通常會烙印公章。數字證書包含 乙個公開金鑰,名稱,證書授權中心的數字簽名。數字證書的特徵 時效性。某個認證領...

iOS應用開發中的裝置標識

但總體來說itunes connect提供的功能還比較有限,而且基本不能定製 除非你能說服蘋果 對於應用發布後的跟蹤和資料收集,很多時候是itunes connect之外的事情,甚至有些開發者對於閃退日誌收集等也拋棄了itunes connect的crash report。那麼乙個識別具體裝置的標誌...

iOS開發中Runtime的實際應用

runtime是objective c的乙個固有特性,及在編譯階段並不能確定真正呼叫的函式名,函式的呼叫在執行時才得到確認。所以我們可以看到,oc在編譯階段沒有報錯的情況下,會在執行過程中出現閃退和崩潰的錯誤,而c語言在編譯過程中就會報錯。ios的錯誤處理 編譯未出報錯,執行卻閃退 動態呼叫特性 c...