一瘫怜、網(wǎng)絡(luò)開發(fā)中原則:
1.在網(wǎng)絡(luò)上不允許傳輸用戶的明文隱私數(shù)據(jù)
2.在本地不允許保存用戶的明文隱私數(shù)據(jù)
二踢故、加密算法的使用場景:
1.登錄
三、加密算法的分類:
-哈希(散列)函數(shù)
? ? -MD5
? ? -HMAC
? ? -SHA1
? ? -SHA256/512
- 對稱加密算法
? ? -DES
? ? -3DES
? ? -AES(高級密碼標準,美國國家安全局使用的,iOS系統(tǒng)使用的加密方式(鑰匙串))
- 非對稱加密算法
?-RSA(公鑰加密叠必,私鑰解密丽焊,私鑰加密,公鑰解密)
三眉孩、不同的加密算法的特點:
3.1)散列函數(shù):
3.1.1)特點:
? ? -算法公開的.
? ? -對相同的數(shù)據(jù)加密,得到的結(jié)果是一樣的.
? ? -對不同的數(shù)據(jù)加密,得到的結(jié)果是定長的,MD5對不同的數(shù)據(jù)進行加密,得到的結(jié)果都是32個字符.
? ? -信息摘要,信息"指紋",是用來做數(shù)據(jù)識別的.
? ? -不能反算的.
3.1.2)MD5用途
-密碼,(服務(wù)器是不需要知道用戶的真實密碼的!在用戶注冊的時候服務(wù)器就對密碼進行了加密處理,然后保存在數(shù)據(jù)庫!)
-搜索
-版權(quán)
3.1.3)HMAC MD5的升級
? ? -給定一個密鑰,對明文進行密鑰拼接,并且做"兩次散列" -> 得到32位結(jié)果!
? ? -用戶在注冊的那一刻,向服務(wù)器索取 密鑰(key)!!
? ? -客戶端拿到KEY的這一刻,就將KEY保存在本地!!
? ? -切換了新的設(shè)備(換手機登錄,登錄新的已有賬號!) --重新找服務(wù)器獲取!!