不是有了HTTP了吗??为什么还要有HTTPS呢??

——>HTTPS也是一个应用层协议,是在HTTP协议的基础上引入的一个加密层,他的产生是由于HTTP协议内容都是按照文本的形式明文传输的,这就导致在传输过程中可能会出现被人篡改的问题!

一、什么是加密和解密? 

加密就是把 明文(要传输的信息)进行一系列变换,生成 密文

解密就是把 密文 再进行一系列变换,还原成 明文

而在加密和解密的过程中,往往需要一个或多个中间数据来辅助进行这个过程,那么这样的数据就叫做 密钥

 案例:83版《火烧圆明园》,有人要谋反干掉慈禧太后,恭亲王奕䜣给慈禧递了折子,折子内容只是扯了扯家常,套上一张挖了洞的纸就能看到其中的关键字信息!

明文:“当心肃顺,端华,戴恒”(这几个人都是当时的权臣,后来被慈禧一锅端)

密文:整个奏折

密钥:挖了洞的纸

但是现如今加密和解密已经发展成一个独立的学科了:密码学

而密码学的奠基人,也正是计算机科学的祖师爷之一:艾伦·⻨席森·图灵

 

 另⼀位祖师爷冯诺依曼

       一旦掌握了敌方密码的解密方式!可以说是在战场的情报获取上占据了先机,战场之间不仅仅是军人的较量,背后也有情报部门针对情报做加密解密的较量!

      图灵大佬年少有为,不光奠定了计算机、人工智能、密码学的基础,并且在二战中打破德军的Enigma机,使得盟军占尽情报优势,才能扭转占据反败为胜,但是因为一些原因,所以受到了英国皇室的迫害,41岁便英年早逝。

     计算机领域中的最高荣誉“图灵奖”就是以他的名字命名的!!

二、为什么需要加密?

     首先我们要知道,很多东西的形成并不是一开始就能考虑得很完美(http),都是在不断实践中暴露出来的诸多问题从而需要有新的解决方案!!

运营商劫持事件:

下载天天动听,如果未被劫持,那么点击下载按钮,就会弹出天天动听的下载链接

 ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

 而如果被劫持的话,那么点击下载按钮,就会弹出qq浏览器的下载链接!!

问题1:为什么会出现这种情况呢??

——>这是因为我们通过网络传输的任何的数据包都必然需要经过运营商的网络设备(路由器、交换机),那么运营商的网络设备就可以解析出你传输的数据内容,并进行篡改!

 

     就是当我们客户端向服务端发送下载请求的时候,当服务端将下载链接通过HTTP响应发送会客户端的时候,被运营商给截取到了(也可以是一些不法分子),就发现这个请求是要下载天天动听,那么就自动的把交给用户的响应篡改成了“qq浏览器的下载地址”

       所以由于HTTP的内容是明文传输的,所以明文数据会经过路由器、wifi热点、通信服务运营商、代理器等多个物理节点那么信息必然有可能在这个传输的过程中被截获,

      一方面可以导致客户端的隐私信息暴露,另一方面可以篡改响应。同时在这个过程中劫持者还可以不被双方察觉,这就是中间人攻击(针对客户端信息的监视和攻击)!!因此这说明HTTP必须要想办法解决这个问题,所以就有了ssl这样的加密解密方案!!他会在HTTP协议和传输层之间存在,而我们把HTTP加上ssl的加密解密方案统称为HTTPS

注:大多数的截获都是为了获利,因此如果截获的成本比收益大的话一般是不会有人这么做的 

问题2:为什么运营商要劫持呢?

——> 肯定是当时有的运营商发现了这个漏洞,然后试图从中盈利,但是不仅仅是运营商可以劫持,还有其他的一些黑客也可以使用类似的方法进行劫持(比如最常见的就是一些钓鱼wifi),试想一下你登录支付宝时他获取了你的支付密码,那会是一件很可怕的事情所以明文传输真的很危险!

 问题3:ssl绝对安全吗??我可不可以自己去设置一个加密协议?

——>其实ssl并不是绝对安全的!!因为使用HTTPS的人太多了,树大招风,所以尝试去攻破的人也很多,因此在现如今计算机算力不断增强的情况下,是很有可能得,所以需要有很多程序员去维护,去不断地更新。当然我们自己写的话可能就比较低调,可以这样的话我们就必须自己去维护了

 三、常见的加密方式

