怎么证明前端数据加密的三种方式
创始人
2024-02-18 07:51:36
0

导读:前端最常见的三大加密方式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次响应
2.SSH
2.1概念
非对称性加密,包括传输层,用户认证和连接协议
2.2原理
A,在a计算机中产生一对公钥和私钥
B,私钥不动,把公钥发送给计算机b,公钥很复杂,就算过程被窃取,第三方不懂什么意思
C,a和b首次进行尝试通讯,a发送的内容通过a存放的私钥进行加密,在网络中进行密文件传输
D,b也会对该端内容使用公钥解密,如果能两台计算机就结成亲密关系
E,以后a和b发送消息用私钥和公钥进行数据加密解密操作
2.3用法
A.本地生成密钥:ssh-keygen-t rsa
B.密钥生成再c盘,将公钥方法github中,然后下次通讯就可以用SSH通讯
3.MD5
3.1.概念
信息摘要算法
3.2.特性
A.MD5加密输出是32位字符串;
B.相同的内容使用MD5加密后,得到的内容一样的;
C.MD5无法反向解密,唯一就是暴力碰撞破解病历(就是试32位密码);
D.为了防止暴力破解,可以加盐处理;
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只是简单讲数据加密传输或者被存贮到数据库;

 

1、md5加密:md5.js

md5.js 共有6中加密方法:hex_md5(s), b64_md5(s), str_md5(s), hex_hmac_md5(key, data), b64_hmac_md5(key, data), str_hmac_md5(key, data)

 

var pwd = hex_md5("val"); // val表示加密前的值

console.log(pwd); // pwd表示加密后的值

2、base64加密:base64.js

var b = new Base64( );

var str = b.encode("admin:admin"); //加密

var str1 = b.decode(str); //解密

console.log(str);

console.log(str1)

3、sha1加密:sha1.js

var sha = hex_sha1('mima123465');

console.log(sha);

4、RSA加密:jsencrypt.js

var str = "密码";

// 公钥 var publicKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoG"

// 私钥 var privateKey =  "DANBgkqhkiG9w0BAQEFAASCAl"

加密

var encrypt = new JSEncrypt();

encrypt.setPublicKey(publicKey);

var encryptStr = encrypt.encrypt(str);

console.log("加密后:" + encryptStr);

解密

var decrypt = new JSEncrypt();

decrypt.setPrivateKey(privateKey);

var decryptStr = decrypt.decrypt(encryptStr);

console.log( "解密后:" + decryptStr);

相关内容

热门资讯

浙江开展规范法律咨询服务机构专... 近日,浙江省司法厅、省公安厅、省市场监管局联合开展规范法律咨询服务机构专项行动,对法律服务乱象重拳出...
涉嫌职务侵占 国元证券保代被移... 日前,上市公司司尔特发布公告称,收到宣城市公安局送达的《移送审查起诉告知书》和宣城市人民检察院送达的...
推荐深圳婚姻财产律师怎么选择,... 深圳婚姻财产律师怎么选?许阿赛律师为您解惑 在深圳这座充满活力与机遇的城市,婚姻财产纠纷时有发生。当...
技术合同纠纷:已书面确认过技术... 已书面确认过技术交接的当事人主张合同目的不能实现、要求解除合同,如何认定? 在转化义务方因交付原始资...
皇庭国际重大诉讼进展:一审胜诉... 深圳商报·读创客户端记者 李耿光 在深圳皇庭广场作价30.53亿元抵债易主后,皇庭国际又披露了重大诉...
专业文章丨计算机软件开发合同纠... 【珠海律师、珠海法律咨询、珠海律师事务所、京师律所、京师珠海律所】 (本文转载自北京市京师律师事务所...
德赛电池:锂电池出口管制相关政... 每经AI快讯,有投资者在投资者互动平台提问:锂电池出口管制是否对公司营收产生影响? 德赛电池(000...
澳大利亚央行:未来政策决策需谨... 根据澳大利亚央行10月14日发布的9月货币政策会议纪要,货币政策委员会成员同意无需立即降低隔夜拆款利...
UL60745标准法规要求 在电动工具行业中,UL60745标准是一个重要的安全规范,涉及电动手持工具的设计、制造和测试要求。很...
人才招募计划 | 欢迎加入京师... 【珠海律师、珠海法律咨询、珠海律师事务所、京师律所、京师珠海律所】 北京市京师(珠海)律师事务所(以...