栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python爬虫js进阶基础|常见的加密算法|md5、对称加密、非对称加密、base64、https、ca证书

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python爬虫js进阶基础|常见的加密算法|md5、对称加密、非对称加密、base64、https、ca证书

目录
  • 常见的加密算法
    • Md5
    • DES/AES对称加密
      • AES和DES的区别
    • RSA加密(非对称加密算法)
    • base64伪加密
    • https加密

常见的加密算法 Md5

线性散列算法,可以产出一个128位(16字节)的散列值,且MD5加密后产生的是一个固定长度(32位或者16位)可知,当在逆向时,看到32位或者16位时可以猜测是用的MD5加密算法

DES/AES对称加密 AES和DES的区别

DES全称Data Encryption Standard,即数据加密标准,是一种使用秘钥加密的算法,是一种对称加密算法
1.加密后密文长度的不同:
DES加密后密文长度是8的整数倍
AES机密后密文长度是16的整数倍

2.应用场景的不同:
企业级开发使用DES足够安全
如果要求高使用AES

使用DES/AES进行数据交换时要求双方都拥有相同的私钥
DES和AES切换只需要修改CryptoJS.AES<=>CryptoJS.DES

  
	
	

总结:看见CryptoJS.DES.decrypt或者CryptoJS.DES.encrypt则为非对称加密算法

RSA加密(非对称加密算法)

非对称加密算法需要两个密钥
公开密钥

总结:在js代码中看见setPublicKey或者setPrivateKey则是使用了RSA进行了非对称加密

私钥是通过公钥计算生成的

公钥私钥可以在线生成:
http://web.chacuo.net/netrsakeypair/

base64伪加密

base64是一种64个字符来表示任意二进制数据的方法。base64是一种编码方式而不是加密方式。只是看上去像是个加密而已。
base64使用A–Z,a–z,0–9,+,/这64个字符实现对数据进行加密

总结:当在阅读js代码时,看到base64字眼时,使用了伪加密

https加密

https是基于http和SSL/TLS实现的一个协议,他可以保证在网络上传输的数据都是加密的,从而保证数据安全。

1.http协议是不安全的。
在https诞生前,所有网站都是http协议,而http数据传输都是明文,所有可能存在数据泄露和篡改。

2.使用对称秘钥进行数据加密
为了防止数据泄露和篡改,我们对数据进行加密,如:生成一个对称密码,对该秘钥分别交给浏览器和服务端,他们之间传输的数据都是使用对称秘钥进行加密和解密
缺点:如何把秘钥传给服务器?每个客户的对称秘钥相同,浏览器能拿到对称秘钥,那么黑客也可以拿到,所以,数据加密也没有意义了。

3.动态对称秘钥和非对称秘钥
为了解决对称秘钥动态性以及让客户端和服务端安全的获取对称秘钥,可以引入非对称秘钥机制。

总结:因为直接给服务器发送对称秘钥很危险,所以先让服务器生成一个公钥和私钥,并将公钥发给客户端。
客户端生成对称秘钥,用服务器给的公钥把生成的对称秘钥进行加密,之后把加密后的对称秘钥再发送给客户端。客户端使用非对称秘钥进行解密,再使用对称秘钥加密发送数据给客户机,客户机再使用对称秘钥进行解密

缺点:在服务器传给公钥给客户机时,黑客可以拿到公钥,冒充修改自己的公钥是服务器的公钥。所以使得后续加密都不安全了。
4.CA证书的应用

总结:找一个信得过的认证机构,给服务器的公钥做一个认证,证明这个公钥是该服务器的,客户机只需要向认证机发送请求验证该公钥是不是服务器的,即可解决黑客冒充该公钥。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/341862.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号