常见加密方式
- 逆向就是处理爬虫过程中数据的加密解密,和一些动态变化参数的处理
- 客户端请求到的服务器数据是加密过的,之所以我们能看到明文是因为在浏览器做了解密
- 同样,我们也能模仿浏览器的方式,通过 JS 加密解密数据,但在此之前,需要先了解常见的加密算法,能够根据关键字判断使用了何种加密手段,才能模仿
- 常见加密方式
- 线性散列算法(签名算法)MD5
- 对称加密算法 AES/DES
- 非对称性加密算法 RSA
- 在前端,加解密和动态请求参数都是由 JS 完成,所以也叫 JS 逆向
- 加密主要是为了避免明文传输,明文操作只在 server 端进行
MD5
- 一种被广泛使用的线性散列算法,可以生成一个128位(16字节)的散列值(hash value),用于确保信息传输完整的一致性(这个不重要)
- MD5加密之后生成的数据都是固定长度(32位或16位),无论被加密数据多长
- 故,看到了长度为32位的密文数据,则极有可能是通过md5算法进行的加密
- 解密
- 常规讲MD5是不存在解密的。但是理论上MD5是可以进行反向暴力破解的
- 暴力破解的大致原理就是用很多不同的数据进行加密后跟已有的加密数据进行对比,由此来寻找