详解https是如何确保安全的?

2023-10-29

Https 介绍


1什么是Https

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL

2Https的作用

  • 内容加密 建立一个信息安全通道,来保证数据传输的安全;

  • 身份认证 确认网站的真实性

  • 数据完整性 防止内容被第三方冒充或者篡改

3Https的劣势

  • 对数据进行加解密决定了它比http慢

    需要进行非对称的加解密,且需要三次握手。首次连接比较慢点,当然现在也有很多的优化。

出于安全考虑,浏览器不会在本地保存HTTPS缓存。实际上,只要在HTTP头中使用特定命令,HTTPS是可以缓存的。Firefox默认只在内存中缓存HTTPS。但是,只要头命令中有Cache-Control: Public,缓存就会被写到硬盘上。 IE只要http头允许就可以缓存https内容,缓存策略与是否使用HTTPS协议无关。


4HTTPS和HTTP的区别

  • https协议需要到CA申请证书。

  • http是超文本传输协议,信息是明文传输;https 则是具有安全性的ssl加密传输协议。

  • http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

  • http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

http默认使用80端口,https默认使用443端口

下面就是https的整个架构,现在的https基本都使用TLS了,因为更加安全,所以下图中的SSL应该换为SSL/TLS

0?wx_fmt=png

下面就上图中的知识点进行一个大概的介绍。

加解密相关知识


1对称加密

对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。

2非对称加密

与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey);并且加密密钥和解密密钥是成对出现的。非对称加密算法在加密和解密过程使用了不同的密钥,非对称加密也称为公钥加密,在密钥对中,其中一个密钥是对外公开的,所有人都可以获取到,称为公钥,其中一个密钥是不公开的称为私钥。

非对称加密算法对加密内容的长度有限制,不能超过公钥长度。比如现在常用的公钥长度是 2048 位,意味着待加密内容不能超过 256 个字节。


3摘要算法

数字摘要是采用单项Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文,这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。“数字摘要“是https能确保数据完整性和防篡改的根本原因。

4数字签名

数字签名技术就是对“非对称密钥加解密”和“数字摘要“两项技术的应用,它将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。

明文 --> hash运算 --> 摘要 --> 私钥加密 --> 数字签名

数字签名有两种功效:

注意:


5数字证书

为什么要有数字证书?

对于请求方来说,它怎么能确定它所得到的公钥一定是从目标主机那里发布的,而且没有被篡改过呢?亦或者请求的目标主机本本身就从事窃取用户信息的不正当行为呢?这时候,我们需要有一个权威的值得信赖的第三方机构(一般是由政府审核并授权的机构)来统一对外发放主机机构的公钥,只要请求方这种机构获取公钥,就避免了上述问题的发生。

数字证书的颁发过程

用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息(根证书私钥签名)。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布,数字证书各不相同,每种证书可提供不同级别的可信度。

证书包含哪些内容

  • 证书颁发机构的名称

  • 证书本身的数字签名

  • 证书持有者公钥

  • 证书签名用到的Hash算法


验证证书的有效性

浏览器默认都会内置CA根证书,其中根证书包含了CA的公钥

  1. 证书颁发的机构是伪造的:浏览器不认识,直接认为是危险证书。

  2. 证书颁发的机构是确实存在的,于是根据CA名,找到对应内置的CA根证书、CA的公钥。用CA的公钥,对伪造的证书的摘要进行解密,发现解不了,认为是危险证书。

  3. 对于篡改的证书,使用CA的公钥对数字签名进行解密得到摘要A,然后再根据签名的Hash算法计算出证书的摘要B,对比A与B,若相等则正常,若不相等则是被篡改过的。

  4. 证书可在其过期前被吊销,通常情况是该证书的私钥已经失密。较新的浏览器如Chrome、Firefox、Opera和Internet Explorer都实现了在线证书状态协议(OCSP)以排除这种情形:浏览器将网站提供的证书的序列号通过OCSP发送给证书颁发机构,后者会告诉浏览器证书是否还是有效的。

