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