-
公钥、私钥
目录 公私钥 公私钥终端生成 证书 证书终端生成 P12导出公私钥 公私钥私钥modulus: 00:df:0b:f6:22:42:fe:81:a2:f2:fd:36:c5:fc:0d: 7b:1d:35:4d:79:6f:4a:2d:40:7f:0f:39:ec:e5:3a: ee:66:24:14:c9:21:8a:ee:24:12:e5:f3:f9:ba:14: 71:54:f4:7e:9c:94:15:01:0a:8e:9d:b3:b5:fd:7b...…
-
非对称秘钥加密
参考文章:https://github.com/ideawu/Objective-C-RSA/blob/master/RSA.m 参考文章:RSA Padding目录 简介 原理 安全性 代码实现 简介目前主流的加密算法分为两种:对称秘钥加密和非对称秘钥加密。对称秘钥加密主要包括:DES 3DES AES非对称秘钥加密又叫公开秘钥加密主要包括:RSA对称秘钥加密:需要发送方与接收方知 道共享的秘密密钥,最初如何商定密钥( 尤其“素未谋面”)?该篇主要讲解非对称秘钥加密,对称秘...…
-
对称秘钥加密
参考文章:https://blog.csdn.net/lifeng_2009/article/details/5338687?spm=a2c6h.13066369.0.0.506b2945OZpllp目录 简介 DES 3DES AES 填充模式 代码实现 简介目前主流的加密算法分为两种:对称秘钥加密和非对称秘钥加密。 对称秘钥加密主要包括:DES、 3DES、 AES 非对称秘钥加密又称公开秘钥加密主要包括:RSA该篇主要讲解对称秘钥加密,非对称秘钥加密在下篇讲解 ...…
-
传统与现代加密技术
目录 传统加密技术 现代加密技术 Feistel分组密码结构 传统加密方法传统的加密方式主要采用替代和换位两种方式,来混淆要加密的内容,解密时对照密码本进行恢复。替代密码(substitution cipher): 利用一种东西替代另一种东西 凯撒密码:一个字母替代另一个字母 将一个字母利用字母表中该字母后面的第k个字母替代 如k=3,bob. i love you. alice → ere, l oryh brx. dolfh 单码(字母)替代密码:26个...…
-
SHA
参考文章:https://baike.baidu.com/item/SHA家族/9849595?fromtitle=SHA&fromid=9533316&fr=aladdin 参考文章:https://www.jianshu.com/p/7500ee76e8ae目录 简介 什么是SHA 应用场景 OC代码实现 简介HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突。上篇介绍了MD5,本篇介绍SHA。 MD5:http...…
-
MD5
参考文章:https://www.jianshu.com/p/ec7b848f83a7 参考文章:https://blog.csdn.net/siwen1990/article/details/79297744目录 简介 什么是MD5 问题及解决办法 应用场景 OC代码实现 简介Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间.简单...…
-
百分号编码
目录 什么是百分号编码 为什么要编码? encodeURI和encodeURIComponent什么是百分号编码URL编码(百分号编码)的原理主要是将URL中不安全或特殊的字符转换为可安全传输的格式。以下是编码过程的主要原理和步骤:安全字符和不安全字符: 安全字符:字母(A-Z, a-z)、数字(0-9)、一些特定符号(如-、_、.、~)可以直接在URL中使用。 不安全字符:空格、#、&、?等在URL中具有特殊意义,可能导致歧义或错误,因此需要进行编码。百分号编码: ...…
-
Base64
参考文章:https://blog.csdn.net/qq_20545367/article/details/79538530目录 什么是Base64 应用场景 OC代码实现 什么是Base64百度百科中对Base64有一个很好的解释:“Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法”。什么是“可打印字符”呢?在ASCII码中规定,0~31、127这33个字符属于控制字符,32~126这95个字符属...…
-
ASCII码与Unicode
参考文章:百度百科ASCII 参考文章:Unicode 参考文章:Unicode和UTF-8的区别目录 ASCII码 Unicode 两者区别 ASCII码一、产生原因 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的...…
-
二进制
参考文章:二进制 参考文章:原码, 反码, 补码 详解目录 简介 进制换算 位运算 iOS中的二进制 简介二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。数字电子电路中,逻辑门的实现直接应用了二进制,因此现代的计算机和依赖计算机的设备里都用到二进制。每个数字称为一个比特(Bit,Binary digit的缩写)。一个8Bit位的二进制数据如下: 111111...…
-
22、补充
参考:【MJ亲授】网络协议从入门到底层原理目录 快速开始 VPN tcpdump cache IPv6 即时通讯 流媒体快速开始一、vpnvpn客户端 + vpn服务端 + 隧道协议隧道协议工作在传输层作用 1、提高上网的安全性 2、保护公司内部资料 3、隐藏上网者的身份 4、突破网站的地域限制 5、突破网络封锁访问公司内网(通过vpn技术,将自己作为公司内网的一个成员)隐藏用户的ip地址二、缓存三、IPv6用它来取代IPv4主要是为了解决IPv4地址枯竭问题,...…
-
21、其它协议
参考:【MJ亲授】网络协议从入门到底层原理目录 快速开始 WebSocket WebService RESTful HTTPDNS FTP 邮件相关的协议快速开始一、webSocket协议WebSocket和HTTP属于平级关系,都是应用层的协议 WebSocket是应用层协议,Socket是一套网络编程API接口,两者是不同的WebSocket,是基于TCP的支持全双工通信的应用层协议 WebSocket需要借助HTTP协议来建立连接(也叫作握手,Handshake...…
-
20、HTTP的升级改进
参考:【MJ亲授】网络协议从入门到底层原理目录 快速开始 HTTP协议的不足 HTTP/2 HTTP/3快速开始一、http1.1的不足同一时间,一个连接只能对应一个请求(同一连接不能并行发送请求)xy:原因是多个请求的数据同时发送无法被区分出来针对同一个域名,大多数浏览器允许同时最多6个并发连接请求应答模式,服务器不能主动给客户端发送消息头信息的重复传输二、http2只需要建立一个连接,可以并行发送请求(多路复用)xy:应为http2会标记数据属于哪个请求,到达之后会组装,所...…
-
19、HTTPS
参考:【MJ亲授】网络协议从入门到底层原理目录 快速浏览 概念介绍 HTTPS的通讯过程 双向认证流程快速浏览一、介绍安全套接层工作在应用层和传输层之间 所以TLS只会对应用层数据进行加密,传输层、网络层、链路层的头部信息都是明文的,并不会影响在路由器和链路上传播① TCP的3次握手 ② TLS的连接 ③ HTTP请求和响应 二、主要流程交换数据阶段: 选择的加密组件比如:AES RSA ECDHE(一个秘钥生成算法) 服务端随机数、服务端秘钥计算参数...…
-
18、网络安全
参考:【MJ亲授】网络协议从入门到底层原理目录 快速开始 安全威胁 HTTP协议的安全问题 单向散列函数 对称加密 非对称加密 混合密码系统 数字签名 证书快速开始一、安全威胁ARP欺骗 DoS攻击 DNS劫持二、加密算法单向散列函数:MD5、SHA-1、SHA-2(SHA-256 SHA-512)、SHA-3对称加密:DES、3DES、AES 块加密 模式非对称加密:RSA 公钥加密 私钥签名三、证书证书 = 公钥 + 签名CA机构 浏览器和手机内,内置了C...…
-
17、HTTP(五)
参考:【MJ亲授】网络协议从入门到底层原理目录 快速开始 代理服务器(Proxy Server) CDN快速开始代理服务器正向代理服务器:绕过防火墙、抓包工具Charles反向代理服务器:安全防护、负载均衡CDN:内容分发网络代理服务器(Proxy Server)一、特点本身不生产内容 处于中间位置转发上下游的请求和响应 ✓ 面向下游的客户端:它是服务器 ✓ 面向上游的服务器:它是客户端二、正向代理、反向代理正向代理:代理的对象是客户端 反向代理:代理的对象是服务器...…
-
16、HTTP(四)
参考:【MJ亲授】网络协议从入门到底层原理目录 快速开始 CORS Cookie快速开始一、同源策略协议 + 域名 + 端口 都相同就是同源前后端分离后,资源和资源内请求的url不是同源,那么就会存在跨域的问题相关的请求头字段:Origin相关的响应头字段:Access-Control-Allow-Origin 跨域后不是服务器不返回数据,是浏览器不解析数据Ajex异步请求受同源策略影响为什么img标签和css不受同源策略影响? 异步请求受同源策略影响,一般来说,直接加载页面...…
-
15、HTTP(三)
参考:【MJ亲授】网络协议从入门到底层原理目录 快速开始 请求方法 头部字段 状态码(Status Code) form提交快速开始一、常用请求方法get post head option二、请求头字段user-agent: 识别终端类型 Reference:这个请求是由哪个请求带来的 防止盗链 range:多线程断点下载 Content-Type: application/x-www-form-urlencoded 和 multipart/form-data...…
-
14、HTTP(二)
参考:【MJ亲授】网络协议从入门到底层原理目录 快速开始 HTTP报文格式 ABNF URL的编码 Telnet快速开始一、URL为什么需要编码一般对url编码,针对的是查询参数的key和value进行编码 1、最初设计是只支持ASCII码的,所以非ASCII码需要编码,比如中文编码前:https://www.baidu.com/s?wd=华为编码后:https://www.baidu.com/s?wd=%E5%8D%8E%E4%B8%BA2、一些特殊字符(比如等号、空格),...…
-
13、HTTP
参考:【MJ亲授】网络协议从入门到底层原理目录 快速开始 HTTP简介 HTTP版本 HTTP标准快速开始超文本:超出了文本本身的含义URI:统一资源标志符 URL:统一资源定位符最常用的http版本是 1.1版本 1997年提出HTTP简介一、HTTPHTTP(Hyper Text Transfer Protocol),译为超文本传输协议 是互联网中应用最广泛的应用层协议之一 设计HTTP最初的目的是:提供一种发布和接收HTML页面的方法,由URI来...…