1、2点是对伪造证书进行的,3是对于篡改后的证书验证,4是对于过期失效的验证。

SSL 与 TLS


1SSL (Secure Socket Layer,安全套接字层)

SSL为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取,当前为3.0版本。

SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

2TLS (Transport Layer Security,传输层安全协议)


用于两个应用程序之间提供保密性和数据完整性。

3SSL/TLS协议作用:


  • 认证用户和服务器,确保数据发送到正确的客户机和服务器;

  • 加密数据以防止数据中途被窃取;

  • 维护数据的完整性,确保数据在传输过程中不被改变。


4TLS比SSL的优势


  1. 对于消息认证使用密钥散列法:TLS 使用“消息认证代码的密钥散列法”(HMAC),当记录在开放的网络(如因特网)上传送时,该代码确保记录不会被变更。SSLv3.0还提供键控消息认证,但HMAC比SSLv3.0使用的(消息认证代码)MAC 功能更安全。

  2. 增强的伪随机功能(PRF):PRF生成密钥数据。在TLS中,HMAC定义PRF。PRF使用两种散列算法保证其安全性。如果任一算法暴露了,只要第二种算法未暴露,则数据仍然是安全的。

  3. 改进的已完成消息验证:TLS和SSLv3.0都对两个端点提供已完成的消息,该消息认证交换的消息没有被变更。然而,TLS将此已完成消息基于PRF和HMAC值之上,这也比SSLv3.0更安全。

  4. 一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换的证书类型。

  5. 特定警报消息:TLS提供更多的特定和附加警报,以指示任一会话端点检测到的问题。TLS还对何时应该发送某些警报进行记录。

5SSL、TLS的握手过程

SSL与TLS握手整个过程如下图所示,下面会详细介绍每一步的具体内容:

0?wx_fmt=png


客户端首次发出请求

由于客户端(如浏览器)对一些加解密算法的支持程度不一样,但是在TLS协议传输过程中必须使用同一套加解密算法才能保证数据能够正常的加解密。在TLS握手阶段,客户端首先要告知服务端,自己支持哪些加密算法,所以客户端需要将本地支持的加密套件(Cipher Suite)的列表传送给服务端。除此之外,客户端还要产生一个随机数,这个随机数一方面需要在客户端保存,另一方面需要传送给服务端,客户端的随机数需要跟服务端产生的随机数结合起来产生后面要讲到的 Master Secret 。

客户端需要提供如下信息:

  • 支持的协议版本,比如TLS 1.0版

  • 一个客户端生成的随机数,稍后用于生成”对话密钥”

  • 支持的加密方法,比如RSA公钥加密

  • 支持的压缩方法


服务端首次回应

服务端在接收到客户端的Client Hello之后,服务端需要确定加密协议的版本,以及加密的算法,然后也生成一个随机数,以及将自己的证书发送给客户端一并发送给客户端,这里的随机数是整个过程的第二个随机数。

服务端需要提供的信息:

  • 协议的版本

  • 加密的算法

  • 随机数

  • 服务器证书


客户端再次回应

客户端首先会对服务器下发的证书进行验证,验证通过之后,则会继续下面的操作,客户端再次产生一个随机数(第三个随机数),然后使用服务器证书中的公钥进行加密,以及放一个ChangeCipherSpec消息即编码改变的消息,还有整个前面所有消息的hash值,进行服务器验证,然后用新秘钥加密一段数据一并发送到服务器,确保正式通信前无误。

ChangeCipherSpec


服务器再次响应

服务端在接收到客户端传过来的第三个随机数的 加密数据之后,使用私钥对这段加密数据进行解密,并对数据进行验证,也会使用跟客户端同样的方式生成秘钥,一切准备好之后,也会给客户端发送一个 ChangeCipherSpec,告知客户端已经切换到协商过的加密套件状态,准备使用加密套件和 Session Secret加密数据了。之后,服务端也会使用 Session Secret 加密一段 Finish 消息发送给客户端,以验证之前通过握手建立起来的加解密通道是否成功。

