最新公告
  • 欢迎您光临都潮汇,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • HTTP和HTTPS区别对比,HTTPS加密、解密及验证过程_蜘蛛技巧_超级蜘蛛池

    正文概述 官方   2020-07-4   19

    本文从HTTP的不安全引出HTTPS,HTTPS就是在HTTP的基础上增加了一层SSL的加密协议,然后进一步讲述了两种不同的加密方式,分别是对称加密和非对称加密,然后讲述了两者的不同及各自的优缺点,HTTPS综合了两种加密方式,最后,给出了完整的HTTPS加密、解密及验证过程。

    1.从HTTP说起

    说起HTTP请求,我们几乎每天都在发出这样的请求,例如我们在浏览器中输入http://www.baidu.com时,就是向百度的服务器发出一个http请求,而百度的服务器同时会给我们返回该请求的一个回应。再例如,我们在一个登录的场景下,输入用户名="123",密码="666666",然后按下登录按钮,此时http请求中将携带着用户名和密码两个信息提交到服务器,然后服务器从http请求的报文中提取到用户名和密码等信息。

    很明显,http请求存在着一个很严重的问题,http协议传输的是明文,如果中间有个黑客拦截到该请求,就拦截到了我们的数据,就能将我们的用户名和密码看得一清二楚,这样隐私的数据就非常容易泄露出去。

    因此,我们很容易想到,我们可以对数据加密去解决该问题呀!这就引出了我们今天的主题:HTTPS,于是,有了下图的场景。

    可以看出,黑客即使截取到了我们请求的数据,他看到也只是一串乱码,根本不知道是啥子玩意,所以,HTTPS就是一种将数据加密后再传输的协议。

    2.HTTP和HTTPS的对比

    从上图可以看到,HTTP和HTTPS协议底层都是基于TCP的协议,只是HTTPS协议中间多了一层SSL或者TLS,因此,很简单,HTTPS就是HTTP协议加上SSL/TLS。TLS是SSL的升级版,它们的作用都是进行加密的连接。

    3.对称加密

    特点:靠一个密钥来加密数据,使用相同的一个密钥来解密数据。首先用户需要把自己的一把钥匙给送给服务器,用户用这把钥匙加密数据,然后服务器待会拿这把相同的钥匙去解密用户接下来发送的数据。

    那么,这样的加密算法有什么不妥呢?首先,如果用户拥有相同的密钥的话,我的密钥能解你的数据,你的密钥能解密我的数据,这样,别有用心的用户就能截取和破解你的数据了,所以,每个用户都必须拥有一把只属于自己的密钥,那每个用户的密钥都要先发给服务器,那有5000万个用户服务器就有5000万把密钥,这明显给服务器增加了太多太多的负荷,这是显然不符合我们的需求的;其次,如果在客户端第一次发送密钥给服务器的时候,此次发送是明文发送的,黑客此刻在中间截取到了我们的密钥,那接下来的数据黑客也能破解掉,这明显也是不符合我们的需求。但是,该加密方式计算量小,加密和解密的速度比较快,适合加密比较大的数据。好了,讲完对称加密,我们知道对称加密存在着一些缺点,由此产生了第二种的加密方式,就是非对称加密。

    4.非对称加密

    特点:有一个公钥和一个私钥,公钥加密只能私钥解密,私钥加密只能公钥解密。因为解密和加密使用不同的钥匙,所以称为非对称加密。公钥和私钥都放在服务器上,公钥是可以随便传输的,私钥是绝对不会暴露的,数据传输是安全的。

    说了这么多抽象的东东,我们看一个具体的例子。

    首先服务器端把公钥传给客户端,客户端拿到公钥后对数据进行加密,然后客户端发送使用公钥加密过的数据到服务器,服务器收到加密后的数据后使用私钥对数据进行解密。

    此刻,黑客即使拿到公钥和公钥加密后的数据,也没法解密,因为公钥加密的数据公钥是解不了的,只有私钥能解。

    该加密方式数据传输虽然安全,但是计算量大,加密和解密的速度比较慢。

    那么,有没有一种方法是加密解密速度快,而且又是数据传输安全的呢?根据对称加密的优点和非对称加密的优点,由此诞生了HTTPS的加密方式,接下来我们看一下HTTPS加密、解密及验证的过程。

    5.HTTPS加密、解密及验证过程

    假如服务器端存有一个公钥777和一个私钥888,首先,浏览器发出一个https请求,如https://www.baidu.com,服务器端响应请求,返回一个SSL数字证书给客户端,SSL数字证书包括了公钥和服务器的身份标识信息,客户端收到SSL数字证书之后,验证该数字证书是否有效,如无效,则浏览器会发出不安全警告,如有效,就会先生成一个随机码如6666,然后使用公钥777对这个随机码进行加密,然后传输该加密后的随机码到服务器,服务器使用私钥888进行解密,得到客户端的随机码为6666,以上该过程就是我们说的非对称加密。此时,客户端和服务器都同时拥有了该随机码6666,然后,把这个随机码6666用作对称加密的密钥,用密钥6666对userName和passWord的信息进行加密,发送到服务器端,服务器端同样使用相同的密钥6666对数据进行解密,最后得到userName和passWord的信息。以上为整个HTTPS加密、解密及验证的过程。

    本网站所有源码和软件均为作者提供和网友推荐收集整理而来!
    本站提供的所有模块、软件等资源,均不提供任何技术服务,请悉知!
    如您需要商用,请支持正版,本站提供的程序仅供学习和研究使用!
    资源每天实时更新,如遇压缩包解压密码,一律为:www.dch888.cn
    如有侵犯你版权的,请来信(邮箱:i@dch888.cn)指出,本站将立即改正。
    都潮汇 » HTTP和HTTPS区别对比,HTTPS加密、解密及验证过程_蜘蛛技巧_超级蜘蛛池

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    都潮汇
    互联网精品资源网站源码分享平台