前言https、SSH协议和MD5加密是前端可能接触到的加密,这里总结一下。1.https1.1原理A.是在http的基础上增加了SSL层,是http安全的基础;B、htts协议是在http的基础上增加的SSL协议;C、使用443端口,http为80端口;D.由Netscape开发并内置于浏览器中;1.2功能A.建立信息安全通道,保障数据传输安全;B、确认网站真实性,可以查看网站认证的真实性;1.3核心是SSL层A.定位:安全层,介于TCP和IP之间;B.分类:SSL记录协议:建立在TCP之上,为数据提供数据封装、压缩、加密;SSL握手协议:建立在记录上,数据传输前,双方进行身份验证,协商加密算法,交换密钥;C.SSL服务器认证过程:客户端向服务器发送请求,判断是否需要生成新的主密钥,如果需要,返回客户端收到的信息,生成主密钥,加密传输与公钥。服务器还原主密钥并返回认证消息1.4SSL协议.SSL协议包括:握手(证书交换和验证)和记录协议(数据加密);B.SSL握手协议流程:1.客户端发送SSL版本号、算法类型、产生的随机数等;2、服务器发送服务器的SSL协议版本号、算法类型和证书(里面有公钥);3、客服验证;4.验证通过随机生成对称密码,公钥加密生成预主密码,并传输到服务器;5.服务端可以请求身份验证,包括客户端证书和签名随机数;6、验证通过:服务器使用私钥解开密码,生成对称密钥;7、客服端发消息确认后续数据采用本次通信;8、服务器端响应C整个过程涉及3次请求3次响应1.5搭建https网站可能更多的是后台技术,这里贴个链接。想了解更多可以进去阅读:如何申请https证书,搭建https网站2.SSH2.1概念非对称加密,包括传输层、用户认证和连接协议2.2原理A,生成一个计算机a中的一对公钥和私钥B,保持私钥不变,将公钥发送给计算机b,公钥很复杂,即使过程被盗,第三方也看不懂是什么意思C,a和b第一次尝试通信,a发送的内容被a保存的私钥加密,加密后的文件在网络D中传输,b也会用公钥解密上的内容结束。如果两台计算机可以形成亲密关系E,则a和b发送消息,并使用私钥和公钥进行数据加密和解密操作。2.3应用比较普遍。关系A.本地密钥生成:ssh-keygen-trsaB。密钥生成在c盘,公钥方法保存在github中,接下来通信可以使用SSH通信使用ssh连接gitHub3.MD53.1。概念信息摘要算法3.2.特点A.MD5加密输出为32位字符串;B、同样的内容经过MD5加密后,得到的内容是一样的;C.MD5无法逆向解密,只能暴力碰撞破解(即尝试32位密码);D.为了防止暴力破解,可以加盐;E.这应该是前端使用的加密数据的方式;3.3.使用方法:A.下载npmi-Sblueimp-md5;B.导入包C.加密方式:普通加密:varval=md5('value');加盐:varval=md5('value','这是第一个加盐过程');4.SSL、SSH和md5对比1.SSL是一个独立的安全层加密协议;它位于TCP(应用层)和IP(网络层)之间;只起到数据加密和校验的作用;2.SSH具有加密、连接和认证功能,也是A协议;3、md5简单说就是加密数据传输或存储在数据库中;4、最本质的区别:SSL和SSH是一种协议,而md5是一种数据加密方式;题目定义有误。感谢@木门Pluto@Nitron@cevin的建议。现在文章的标题已经修改。我很高兴你还能在这里看到它。欢迎交流。这种一般面试都会问的,可以先Bookmark一下。参考文章:如何申请https证书并使用ssh连接gitHub搭建https网站
