iOS开发如何MD5加密原理?demo下载?

2017-03-22  本文已影响138人  随心吧
序号 原则内容
原则① 网络上"不允许"传输用户隐私数据的"明文"
原则② 本地"不允许"保存用户隐私数据的"明文"
加密类型 方法
哈希(散列)函数 ** MD5**、SHA1SHA256
对称加密算法 DES3DESAES(高级密码标准,美国国家安全局使用的)
非对称加密算法 RSA
序号 方法
1 * 加""(佐料)
2 HMAC:给定一个"秘钥",对明文进行加密,并且做"两次散列"!-> 得到的结果,还是32个字符
MD5加密.gif
- 密码:`服务器`并`不需要知道`用户真实的`密码`!
 //方法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 不能反算
序号 方式内容
方式① "公钥"加密,"私钥"解密
方式② "私钥"加密,"公钥"解密
上一篇 下一篇

猜你喜欢

热点阅读