3.1 对称加密

     采⽤单钥密码系统的加密⽅法,同⼀个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密

特征:加密和解密所用的密钥是相同的,其实就是通过同⼀个"密钥",把明文加密成密文,并且也能把密文解密成明文.

常⻅对称加密算法(了解):DES、3DES、AES、TDEA、Blowfish、RC2等 

特点:算法公开、计算量小、加密速度快、加密效率高

⼀个简单的对称加密:按位异或

        假设明⽂a=1234,密钥key=8888 则加密a^key得到的密⽂b为9834.然后针对密⽂9834再次进⾏运算b^key,得到的就是原来的明⽂1234.(对于字符串的对称加密也是同理,每⼀个字符都可以表⽰成⼀个数字)

        当然,按位异或只是最简单的对称加密.HTTPS中并不是使⽤按位异或.

3.2 非对称加密

         需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥 (private key,简称私钥)。

 特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。

常⻅⾮对称加密算法(了解):RSA,DSA,ECDSA 

 公钥和私钥是配对的.最⼤的缺点就是运算速度⾮常慢,⽐对称加密要慢很多.

 (1)可以通过公钥对明⽂加密,变成密⽂——通过私钥对密⽂解密,变成明⽂

 (2)通过私钥对明⽂加密,变成密⽂——通过公钥对密⽂解密,变成明⽂

非对称加密的数学原理⽐较复杂,涉及到⼀些数论相关的知识.这⾥举⼀个简单的生活上的例⼦

 A要给B⼀些重要的⽂件,但是B可能不在.于是A和B提前做出约定:

B说:我桌⼦上有个盒⼦,然后我给你⼀把锁,你把⽂件放盒⼦⾥⽤锁锁上,然后我回头拿着钥匙来开锁 取⽂件. 

在这个场景中,这把锁就相当于公钥,钥匙就是私钥.公钥给谁都行(不怕泄露),但是私钥只有B自己持 有.持有私钥的人才能解密.

 

四、加密过程中需要用到的技术

4.1 数据摘要&&数据指纹

       数字指纹(数据摘要),其基本原理是利用单向散列函数(Hash函数)对信息进行运算,生成⼀串固定长度的数字摘要。数字指纹并不是⼀种加密机制,但可以用来判断数据有没有被窜改。

     摘要常⻅算法:有MD5、SHA1、SHA256、SHA512等,算法把⽆限的映射成有限,因此可能会有碰撞(两个不同的信息,算出的摘要相同,但是概率⾮常低) 

      摘要特征:和加密算法的区别是,摘要严格意义不是加密,因为没有解密,只不过从摘要很难反推原信息,通常用来进行数据对比

应用场景1:session id——>判断是否是合法用户

    其实我们的session id就是通过这种方式将用户名和密码变成一个唯一的标识(两个人的密码可能一样,但是在注册的时候用户名必须不一样),然后存储在服务端的数据库中,而未来当你去登录这个网页时,会将这个信息转化成摘要然后由服务端在数据库中去搜索,确认你是一个合法用户了,然后就会让你登录。

应用场景2:百度网盘上传资源

    我们的百度网盘经常会上传各种各样的资源,而这些资源都是应该上传到服务端保存起来的,但难道我客户每上传一个文件百度网盘就都要进行下载吗???

       其实也不是的!!就比方说我在网上下载了一个《蜘蛛侠》的电影,然后我把这份资源传给了班级里的50个人,那难道每个人保存的时候都要上传到网盘么??这文件本身就是一样的,存储多份显然是效率低下且没有意义的事情!! 

       因此我们每次上传文件到网盘的时候,会先生成数据摘要,然后到网盘服务端的数据库去搜索,如果发现了相同的摘要,那么说明这个资源在服务端已经存在了,那么就不需要上传了,你在客户端那边就可以很快看到保存成功,可如果不存在,那么服务端就需要上传该文件并存储他的摘要,此时你在客户端那边看到保存成功的提示可能就会稍微慢一点!! 

4.2 数字签名 

         将数字摘要进行加密,就叫做数字签名!!(这是为后期的证书认真准备的,随后会在HTTPS的方案探究中进行说明!)

