解密步骤

对于一个解密案例,我们的步骤是:

抓包->调试->扣js->改写->本地运行出值->最后能请求服务器拿出值

一些常见的加密方式

加密方式有很多,千奇百怪,这里只介绍一点点。

取盐校验

md加密

md5 md2 md4等
16位 32位 40位不可逆,非对称。

这些加密算法是一种摘要算法,就是把明文中的一些东西摘出来然后进行加密,是不可逆的。(最终也是16进制的)

我们需要记住的是常见的,比如123456md5加密之后就是

49ba59abbe56e057,这是16位的。具体加密结果如下图:

javascript des加密 解密 js加密解密算法_javascript des加密 解密


可以看到,还有32位加密,但是其中包含了一段部分是和16位加密的结果是一模一样的。所以32位加密就是16位加密之前多了一点东西。

所以我们要记住这个特殊的123456的加密结果是49ba59开头的就行。我们可以根据这个密文是不是49ba59开头或者包含(第7位算起)49ba59来判断该网站是否是md5加密。

明文:123456
密文:
MD5:49b开头
     e10开头

sha加密

sha1 sha256 sha512加密
这种加密sha1为40位 sha256为64位 sha512为128位,不可逆
由于也是那种摘要加密,取盐校验所以不可还原

明文:123456
密文:
 sha1:7c4a8d09ca3762af61e59520943dc26494f8941b
	  7c开头 
 sha256:8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
 sha512:ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413

对称加密

AES DES 3DES加密

这些都是对称加密,其秘钥只有一个,明文可以通过秘钥转化为密文,密文可以通过同一个秘钥还原成明文

非对称加密

RSA加密

这种往往都有两个秘钥,一个公钥一个私钥,公钥是客户端服务器都有的,私钥是只有服务器拥有。
明文可以通过秘钥转变成多个密文,多个密文也可以通过秘钥还原成明文。

一些加密的特点

16进制

密文由0-9 a-f组成
一般满足16进制了,但是没有49ba开头,那基本上就是下面的对称式或非对称式(aes des 3des rsa)加密了
(这里为什么说是49ba开头,因为我们输入的是123456呀)

base64编码

密文由a-z A-Z 0-9 + _ = =号组成,而且结尾往往都是=号结尾

这种的往往就是后面的对称式或者非对称式加密。