Https加密

介绍

Http直接通过明文在浏览器和服务器之间传递消息,容易被监听抓取到通信内容。

Https采用对称加密和非对称加密结合的方式来进行通信。

Https不是应用层的新协议,而是Http通信接口用SSL和TLS来加强加密和认证机制。

加密方式

对称加密:加密和解密都是同一个密匙。

非对称加密:密钥成对出现,分为公钥和私钥,公钥加密需要私钥解密,私钥加密需要公钥解密。

两者区别

对称加密速度快,非对称加密速度慢。

对称加密要将密钥暴露,和明文传输没区别。

非对称加密将公钥暴露,供客户端加密,服务端使用私钥解密。

Https加密的选择

对称加密弊端

对称加密速度快,适合Https加密算法,但是服务器和浏览器之间传递密钥的过程被人监听,相当明文传输。

非对称加密弊端

服务端只将公钥暴露,浏览器使用公钥对消息进行非对称加密,服务端用私钥解密。但是服务端向浏览器回复的时候,只能用私钥进行加密,浏览器只能用公钥解密。但是:公钥是所有人都知道的,所有人都可以读取服务端回复的消息来进行解密,所以解决不了服务端向浏览器传递消息。

Https加密

对称加密和非对称加密结合方式

浏览器使用Https的URL访问服务器,建立SSL链接。

服务器收到SSL链接,发送非对称加密的公钥A返回给浏览器

浏览器生成随机数,作为对称加密的密钥B

浏览器使用公钥A,对自己生成的密钥B进行加密,得到密钥C

浏览器将密钥C,发送给服务器。

服务器用私钥D对接受的密钥C进行解密,得到对称加密钥B。

浏览器和服务器之间可以用密钥B作为对称加密密钥进行通信。

总结

这样浏览器和服务器就共享一个对称加密密钥B,重要的是不会被拦截到。只在传输密钥B的时候进行了一次非对称加密,之后就用对称加密进行传送数据。

https 密钥 php,https加密方式是什么相关推荐

  1. HTTP和HTTPS的区别以及加密方式

    目录 基本区别 Http协议运行在TCP之上,明文传输,客户端与服务器端都无法验证对方的身份:Https是身披SSL(Secure Socket Layer)外壳的Http,运行于SSL上,SSL运行 ...

  2. 简述https的几种加密方式

    加密方式 常见的加密方式:对称加密和非对称加密. 对称加密算法和非对称加密算法只不过是密码学中的两种加密算法罢了,所谓的算法就是一种可以将信息从一种形式转变为另一种形式的规则. 对称加密 概念:对称密 ...

  3. 五千来多字,就为了聊聊HTTP报文,请求响应头,cookie以及HTTPS加密方式

    靓仔靓女们大家好,我们又见面了,公众号:java小杰要加油,这周来分享一篇关于HTTP协议相关的文章 看完此文可以对 HTTP报文格式.HTTP各种请求头,HTTP响应码. cookie属性以及HTT ...

  4. HTTPS的加密方式超详细解读

    在了解https的加密方式之前,我们需要先行了解两个特别经典的传统加密方式,以此开始我们今天的学习之旅途. 1.对称加密 1.1.定义 需要对加密和解密使用相同密钥的加密算法.所谓对称,就是采用这种加 ...

  5. HTTPS —— HTTPS的加密方式

    JavaEE传送门 JavaEE HTTP -- HTTP 协议中的细节(超详细!!) HTTP -- HTTP 响应详解, 构造 HTTP 请求 目录 HTTPS "加密" 对称 ...

  6. 【计算机网络】聊一聊https的加密方式

    一.写在前面 老是听见我的朋友讨论https的加密方式,讨论不一,最后查询资料后,给出我自己的理解 当然了,这需要一定的网络安全方面的知识,如果你还不了解这些基础知识,建议看一下这两篇文章手

  7. http 与 https 的区别以及加密详解

    一.http与https的区别: http和https是两种通信方式 http默认采用80作为通讯端口,对于传输采用不加密的方式,https默认采用443,对于传输的数据进行加密传输. https协议 ...

  8. 是时候理解下HTTPS及背后的加密原理了

    HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版.本文,就来深入介绍下其原理. 为 ...

  9. http和https的区别https的连接方式

    首先了解什么是http协议,http协议是超文本传输协议,他存在的目的是为浏览器和服务器之前传输信息.但是http是明文传输的,不管是谁,只要抓取了浏览器传向服务器,或者服务器传向浏览器的信息,就可以 ...

最新文章

  1. Oracle数据库表设计时的注意事项
  2. Django框架(11.Django中的通过模型类查询数据以及相关函数和条件)
  3. mySQL教程 第7章 存储过程和函数
  4. 面试题45:圆圈中最后剩下的数字
  5. 企业私有云解决方案(基于桌面与服务器虚拟化技术)
  6. effective python 90个有效方法_Effective Python:编写高质量Python代码的90个有效方法(原书第2版)...
  7. C#泛型-小心使用静态成员变量
  8. plsqlDev.exe启动时无监听问题
  9. python英文分词统计词频_Python 分词并统计词频
  10. MySQL-巧用Join来优化SQL
  11. 计算机显示不支持此接口,为什么会提示“不支持此接口”?提示不支持此接口的解决方法...
  12. linux下自动更换壁纸软件,适用于Ubuntu 18.04的4款最佳壁纸自动切换软件
  13. ubuntu 14.04.5 firefox 浏览器flash插件安装
  14. 使用canvas画二维码
  15. Optional orElseThrow 错误: 未报告的异常错误X; 必须对其进行捕获或声明以便抛出...
  16. linux解压tar命令
  17. java人民币大小写转换_人民币大小写转换 java 实现
  18. 2021年安全员-A证考试报名及安全员-A证新版试题
  19. 实时自动驾驶车辆定位技术都有哪些?(视觉/Lidar/多传感器数据融合)
  20. 服务器 交换机的维护,华为交换机系统维护与调试命令

热门文章

  1. 如何避免mysql回表查询_mysql如何避免回表查询
  2. 如何在ps添加箭头_「PS精选案例教程」制作斑驳生锈字体
  3. mysql.h 动态编译命令_Linux环境编译动态库和静态库总结
  4. ModuleNotFoundError: No module named ‘torch.utils.serialization‘解决
  5. JDK源码解析之 Java.lang.Enum
  6. Ubuntu下面apache2安装
  7. MIP ACCESS细节剖析
  8. 微软发布Azure Storage不可变存储功能的正式版本
  9. .Net Core+mySqlSugar的一些稍复杂操作
  10. 用鼠标去控制物体移动的方法