五、HTTPS方案的探究

 对http进⾏对称加密,是否能解决数据通信安全的问题?问题是什么?

为何要用非对称加密?为何不全用非对称加密? 

接下来会逐步解决这两个问题!! 

5.1 方案1:只使用对称加密

        如果通信双方都各自持有同⼀个密钥X,且没有别人知道,这两方的通信安全当然是可以被保证的(除非密钥被破解)

       引⼊对称加密之后,即使数据被截获,由于黑客不知道密钥是啥,因此就无法进行解密,也就不知道请求的真实内容是啥了.

       但事情没这么简单.服务器同⼀时刻其实是给很多客户端提供服务的.这么多客户端,每个人用的秘钥都必须是不同的(如果是相同那密钥就太容易扩散了,黑客就也能拿到了).因此服务器就需要维护每个客户端和每个密钥之间的关联关系,这也是个很麻烦的事情~    

​​​​​​​

      并且如果服务端想要修改秘钥的话,那么就必须强迫客户端也去修改秘钥,显然是难以做到的

 ⽐较理想的做法,就是能在客户端和服务器建立连接的时候,双方协商确定这次的密钥是啥~

 但是如果直接把密钥明⽂传输,那么⿊客也就能获得密钥了~~此时后续的加密操作就形同虚设了

因此密钥的传输也必须加密传输! 

        但是要想对密钥进⾏对称加密,就仍然需要先协商确定⼀个"密钥的密钥".这就成了"先有鸡还是先有蛋"的问题了.显然无论是哪一方去生成这个秘钥,都需要通过网络传输给另一方,那么这个过程就有可能产生数据泄漏!!

5.2 方案2:只使用非对称加密

       鉴于非对称加密的机制,如果服务器先把公钥以明文方式传输给浏览器,之后浏览器向服务器传数据前都先用这个公钥加密好再传,从客户端到服务器信道似乎是安全的(有安全问题),因为只有服务器有相应的私钥能解开公钥加密的数据。

但是服务器到浏览器的这条路怎么保障安全? 

       如果服务器⽤它的私钥加密数据传给浏览器,那么浏览器⽤公钥可以解密它,⽽这个公钥是⼀开始通过明⽂传输给浏览器的,若这个公钥被中间⼈劫持到了,那他也能⽤该公钥解密服务器传来的信息了。因此还是不安全!!

5.3 方案3:双方都使用非对称加密

1. 服务端拥有公钥S与对应的私钥S',客⼾端拥有公钥C与对应的私钥C'

2. 客⼾和服务端交换公钥

3. 客⼾端给服务端发信息:先⽤S对数据加密,再发送,只能由服务器解密,因为只有服务器有私钥 S'

4. 服务端给客⼾端发信息:先⽤C对数据加密,在发送,只能由客⼾端解密,因为只有客⼾端有私钥 C'

      这样好像可以诶!我们保留自己的私钥,交换双方的公钥,所以只有我们双方可以解析对方的信息,中间人看到了公钥也没有丝毫作用!! 可是这样效率太低了!! 

5.4 方案4:非对称加密+对称加密

 解决效率问题!

1、服务端具有非对称公钥S和私钥S‘

2、客⼾端发起https请求,获取服务端公钥S

3、客⼾端在本地⽣成对称密钥C,通过公钥S加密,发送给服务器.

• 由于中间的⽹络设备没有私钥,即使截获了数据,也⽆法还原出内部的原⽂,也就⽆法获取到对称密 钥(真的吗?)

• 服务器通过私钥S'解密,还原出客⼾端发送的对称密钥C.并且使⽤这个对称密钥加密给客⼾端返回 的响应数据.

 • 后续客户端和服务器的通信都只用对称加密即可.由于该密钥只有客户端和服务器两个主机知道,其他主机/设备不知道密钥即使截获数据也没有意义.

      由于对称加密的效率比非对称加密高很多,因此只是在开始阶段协商密钥的时候使用非对称加密,后续的传输仍然使用对称加密.

      这个方案看似已经完美了,但还是有问题!!