后续客户端与服务器间通信

确定秘钥之后,服务器与客户端之间就会通过商定的秘钥加密消息了,进行通讯了。整个握手过程也就基本完成了。

值得特别提出的是:


其他补充

对于非常重要的保密数据,服务端还需要对客户端进行验证,以保证数据传送给了安全的合法的客户端。服务端可以向客户端发出 Cerficate Request 消息,要求客户端发送证书对客户端的合法性进行验证。比如,金融机构往往只允许认证客户连入自己的网络,就会向正式客户提供USB密钥,里面就包含了一张客户端证书。

PreMaster secret前两个字节是TLS的版本号,这是一个比较重要的用来核对握手数据的版本号,因为在Client Hello阶段,客户端会发送一份加密套件列表和当前支持的SSL/TLS的版本号给服务端,而且是使用明文传送的,如果握手的数据包被破解之后,攻击者很有可能串改数据包,选择一个安全性较低的加密套件和版本给服务端,从而对数据进行破解。所以,服务端需要对密文中解密出来对的PreMaster版本号跟之前Client Hello阶段的版本号进行对比,如果版本号变低,则说明被串改,则立即停止发送任何消息。

6session的恢复

有两种方法可以恢复原来的session:一种叫做session ID,另一种叫做session ticket。

session ID

session ID的思想很简单,就是每一次对话都有一个编号(session ID)。如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双方就可以重新使用已有的”对话密钥”,而不必重新生成一把。

session ID是目前所有浏览器都支持的方法,但是它的缺点在于session ID往往只保留在一台服务器上。所以,如果客户端的请求发到另一台服务器,就无法恢复对话


session ticket

客户端发送一个服务器在上一次对话中发送过来的session ticket。这个session ticket是加密的,只有服务器才能解密,其中包括本次对话的主要信息,比如对话密钥和加密方法。当服务器收到session ticket以后,解密后就不必重新生成对话密钥了。

目前只有Firefox和Chrome浏览器支持。

总结


https实际就是在TCP层与http层之间加入了SSL/TLS来为上层的安全保驾护航,主要用到对称加密、非对称加密、证书,等技术进行客户端与服务器的数据加密传输,最终达到保证整个通信的安全性。

640?wx_fmt=png

版权声明:“并发编程网”所推送文章,除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,我们会在24小时内删除处理,谢谢!^_^15701189222

640?wx_fmt=jpeg
微信号:并发编程网
640?wx_fmt=png 640?wx_fmt=jpeg
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

