最近在使用 python 做一个爬虫模拟登录某个网站。发现该网站模拟登录请求的报文是加密的,通过查看 js 发现该加密方式应该使用的是国密算法 sm2 ,用的包应该是sm-scrpto,也找到了公钥字符串。
我只有两种思路
第一种方式就是通过 PyExecJS 等方法加载 js 文件获取密文,只是原网站是经过混淆的。
第二种就是我直接在 python 端通过gmssl 库实现加密,但是我发现 gmssl 实例化的时候需要同时传入私钥和公钥。
现在问题是,我用 request 模拟请求的不知道使用哪种方式去生成密文,如果采用第二种办法,可不可以通过传入真公钥假私钥只实现加密就行,或者是说还有第三种更简单的方式生成密文。
1
julyclyde 2023-08-18 19:52:40 +08:00
首先,不要用报文这个错误的术语
|
2
youngbug 2023-08-18 20:54:56 +08:00 via Android 1
不用私钥,只知道公钥那个点就行了
|
3
oreader996 OP @youngbug 是的,刚刚已测试已成功加密并请求,私钥随便填写就行。
|
4
oreader996 OP 愿闻其详,该怎样纠正说法?
|
5
oreader996 OP @julyclyde 愿闻其详,该怎样纠正说法?
|
6
julyclyde 2023-08-28 21:26:28 +08:00
@oreader996 RFC 里写着呢
|