【Python小工具】爬虫之破解RSA加密详解

一、基本介绍

二、具体步骤

1.数据解析——获取参数

这里还是使用xpath,因为这个不需要怎么学,操作步骤如下: ⭕️:这里要注意,XPath获取的是列表,需要取第[0]个元素才是具体值,且获取的值是字符串!

2.数据加密——使用RSA加密模块

这里我使用的模块是rsa,跟有一些博主使用的不同,导入如下:

然后就进行加密,如下所示:

3.POST请求——获取登陆后网页

最后只要携带表单数据,发起POST请求就可以获取登陆后的网页啦!

三、注意事项

1.Cookie问题

因为涉及多次请求,一定要保证前后携带的Cookie保持一致!否则就请求不到登陆后的页面

2.RSA模块的使用

因为网络上有很多教程,但是都是以结果为导向的,不介绍怎么知道这些函数怎么用的,注释也不详细。我也是请求大佬才明白如何给函数传递正确参数。 而授人以鱼不如授人以渔,因此我下面会详细介绍我是如何了解 一个陌生的rsa 模块中加密函数的使用。


首先肯定要导入一个你中意的库,然后使用其加解密函数,由于我的需求很简单:只需要进行加密,得到加密后的密文即可。因此我参考的是这篇博客: 然后进入想要了解的函数,查看具体源代码,示例如下:

点进去之后,看到结果如下图所示,可以发现这里第二个参数就是公钥,且是一个非基本数据类型,所以再Alt + 鼠标左键点击该类型,查看它的初始化方法即可知道要传递哪些类型参数

然后发现这个类型还继承自一个父类,再次进入查看该父类

在父类中找到该类的初始化方法,这下就了解要传递哪些参数了!

从上面可知,要分别传递int 型参数 n 和 e ,从而初始化一个AbstractKey实例(但要作为Publickey实例使用),因此改变最开始使用的别人博客里的代码:

⭕️特别注意,原本使用rsa.encrypt 加密后得到的是二进制数,这里根据需要,我将其转换为了十六进制。

经验分享 程序员 微信小程序 职场和发展