网络安全&加密方式的笔记&json序列化

  1.网络安全:(1)网络中传输数据都会被监控到(2)本地存储也是不安全的  因为会被越狱破解

2.任何加密解密的操作就是对二进制进行操作    //加密-指定base64编码的方式0  //解密-忽略未知的字符0

3.base64  本质是编码不是加密

可以将任意的二进制数据编码成字符串 

4.加密方式  

(1)对称算法:加密解密都使用相同的密钥  速度快  适合对大数据加密  安全性相对较低DES 3DES AES

(2)非对称算法:算法公开  可逆的加密算法  用公钥加密  用私钥解密   用私钥加密  用公钥解密  速度慢  适合对小数据传输加密   安全性高  RSA

(3)散列算法:md5 不可逆

5.MD5可以破解   字典遍历   暴力破解

6.防止被暴力破解:(1)加盐:使字符串变复杂  难以破解(2)HMAC(3)MD5+时间  一个字符串key 进行md5计算    把原密码和之前生成的md5值再进行hmac加密    从服务器获取当前时间到分钟  的字符串    第二步   产生的hmac值+时间   和第一步产生的md5值进行hmac加密   json反序列化 (4)存在系统的钥匙串(对称加密)

7.自动登录  重构

8.上传文件 原理(发送请求)(1) 请求头  改post和content-type

9.上传单个文件就是根据http协议规定的格式进行上传  //请求头 //post    request.HTTPMerhod  //Content-type :告诉服务器上传文件的类型//请求体   //拼接请求体 (从浏览器中获取格式) //发送请求

  1. json序列化   发送json数据到指定的PHP页面

  2. json序列化使用的条件(1)最外层必须是数组或者字典 (2) 所有的对象必须是NSString  NSNumber  NSArray  NSDictionary  OR  NSNull  (3)所有字典的keys必须是NSString


你可能感兴趣的:(ios,加密,json,暴力破解)