5.5 中间人攻击

 ⽅案2,⽅案3,⽅案4都存在⼀个问题,如果最开始,中间⼈就已经开始攻击了呢?

 Man-in-the-MiddleAttack,简称“MITM攻击 

     确实,在⽅案2/3/4中,客⼾端获取到公钥S之后,对客⼾端形成的对称秘钥X⽤服务端给客⼾端的公钥S进⾏加密,中间⼈即使窃取到了数据,此时中间⼈确实⽆法解出客⼾端形成的密钥X,因为只有服务器有私钥S'

     但是中间⼈的攻击,如果在最开始握⼿协商的时候就进行了,那就不⼀定了,假设hacker已经成功成为中间⼈  

1. 服务器具有非对称加密算法的公钥S,私钥S'

2. 中间⼈具有非对称加密算法的公钥M,私钥M'

3. 客⼾端向服务器发起请求,服务器明⽂传送公钥S给客⼾端

4. 中间⼈劫持数据报⽂,提取公钥S并保存好,然后将被劫持报⽂中的公钥S替换成为⾃⼰的公钥M, 并将伪造报⽂发给客⼾端

5. 客⼾端收到报⽂,提取公钥M(⾃⼰当然不知道公钥被更换过了),⾃⼰形成对称秘钥X,⽤公钥M加密X,形成报⽂发送给服务器

6. 中间⼈劫持后,直接⽤⾃⼰的私钥M'进⾏解密,得到通信秘钥X,再⽤曾经保存的服务端公钥S加 密后,将报⽂推送给服务器

7. 服务器拿到报⽂,用自己的私钥S'解密,得到通信秘钥X

8. 双⽅开始采⽤X进⾏对称加密,进⾏通信。但是⼀切都在中间⼈的掌握中,劫持数据,进⾏窃听甚至修改,都是可以的

      问题本质出在哪里了呢?客户端无法确定收到的含有公钥的数据报文,就是目标服务器发送过来的!-->所以问题变成了我们如何保证公钥的合法性??

5.6 引入CA证书

       关于CA的生态推荐可以去了解一些人物和故事!!

        首先我们要知道,任何技术的产生都离不开实际场景的应用,比如学硕(学习科学前沿技术,研究更多深入的论文),专硕(如何将目前已有的前沿技术转化为生产力),所以HTTPS也是一项技术,那么他也必须结合自己的实际应用场景去研究((万维网绑定的一种网络通信协议,确保双方进行资源获取或数据提交时的安全问题))。而针对“中间人攻击”的漏洞,他也必须在发展过程中探索出自己强有力的解决方案!!所以引入了CA这个第三方机构来解决这个问题。未来你想入网,你就必须申请CA证书。

       CA认证:服务端在使用HTTPS前,需要向CA机构申领⼀份数字证书,数字证书里含有证书申请者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书里获取公钥就行了,证书就如身份证,证明服务端公钥的权威性 (当然CA证书不是挂在墙上的,而是被安装在服务器上的)

---->所以研究保证公钥的合法性 转化为了研究保证证书的合法性!因为相信证书就是相信公钥!

 问题1:如何申请认证呢??

-——>需要确认自己的域名(唯一)、公司主体、法人之类的申请信息,然后还需要有一对公私钥匙,通过这些生成一个CSR的请求文件,然后向CA机构申请证书,由他审核,通过后给你颁发证书,需要注意的是:申请证书的时候,需要在特定平台查,会同时生成⼀对密钥对,即公钥和私 钥。这对密钥对就是用来在网络通信中进行明文加密以及数字签名的。

CSR在线生成

 可以使⽤在线⽣成CSR和私钥:CSR在线生成工具

       形成CSR之后,后续就是向CA进行申请认证,不过⼀般认证过程很繁琐,⽹络各种提供证书申请的服务商,⼀般真的需要,直接找平台解决就行 

       其中公钥会随着CSR⽂件,⼀起发给CA进行权威认证,私钥服务端自己保留,用来后续进行通信(其 实主要就是⽤来交换对称秘钥) 

问题2:审核通过后,CA证书又是怎么形成的?? 

