首页 > 其他分享 >https原理究极学习笔记

https原理究极学习笔记

时间:2023-03-10 10:34:14浏览次数:28  
标签:究极 公钥 私钥 解密 笔记 密钥 https 加密

介绍

相信很多人,对https的过程不清楚,只是知道https是安全加密的,背后的原理,过程并不清楚

我曾经也是对https的过程并不清楚,一知半解,而且最可气的是每次面试,面试官很可能就问你这个问题

每次都答不对或者答的面试官不满意,说来说去,还是自己没有真正理解

其实https的原理过程,并没有那么复杂,只是有些文章没有说清楚,这样的多了,就迷糊了。

在了解https原理的过程之前,我们先来了了解一下加密的知道

加密知识

加密按照加密方式,可以分为以下三种方式

1.1 单向加密

也叫做不可逆加密,对明文的加密产生一个密文,并不能再通过密文解出来对方的明文,典型的不可逆算法就是MD5

一般用于产生消息摘要,密钥加密等,常见的单向加密有:

  • MD5: 相信 这个大都熟悉了,一个明文,MD5以后,对应一个唯一的密文
  • SHA: 其中又分为sha192,sha256

特点

1.不可逆
2.输入一样,输出必然相同

1.2对称加密

对称加密,用一个密钥,对明文进行加密,同理,同这把密钥,也可以对密钥进行解密

也就是说加密和解密,可以用同一个密钥

常用的对称加密方法有:

  • DES
  • 3DES
  • AES

特点:

1.加密方和解雇使用同一密钥
2.加密解密的速度比较快

1.3非对称加密

我们知道,对称加密使用同一把密钥,相反,非对称加密,使用公钥和私钥加密解密
可以使用私钥加密,公钥进行解密,同理,也可以使用公钥加密,私钥进行解密
常见非对称加密方式的有:

  • RSA
  • DSA

我们常用的就是RSA

特点

1.使用两把密钥进行加密和解密,即公钥和私钥
2.公钥加密私钥解密,私钥加密公钥可以解密
3.加密或者解密,速度非常慢
4.私钥和公钥是成对出现的

二 加密知识总结

单向加密:

不可逆,只要输入的内容一样,输出的密文一定是一样的,有任何修改,产生的密文都是不同的

对称加密

对称加密:加密和解密使用同一把密钥,加密解密速度特别快

非对称加密

使用公钥和私钥进行加密和解密,公钥加密私钥解,私钥加密公钥解,私钥加密公钥解。加密解密过程非常慢

所谓公钥,就是可以公开给别人的

所谓私钥,就是不可以公开给别人,是自己私有保留的。

注: 以上内容,纯粹是加密的知识,和https没有任何关系。下面我们开始讲解https的过程。我们先看一个需求

解决了这个需求,就明白了https的过程了。

从一个需求开始

假设有这样一个需求:小明和小花需要通信,少男少女写情书嘛,肯定不想让别人看到,所以需要安全的通信。

标签:究极,公钥,私钥,解密,笔记,密钥,https,加密
From: https://www.cnblogs.com/guozhiqiang/p/17202394.html

相关文章

  • pytorch中GroupNorm的使用(笔记)
    不使用BatchNorm的原因  相比起batchNorm,groupNorm对一个batch的size更不敏感。在现有的研究中,batchNorm在batchsize越大的情况下,效果更佳,batchsize=32的情况明显优于ba......
  • opencv初学笔记
    黑马程序员【黑马程序员人工智能教程_10小时学会图像处理OpenCV入门教程】https://www.bilibili.com/video/BV1Fo4y1d7JL?vd_source=2f130c342f954b6e380a92c05c8b4252......
  • 算法基础课笔记:第一章,基础算法 排序 + 二分
    这节课的内容排序快排归并排序二分整数二分浮点数二分如何提高自己敲模板的熟练度呢?反复的练,孰能生巧。重复3-5次。快排1.确定分界点2.调整区......
  • 数据分析基础笔记 - 数据清洗
    一、读取文件,预处理数据集数据清洗就是对数据的质量进行检查和处理。脏数据定义:由于记录或者储存的原因,导致部分数据缺失、重复、异常、错误,没有分析意义,就叫做“脏数......
  • [学习笔记]《C++ Primer》第七章 类
    thisthis是常量指针,指向非常量版本的类MyClass*const成员函数(memberfunction)所有成员都必须在类的内部声明,但成员函数体可以定义在类内或类外。->成员函数的调用:调......
  • 3.9笔记
    createdatabasenidaye;创建nidaye的数据库showdatabases;查看所有数据库usenidaye;使用你自己的数据库showtables#查看当前数据库下所有的表整数:int小数float日期......
  • 【WinForm】 自学笔记二:连接数据库以及查询结果显示
    本次使用 SqlConnection来连接数据库,使用DataGridView来显示查询的结果。最终效果如下:  一、连接数据库1.获取连接数据库所需的字符串,包括服务器名称,数据库名称......
  • [machine-learning学习笔记]逻辑回归
    逻辑回归目的:分类一、Sigmoid函数​ 公式如下:\[g(z)=\frac{1}{1+e^{-z}}\]​ 图中\(Sigmoid\)函数将任意输入映射到\([0,1]\)区间,我们通过线性回归的到预测值,再......
  • GO语言学习笔记-接口篇 Study for Go ! Chapter six - Interface
    持续更新Go语言学习进度中......GO语言学习笔记-类型篇StudyforGo!Chapterone-Type-slowlydance2me-博客园(cnblogs.com)GO语言学习笔记-表达式篇Study......
  • FLINK实时数仓笔记2
    离线架构优点:耦合性能低,稳定性高缺点:时效性差一点说明:1.项目经理(架构师)是大公司出来的,追求系统的稳定性2.耦合性低,稳定性高3.考虑到公司未来的发展,数据量一定会变得......