详解https是如何确保安全的? 的相关文章

  • 基于springboot的校园疫情防控系统【毕业设计,源码,论文】

    想要源码或其他毕设项目 可以私信 摘 要 随着信息技术和网络技术的飞速发展 人类已进入全新信息化时代 传统管理技术已无法高效 便捷地管理信息 为了迎合时代需求 优化管理效率 各种各样的管理系统应运而生 各行各业相继进入信息管理时代 校园疫情
  • Linux下远程git服务器拉取代码发布jar包脚本

    一 yum安装 在Linux上是有yum安装Git 非常简单 只需要一行命令 yum y install git 二 maven安装 参考https www jianshu com p 51e4e84e02cd 三 编写脚本 脚本步骤如下
  • Echarts 地图使用,以及tooltip轮播使用

    一 首先下载Echarts npm install echarts save 二 引入Echarts 全局引入main js中 echarts 4 0 import echarts from echarts Vue prototype ec
  • sql注入-union select

    什么是SQL注入 SQL注入 Sql Injection 是一种将SQL语句插入或添加到应用 用户 的输入参数中的攻击 这些参数传递给后台的SQL数据库服务器加以解析并执行 哪里存在SQL注入 GET POST HTTP头部注入 Cooki
  • 第一次使用Arduino IDE(mac os) 配置合宙ESP32C3(9.9包邮)且烧录代码的历程

    目录 Arduino 配置ESP32 1 Arduino 请更新至最新版 2 科学上网 3 添加开发板管理URL 配置 1 连接开发板 2 Arduino IDE 的配置 3 烧录代码 Arduino 配置ESP32 1 Arduino 请
  • java实现pdf上传、下载、在线预览、删除、修改等功能

    资源下载 pdf上传 下载 在线预览 删除 修改功能源码 最近闲来无事 做了一个pdf的小功能 以供各位大神参考 下面是效果展示图 功能主页 点击上传PDF按钮 上传文件之后 在线预览 开发环境 jdk 1 8 mysql 5 7 开发工具
  • 蓝牙 bluetooth-之一

    蓝牙profile的作用 蓝牙子系统应用程序的交互通过蓝牙profile实现 profile有些文献将其解释为子协议 似乎不是很准确 我依然以profile称呼它 蓝牙profile定义了蓝牙子系统分层结构中的每一层需要具有的功能和特性 G
  • loss.backward() Segmentation fault 段错误

    在运行一个非常简单的深度学习程序的时候 发现运行一段时间会报错 段错误 经过定位发现是执行loss backward 的时候出现的问题 而源码明显是没有什么问题的 具体排查可以这样 gdb args python train py 然后发现
  • CDI(Weld)基础<2> JSF+CDI+JPA项目示例

    2019独角兽企业重金招聘Python工程师标准 gt gt gt CDI可以理解为Spring 但其中的一些功能比spring更强大 灵活 本章是个简单的项目示例 推荐有一定基础的看 1 JPA定义 MVC M Entity public
  • dom型xss ---(waf绕过)

    目录 1 漏洞源码 2 进行绕过 2 1 使用老方法进行绕过 注入失败原因 2 2 分析注入方式 2 3 使用svg进行绕过 方式一 2 3 1 了解什么是dom树 以及dom树的构建 2 3 3 分析img方法失败的原因 可以在页面上添加
  • 二阶段提交java_分布式事务(一)两阶段提交及JTA

    分布式事务 分布式事务简介 分布式事务是指会涉及到操作多个数据库 或者提供事务语义的系统 如JMS 的事务 其实就是将对同一数据库事务的概念扩大到了对多个数据库的事务 目的是为了保证分布式系统中事务操作的原子性 分布式事务处理的关键是必须有
  • 【原生js实现】吃掉病毒,还森林一片祥和

    嗨 大家好 我是法医 一只治疗系前端码猿 与代码对话 倾听它们心底的呼声 期待着大家的点赞 与关注 游戏开始前 请容我感叹一声 掘金活动真多鸭 快卷不过来了 哈哈 其实最近也一直在加班 眼看游戏投稿时间快过去了 当初真想做个小游戏出来参加活
  • 基础编程练习 7-26 单词长度 (15 分)

    这个题的测试用例只卡在了空句子那一个 题目没有明确给出只有一个 的时候 什么也不输出直接结束 C include
  • sublime text中换行符替换成空(mac版)

    sublime text做字符串处理 需要将 xxx xxx xxx 改造为 xxx xxx xxx 1 alt command f 调用替换界面 2 shift command enter 在find what 输入 换行符 3 repl
  • Sqlite 嵌入式数据库移植和使用

    1 源代码的获取 sqlite是一个功能强大 体积小运算速度快的嵌入式数据库 采用了全C语言封装 并提供了八十多个命令接口 可移植性强 使用方便 下载地址 http sqlite org download html sqlite源代码 sq
  • 【Educoder python 作业答案】国防科技大学《大学计算机基础》Python入门-绘制炸弹轨迹 ※

    Educoder python 作业答案 国防科技大学 大学计算机基础 Python入门 绘制炸弹轨迹 第1关 绘制一个坐标点 第2关 绘制n个坐标点 第3关 绘制一条轨迹 第4关 更简单的绘制一条轨迹 第5关 绘制多条轨迹 第1关 绘制一
  • 接口传参时,不写字段,这种格式http://localhost:9000/findData/1 取参

    GetMapping findData id public List
  • 7.GDB与文件IO

    1 GDB 什么是 GDB 调试 1 1 GDB 准备工作 gdb 是一个 shell 指令 必须带有 g 的参数 程序才将调试信息添加到文件中 g g a cpp o a out 先为文件添加调试信息 打开所有的 warning 选项 g
  • C++的类继承与类模板

    类继承是面向对象编程中很重要 也是很难 的内容 其能有效地提高代码复用水平 提高开发的效率 目录 基本概念 公有继承 私有继承 保护继承 包含 多重继承 类模板 基本概念 继承的种类与特点 C 中提供了几种继承 分别为公有继承 public
  • 除自身以外数组的乘积

    目录 1 题目描述 2 题目分析 3 代码实现 1 题目描述 给定长度为 n 的整数数组 nums 其中 n gt 1 返回输出数组 output 其中 output i 等于 nums 中除 nums i 之外其余各元素的乘积 示例 输入