-——>CA证书是由认证信息和数字签名(签名的形成是基于非对称加密算法的

      这里的签名者,其实就是指的就是CA机构,而CA机构是有自己的公钥和私钥的,这和我们所讲的服务端和客户端毫无任何关系!!而是属于第三方!!

       当服务端申请CA证书的时候,CA机构会对该服务端进⾏审核,并专⻔为该⽹站形成数字签名,过程如下:  

1. CA机构拥有⾮对称加密的私钥A和公钥A'

2. CA机构对服务端申请的证书明⽂数据进⾏hash,形成数据摘要

3. 然后对数据摘要⽤CA私钥A'加密,得到数字签名S 服务端申请的证书明⽂和数字签名S共同组成了数字证书,这样⼀份数字证书就可以颁发给服务端了

      他会将你的认证信息先转化成数据摘要,然后用CA的私钥进行加密,我们把他叫做数字签名,然后公开的认证信息和这个数字签名共同形成了证书!! 

问题3:形成证书之后又是如何审核的呢??

——>这样形成证书的目的,其实也是为了后来的审核!!所谓审核,其实就是研究该证书是否合法,因为一旦他合法了那么就可以相信证书里面的秘钥了!! 所以我们的审核需要面临两个问题(1)机构是否权威 (2)是否被篡改过    

   验证时他会将你带有数字签名的证书给拆成  签名和认证信息,形成认证信息的散列值和签名进行对比,如果是相等的说明该证书没有被篡改过,如果不相等那么说明被篡改过了,则说明证书已被篡改, 证书不可信,从⽽终⽌向服务器传输信息,防⽌信息泄露给中间⼈

 问题4:为什么客户端可以解开用CA私钥加密过的签名呢??

——>因为客户端会内置很多CA机构的公钥,也就是说client只信任CA的公钥!!这同时也可以认为只有CA能够进行证书的签发!!因为只有CA自己有私钥!!中间人没有资格进行证书的全新形成

问题5:验证是否真的可以防住中间人

——> 

情况1:篡改明文信息

那么在验证的时候只要明文信息和签名的序列不匹配,客户端就会发现问题。

情况2:篡改明文信息+篡改签名

就是篡改明文信息后,然后将新的明文信息形成新的签名替换过去,可是由于中间人没有CA的私钥!!所以他根本形成不了有效的签名,因为client只认CA的公钥!!

情况3:篡改签名

这其实就没有啥意义了,不改明文的话好像也没啥好处可图 ,无非就是让别人发现被篡改了。

 问题6:如果中间人申请了自己的证书然后把你的证书给掉包了呢??

 ——>因为中间⼈没有CA私钥,所以⽆法制作假的证书​​​​​​​,但是一般来说黑客是不太敢提交真信息给CA弄真证书,如果被发现了容易被溯源找到,而且前提是得合法机构才能申请到,就算真的申请到了,一般由于域名具有唯一性,也是很容易被用户发现的,除非得伪装成一个假网站。如果真的是这样的话就防不了了,因为这个属于客户端的问题。但是一旦被发现,很容易被公安部门查处!

问题7:为什么摘要内容在网络传输的时候一定要加密形成签名??

 ——>常⻅的摘要算法有:MD5和SHA系列  以MD5为例,我们不需要研究具体的计算签名的过程,只需要了解MD5的特点:

(1)定⻓:⽆论多⻓的字符串,计算出来的MD5值都是固定⻓度(16字节版本或者32字节版本) 

(2)分散:源字符串只要改变⼀点点,最终得到的MD5值都会差别很大

(3)不可逆:通过源字符串⽣成MD5很容易,但是通过MD5还原成原串理论上是不可能的.

     正因为MD5有这样的特性,我们可以认为如果两个字符串的MD5值相同,则认为这两个字符串相同. 

但是还有个问题,如果⿊客把hello篡改了,同时也把哈希值重新计算下,客⼾端就分辨不出来了呀. 

 所以被传输的哈希值不能传输明⽂,需要传输密⽂

     所以,对证书明⽂(这⾥就是“hello”)hash形成散列摘要,然后CA使用自己的私钥加密形成签名,将 hello和加密的签名合起来形成CA证书,颁发给服务端,当客户端请求的时候,就发送给客户端,中间⼈截获了,因为没有CA私钥,就⽆法更改或者整体掉包,就能安全的证明,证书的合法性。最后,客户端通过操作系统⾥已经存的了的证书发布机构的公钥进⾏解密,还原出原始的哈希值,再进行校验.

问题8:为什么签名不直接加密,而是要先hash形成数字摘要??

  -——>当然更主要的是为了方便传输(固定大小)和比对(只要比较哈希值)!缩小签名密文的⻓度,加快数字签名的验证签名的运算速度

5.7 最终方案:非对称加密+对称加密+证书认证

 客⼾端进⾏认证

当客⼾端获取到这个证书之后,会对证书进⾏校验(防⽌证书是伪造的).

1、判定证书的有效期是否过期

2、判定证书的发布机构是否受信任(操作系统中已内置的受信任的证书发布机构).

3、验证证书是否被篡改:从系统中拿到该证书发布机构的公钥,对签名解密,得到⼀个hash值(称为数 据摘要),设为hash1.然后计算整个证书的hash值,设为hash2.对⽐hash1和hash2是否相等.如果相等,则说明证书是没有被篡改过的

查看浏览器的受信任证书发布机构:Chrome浏览器,点击右上⻆的

选择"设置",搜索"证书管理",即可看到以下界⾯.(如果没有,在隐私设置和安全性->安全⾥⾯找找)

5.8 基于HTTPS的一些思考

 问题1:如何成为中间人??(了解)

——>

(1)ARP欺骗:在局域网中,hacker经过收到ARPRequest⼴播包,能够偷听到其它节点的(IP,MAC)地址。例如黑客收到两个主机A,B的地址,告诉B(受害者),⾃⼰是A,使得B在发送给A的数据包都被黑客截取

(2)ICMP攻击:由于ICMP协议中有重定向的报⽂类型,那么我们就可以伪造⼀个ICMP信息然后发送给 局域⽹中的客⼾端,并伪装⾃⼰是⼀个更好的路由通路。从⽽导致⽬标所有的上⽹流量都会发送到 我们指定的接⼝上,达到和ARP欺骗同样的效果

(3)假wifi&&假网站等

问题2:完整流程

——> 左侧都是客⼾端做的事情,右侧都是服务器做的事情

问题3:秘钥的总结

-——> HTTPS⼯作过程中涉及到的密钥有三组:

第⼀组(非对称加密):用于校验证书是否被篡改.服务器持有私钥(私钥在形成CSR⽂件与申请证书时获 得),客户端持有公钥(操作系统包含了可信任的CA认证机构有哪些,同时持有对应的公钥).服务器在客户端请求时,返回携带签名的证书.客⼾端通过这个公钥进行证书验证,保证证书的合法性,进⼀步保 证证书中携带的服务端公钥权威性。

第⼆组(非对称加密):用于协商⽣成对称加密的密钥.客户端用收到的CA证书中的公钥(是可被信任的) 给随机生成的对称加密的密钥加密,传输给服务器,服务器通过私钥解密获取到对称加密密钥.

第三组(对称加密):客户端和服务器后续传输的数据都通过这个对称密钥加密解密.

其实⼀切的关键都围绕这个对称加密的密钥.其他的机制都是辅助这个密钥⼯作的.

第⼆组非对称加密的密钥是为了让客户端把这个对称密钥传给服务器.

第⼀组非对称加密的密钥是为了让客户端拿到第⼆组非对称加密的公钥. 

问题4:HTTPS就一定安全吗???

——>HTTPS并不一定真正安全,因为他有效地防止了中间人的攻击,而中间人的出现一般是为了窃取客户端信息的,但是不排除在有些情况下黑客会以客户端的身份来分析你服务端的数据(因为对称密钥的形成是在客户端形成的,所以服务端拿到后会和你通信进行交互,然后他就可以对服务端发来的信息做分析)然后对服务端做一些更深入的攻击,因此在大多数情况下我们的服务端还需要基于https来做一些二次加密,防止黑客对服务端的攻击。

问题5: 为什么HTTP必须放在应用层去实现??

------->应用层涉及到的知识点非常多(序列化反序列化、报文的正确读取和正确写入、协议、加密……)而应用层必须放在用户层实现,是因为不同的人对协议有不同的定制需求,有不同的定制需求,有不同的序列化反序列化的方案,有不同的加密解密方案(不同的安全级别),所以上述所有的东西都不可能在内核里实现统一,否则一旦其中一个出现了问题,那么整个内核都得被改变。

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