前言

https,SSH协议和MD5加密是前端可能会接触到的加密,所以我就将他们进行了一个归纳.

1.https

1.1原理

A.就是在http加入SSL层,是http安全的基础;
B.htts协议是在http基础上加了SSL协议;
C.使用443端口,http是80端口;
D.由网景公司开发并内置在浏览器中;

1.2作用

A.建立一个信息安全通道,来保证数据传输的安全;
B.确认网站的真实性,可以查看网站认证的真实性;

1.3核心是SSL层

A.位置:是一个安全套层,是介于TCP?IP之间;
B.分类:
SSL记录协议:建立在TCP之上,为数据提供数据封装、压缩、加密;
SSL握手协议:建立在记录之上,数据传输之前双方的身份验证、协商加密算法、交换密钥;
C.SSL服务器认证过程:
客户端发送请求
服务器判断是否需要生成新主密钥,需要则返回
客户端收到信息,产生一个主密钥,并用公钥加密传输
服务器恢复该主密钥,并返回一个认证信息

1.4 SSL协议

A.SSL协议包括:握手(凭证交换和验证)和记录协议(数据进行加密);
B.SSL握手协议过程:
1.客服端发送SSL的版本号,算法种类,产生的随机数等;
2.服务器发送服务器的SSL协议的版本号,算法种类和证书(里面有公钥);
3.客服端验证;
4.验证通过随机产生对称密码,公钥加密产生预主密码,传输给服务器;
5.服务器可以要求验证身份,包括客户证书和签名随机数;
6.验证通过:服务器用私钥解开密码,对称密钥产生;
7.客服端发信息确认后面数据采用该通讯;
8.服务器端回应
C.整个过程涉及到3次请求,3次响应

1.5 搭建https网站

这个可能更多是后台技术,所以我在这里贴一个链接,如果想了解的可以进去看:
如何申请https证书、搭建https网站

2.SSH

2.1 概念

非对称性加密,包括传输层,用户认证和连接协议

2.2 原理

A,在a计算机中产生一对公钥和私钥
B,私钥不动,把公钥发送给计算机b,公钥很复杂,就算过程被窃取,第三方不懂什么意思
C,a和b首次进行尝试通讯,a发送的内容通过a存放的私钥进行加密,在网络中进行密文件传输
D,b也会对该端内容使用公钥解密,如果能两台计算机就结成亲密关系
E,以后a和b发送消息用私钥和公钥进行数据加密解密操作

2.3 应用

比较常见一个应用是和github建立一个友好关系
A.本地生成密钥:ssh-keygen -t rsa
B.密钥生成再c盘,将公钥方法github中,然后下次通讯就可以用SSH通讯
使用ssh连接gitHub

3.MD5

3.1.概念

信息摘要算法

3.2.特性

A.MD5加密输出是32位字符串;
B.相同的内容使用MD5加密后,得到的内容一样的;
C.MD5无法反向解密,唯一就是暴力碰撞破解(就是试32位密码);
D.为了防止暴力破解,可以加盐处理;
E.这个应该就是前端用的比较多的对数据加密的方式;

3.3.使用方法:

A.下载 npm i -S blueimp-md5;
B.引包
C.加密方式:
普通加密:var val=md5('value');
加盐:var val=md5('value','这是第一次加盐处理');

4.SSL,SSH和md5的对比

1.SSL是一个独立的安全套层加密协议;
位于TCP(应用层)和IP(网络层)之间;
只是起到将数据加密和验证作用;
2.SSH有加密,连接和认证功能,也是一种协议;
3.md5只是简单讲数据加密传输或者被存贮到数据库;
4.最本质的区别:SSL,SSH是一个协议,而md5是一种数据加密方式;

5.结语

刚开始由于自己题目定义有错误,在这里感谢@暮尘Pluto @Nitron @cevin提出的建议,现在已经对文章标题进行了修改.
很开心你还能看到这里,欢迎交流,这种一般面试会问到,可以先收藏着.

参考文章:使用ssh连接gitHub
如何申请https证书、搭建https网站

