序号 |
原则内容 |
原则① |
在网络 上"不允许 "传输用户隐私数据的"明文 " |
原则② |
在本地 "不允许 "保存用户隐私数据的"明文 " |
加密类型 |
方法 |
哈希 (散列 )函数 |
** MD5 **、SHA1 、 SHA256
|
对称 加密算法 |
DES 、3DES 、 AES (高级密码标准,美国国家安全局使用的) |
非对称 加密算法 |
RSA |
序号 |
方法 |
1 |
* 加"盐 "(佐料) |
2 |
HMAC :给定一个"秘钥 ",对明文进行加密,并且做"两次散列 "!-> 得到的结果,还是32 个字符 |
- 密码:`服务器`并`不需要知道`用户真实的`密码`!
//方法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是服务器给的)
NSLog(@"\n -------------\n HMAC = %@\n -------------\n ",[@"520it" hmacMD5StringWithKey:@"xiaomage"]);
序号 |
加密(iOS代码) |
解密(MD5网站) |
备注 |
1 |
MD5 |
成功 |
|
2 |
MD5 +盐 (salt) |
失败 |
盐 :自定义的字符串#define salt @"shdcskjfcbskfnslfhs.kfsfvmsf8348390(*^^6R%@@IJEKHRKWKFGKF"
|
3 |
HMAC |
失败 |
HMAC原理:给定一个"秘钥 ",对明文进行加密,并且做"两次散列 "!-> 得到的结果,还是32个字符 |
序号 |
散列(哈希) 函数特点 |
1 |
算法是公开 的 |
2 |
"对相同的数据加密,得到的结果是一样的 " |
3 |
对不同的数据加密,得到的结果是定长的,MD5对不同的数据进行加密,得到的结果都是32 个字符长度的字符串 |
4 |
信息摘要,信息"指纹",是用来做数据识别的! |
5 |
不能反算 的 |
-
RSA
简单说明:加密算法算法是公开
的,加密方式如下:
序号 |
方式内容 |
方式① |
"公钥 "加密,"私钥 "解密 |
方式② |
"私钥 "加密,"公钥 "解密 |