- 网络应用程序
数据
的原则:
序号 | 原则内容 |
---|---|
原则① | 在网络 上"不允许 "传输用户隐私数据的"明文 " |
原则② | 在本地 "不允许 "保存用户隐私数据的"明文 " |
- 目前流行的加密方式:
加密类型 | 方法 |
---|---|
哈希 (散列 )函数 |
** MD5 **、SHA1 、 SHA256
|
对称 加密算法 |
DES 、3DES 、 AES (高级密码标准,美国国家安全局使用的) |
非对称 加密算法 |
RSA |
- 提升MD5加密安全性(MD5加密demo)
序号 | 方法 |
---|---|
1 | * 加"盐 "(佐料) |
2 |
HMAC :给定一个"秘钥 ",对明文进行加密,并且做"两次散列 "!-> 得到的结果,还是32 个字符 |
-
注意:
- 密码:`服务器`并`不需要知道`用户真实的`密码`!
- 破解:
- 例如:字符
520it
进行代码加密
,然后 进入md5解密网站:http://www.cmd5.com 网站解密
。
MD5解密.gif - 结果:普通的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是服务器给的)
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
简单说明:加密算法算法是公开
的,加密方式如下:
序号 | 方式内容 |
---|---|
方式① | "公钥 "加密,"私钥 "解密 |
方式② | "私钥 "加密,"公钥 "解密 |
网友评论