常见https,SSH协议和MD5加密方式分析的更多相关文章

  1. android环境下两种md5加密方式

    在平时开发过程中,MD5加密是一个比较常用的算法,最常见的使用场景就是在帐号注册时,用户输入的密码经md5加密后,传输至服务器保存起来.虽然md5加密经常用,但是md5的加密原理我还真说不上来,对md ...

  2. MD5加密方式

    MD5加密是一种安全系数比较高的加密方式,具有不可逆的加密特征,就是很难进行破解,现在对MD5加密进行破解的方式还是采用跑数据库的方式,时间比较长,耗费性能比较大,所以一般的破解都是要收费的. C#中 ...

  3. c#进行MD5加密方式和解密算法

    --------------- 因为加密个解密都需要用到key所有在加密的后需要把key和加密码都存到数据库中 /// <summary> /// 唯一加密方式 /// </summ ...

  4. 【SSH/SFTP】SSH协议和SFTP

    [SSH和SFTP] ■ 设置一个只允许访问部分目录的SFTP服务器 由于SSH和SFTP之间的紧密联系,一个SFTP服务器必然会导致开放一定的SSH服务,而SSH的风险显然比SFTP要大一些.自然, ...

  5. ASP.NET中MD5的加密方式很简单

    在ASP.NET中MD5的加密方式很简单,代码如下: FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5&quo ...

  6. thinkphp整合系列之支付宝RSA加密方式

    thinkphp整合系列之支付宝RSA加密方式上篇博客写的是MD5加密方式:thinkphp整合系列之支付宝MD5加密方式扫码支付http://baijunyao.com/article/75 但是呢 ...

  7. 【信息安全】MD5加密浅析

    前段时间,网传京东泄露了几G的用户数据,后面又说用户数据是MD5加密的,让大家不要担心,改个密码之类云云. 出于好奇,上网了解了一下这个MD5. 一.MD5加密方式是什么 简单讲,MD5加密是一个用到 ...

  8. java和c# md5加密

    MD5加密的方式有很多,加盐的方式更多,最近项目需要java和c#加密结果一致,形成方法如下: 1.c#加密方法/// <summary> /// MD5 加密字符串 /// </s ...

  9. Java 语言实现 MD5 加密

    Java 语言实现 MD5 加密 背景说明 在实际项目中,为了安全性考虑,经常要求账号密码是以加密后的密文形式,保存到数据库中. 这样,即使有人获取到了数据库中的密文密码,也不知道明文密码信息是什么, ...

随机推荐

  1. Excel小技巧(随机点名)

    如图,想要做一个随机点名的表格,同样可以石头剪刀布的场合,随机选人. 如何做呢? 第一步,填好想要的数据 第二步,在空的位置输入=INDIRECT("A"&RANDBETW ...

  2. 获得http请求的RequestID

    firefox: F12---network---响应, 请求一个页面:

  3. (模板)hdoj5977 Garden of Eden(点分治)

    题目链接:https://vjudge.net/problem/HDU-5977 题意:给一颗树,每个结点上有一个权值a[i],a[i]<=10,求有多少条路径满足这条路径上所有权值的结点都出现 ...

  4. 【转帖】 解开龙芯与mips4000的关系

    -- 苏联给的套件,我们只要把电子管插上就好. -- 千万次机器,不晓得来源 DJS-130系列,16位小型机,仿造美国NOVA DJS-180系列,超级小型机,仿造美国DEC VAX, 能跑DEC的 ...

  5. Spark性能调优:广播大变量broadcast

    Spark性能调优:广播大变量broadcast 原文链接:https://blog.csdn.net/leen0304/article/details/78720838 概要 有时在开发过程中,会遇 ...

  6. win32多线程: 线程创建与结束等待

    #include<Windows.h> #include<iostream> using namespace std; /*1.在启动一个线程之前,必须为线程编写一个全局的线程 ...

  7. Spring Boot源码分析-启动过程

    Spring Boot作为目前最流行的Java开发框架,秉承"约定优于配置"原则,大大简化了Spring MVC繁琐的XML文件配置,基本实现零配置启动项目. 本文基于Spring ...

  8. go 常量

    // 参考:https://studygolang.com/articles/15905?fr=sidebar // iota迭代定义常量 //const配合iota关键字使用,可以定义一组由0开始+ ...

  9. (转)关于Android中为什么主线程不会因为Looper.loop()里的死循环卡死?引发的思考,事实可能不是一个 epoll 那么 简单。

    ( 转载请务必标明出处:http://www.cnblogs.com/linguanh/, 本文出自:[林冠宏(指尖下的幽灵)的博客]) 前序 本文将会把一下三个问题阐述清楚以及一个网上的普遍观点的补 ...

  10. SpringBoot 初入门

    SpringBoot 初入门 关于介绍什么之类的就不讲了,主要做一下学习记录. 1. 启动方式 IDEA 启动 命令行启动: mvn spring-boot:run 部署到服务器启动: 先进行打包, ...