簡單講解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...