随机推荐

  • 如何选择期权品种

    有朋友问 国内的 疫情目前得到较好的控制 经济也在逐渐恢复运行 国外的疫情在加重 也许会有部分国家经济做阶段停摆 假如上面的成立 我们是不是可以选择一种套利 买入国内经济需求会带动上涨的商品 卖出国外经济下滑会带动下跌的商品 如果这个方案可
  • webpack

    一 是什么 webpack proxy 即webpack提供的代理服务 基本行为就是接收客户端发送的请求后转发给其他服务器 其目的是为了便于开发者在开发模式下解决跨域问题 浏览器安全策略限制 想要实现代理首先需要一个中间服务器 webpac
  • 城市空间数字化浪潮中,万物云以“蝶城”迎“蝶变”

    3月27日 万物云空间科技服务股份有限公司 以下简称 万物云 02602 HK 公布了上市首份年度业绩报告 营收大幅增长 毛利稳定 蝶城模式初步得到验证 财报显示 2022年 万物云营收301亿元 同比增长27 0 毛利为42 31亿元 同
  • 50 Kick-Ass Websites You Need to Know About

    http www maximumpc com 50 kick ass websites you need to know about page 1 It s time to update the entries in your browse
  • 铨顺宏RFID:电子汽车车牌系统具有RFID识别功能

    大城市的车辆数目持续提升 车辆管理方法一直是城市公共交通中的一个关键步骤 RFID系统对车辆开展合理的管理方法 迅速 全自动地鉴别车辆的真实身份 已变成车辆管理方法的关键方式 智能化电子车牌号融合了一般车牌号自动检索和收集的特性 融合RFI
  • 投递简历2500份,46次面试,只拿到了1个offer,IT行业怎么了?

    7月14日 一位被Meta解雇的PM 产品经理 在网上发布的一段文字 标题为 2500 Job apps 46 interviews 1 offer 就这件事以及CSDN发布的 2023中国开发者调查报告 和香帅的 2023年度演讲 聊聊目
  • Blockly 的配置

    本文基于Web Blockly 整理一下可视化编程工具 Blockly 的常用配置 包括 工作区配置 添加自定义块 配置工具箱 配置代码生成器等 固定尺寸工作区 可调尺寸工作区 添加自定义块 Block 工具箱 Toolbox 配置 代码生
  • Python 学习个人备忘录

    学习 Python 那么久 总有记不住的东西 用时到处找 实是不智 思索良久 刚才脑中闪现 在CSDN留个备忘 方便用时查找 2021 11 22 11 59AM 学习的细节是欢悦的历程 Python 官网 https www python
  • 数据库 对于索引的理解

    今天 看了下oracle数据库的索引 我一直不理解索引的机制到底是什么 正好看到了一篇博客 对理解索引有一定的好处 参考文献 https www cnblogs com java learner p 9567456 html
  • leetcode---链表类型---每日一题---第141题

    1 今日题目 第141题 环形链表 2 题目要求如下 给你一个链表的头节点 head 判断链表中是否有环 如果链表中有某个节点 可以通过连续跟踪 next 指针再次到达 则链表中存在环 为了表示给定链表中的环 评测系统内部使用整数 pos
  • 【车载以太网测试从入门到精通】——DoIP BootLoader刷写(含CAPL源码)

    系列文章目录 车载以太网测试从入门到精通 系列文章目录汇总 文章目录 系列文章目录 前言 一 DoIP刷写环境搭建 二 DoIP刷写工程使用方法 三 DoIP刷写CAPL源码 四 刷写工程下载链接 前言 DoIP概述 DoIP Diagno
  • C++之模板

    目录 前言 一 模板 1 1 模板的概念 1 2 函数模板 二 模板案例1 案例描述 三 普通函数与函数模板的区别 四 普通函数与函数模板的调用规则 五 模板具有局限性 六 类模板的作用 七 类模板中成员函数创建时机 八 类模板对象做函数参
  • k8s出现问题导致cpu使用率过高

    今天突然发现k8s的dashboard很卡 进到master节点 用top命令查看 发现如下信息 cpu使用率很高 主要是si 软中断 占用了80 iptables命令是占用cpu最高的 于是用iptables L命令查看iptables规
  • TCP的特性(包含三次握手、四次挥手问题)

    目录 TCP协议基础 一 确认应答 可靠性的核心 1 原理 2 其他场景 二 超时重传 可靠性 三 连接管理 三次握手 四次挥手 可靠性 1 三次握手 如何建立连接 2 四次挥手 如何断开连接 四 滑动窗口 效率 1 传输原理 2 窗口范围
  • html网页设计导航栏制作教程,使用CSS制作立体导航栏

    css制作的立体导航栏 具体实现代码如下所示 CSS制作立体导航 body background ebebeb nav width 560px height 50px font bold 0 50px Arial text align ce
  • numpy 中常用的数据保存、fmt多个参数

    在经常性读取大量的数值文件时 比如深度学习训练数据 可以考虑现将数据存储为Numpy格式 然后直接使用Numpy去读取 速度相比为转化前快很多 一 保存为二进制文件 npy npz 1 numpy save file arr allow p
  • 史上最全的KVM虚拟化部署(一)

    目录 1 kvm简介 首先 查看cpu是否支持虚拟化 2 kvm安装过程 a 防火墙优化 b 安装kvm组件 c 开启libvirtd服务 d 设置KVM网络为桥接 3 kvm管理 上传系统iso镜像到宿主机里 4 后半部分可以参考我的其他
  • 求职面试之项目经验介绍总结

    项目经验介绍 一定要突出 经验 二字 自己在工作 发现问题 并解决问题的过程 显得尤为珍贵 一般面试官会问到这个项目的整体架构如何 模块之间如何交互 遇到的最大难题是什么 如何解决 哪些问题是你发现并解决的 面试官通过这些问题 就可以考察求
  • Mathematica应用实例——输出二项分布的概率密度函数图(PDF of Binomial Distribution)

    在Excel中绘制二项分布的概率密度函数图 需要先使用公式制作数据集 然后基于数据集进行绘图 在Mathematica中 仅需一行命令即可 两者所需时间不是一个数量级 Mathematica代码 ListPlot Table k PDF B
  • 详解https是如何确保安全的?

    Https 介绍 1什么是Https HTTPS 全称 Hypertext Transfer Protocol over Secure Socket Layer 是以安全为目标的HTTP通道 简单讲是HTTP的安全版 即HTTP下加入SSL