1.网络安全:(1)网络中传输数据都会被监控到(2)本地存储也是不安全的 由于会被越狱破解算法
2.任何加密解密的操做就是对二进制进行操做 //加密-指定base64编码的方式0 //解密-忽略未知的字符0json
3.base64 本质是编码不是加密数组
能够将任意的二进制数据编码成字符串 浏览器
4.加密方式 安全
(1)对称算法:加密解密都使用相同的密钥 速度快 适合对大数据加密 安全性相对较低DES 3DES AES服务器
(2)非对称算法:算法公开 可逆的加密算法 用公钥加密 用私钥解密 用私钥加密 用公钥解密 速度慢 适合对小数据传输加密 安全性高 RSA网络
(3)散列算法:md5 不可逆post
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 :告诉服务器上传文件的类型//请求体 //拼接请求体 (从浏览器中获取格式) //发送请求
json序列化 发送json数据到指定的PHP页面
json序列化使用的条件(1)最外层必须是数组或者字典 (2) 全部的对象必须是NSString NSNumber NSArray NSDictionary OR NSNull (3)全部字典的keys必须是NSString