iOS開發(fā)如何MD5加密原理?demo下載?

  • 網(wǎng)絡(luò)應(yīng)用程序數(shù)據(jù)原則
序號 原則內(nèi)容
原則① 網(wǎng)絡(luò)上"不允許"傳輸用戶隱私數(shù)據(jù)的"明文"
原則② 本地"不允許"保存用戶隱私數(shù)據(jù)的"明文"
  • 目前流行的加密方式:
加密類型 方法
哈希(散列)函數(shù) ** MD5**、SHA1、 SHA256
對稱加密算法 DES3DES、 AES(高級密碼標準,美國國家安全局使用的)
非對稱加密算法 RSA
序號 方法
1 * 加""(佐料)
2 HMAC:給定一個"秘鑰",對明文進行加密,并且做"兩次散列"!-> 得到的結(jié)果,還是32個字符
MD5加密.gif
  • 注意:
- 密碼:`服務(wù)器`并`不需要知道`用戶真實的`密碼`!
  • 破解:
  • 例如:字符520it進行代碼加密,然后 進入md5解密網(wǎng)站:http://www.cmd5.com 網(wǎng)站解密。
    MD5解密.gif
  • 結(jié)果:普通的md5輕松解密。 md5加鹽和HMAC沒有被解密。
  • 代碼
  • 方法一:MD5 (加密)
 //方法1 .MD5
    NSLog(@"\n -------------\n md5 = %@\n -------------\n ",[@"520it" md5String]);
  • 方法二:MD5(明文+鹽) (加密)
#define salt @"shdcskjfcbskfnslfhs.kfsfvmsf8348390(*^^6R%@@IJEKHRKWKFGKF"
  //方法2 . (明文+加鹽)MD5
    NSLog(@"\n -------------\n md5+salt = %@\n -------------\n ",[[@"520it" stringByAppendingString:salt] md5String]);   
  • 方法三: HMAC (加密)
  //方法3 . HMAC (key是服務(wù)器給的)
    NSLog(@"\n -------------\n HMAC = %@\n -------------\n ",[@"520it" hmacMD5StringWithKey:@"xiaomage"]);
  • 總結(jié)
序號 加密(iOS代碼) 解密(MD5網(wǎng)站) 備注
1 MD5 成功
2 MD5+(salt) 失敗 :自定義的字符串#define salt @"shdcskjfcbskfnslfhs.kfsfvmsf8348390(*^^6R%@@IJEKHRKWKFGKF"
3 HMAC 失敗 HMAC原理:給定一個"秘鑰",對明文進行加密,并且做"兩次散列"!-> 得到的結(jié)果,還是32個字符

  • 散列(哈希)函數(shù) 特點:
序號 散列(哈希)函數(shù)特點
1 算法是公開
2 "對相同的數(shù)據(jù)加密,得到的結(jié)果是一樣的"
3 對不同的數(shù)據(jù)加密,得到的結(jié)果是定長的,MD5對不同的數(shù)據(jù)進行加密,得到的結(jié)果都是32 個字符長度的字符串
4 信息摘要,信息"指紋",是用來做數(shù)據(jù)識別的!
5 不能反算
  • RSA簡單說明:加密算法算法是公開的,加密方式如下:
序號 方式內(nèi)容
方式① "公鑰"加密,"私鑰"解密
方式② "私鑰"加密,"公鑰"解密
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容