开发者社区> 问答> 正文

RSA加密过的表单密码用python怎么模拟?报错 

比如这个页面: http://ec.iot.10086.cn
可以看到页面中的JS有这样一段

var modulus = "00a119263befc1e7fa0d58bbff5d0b9a7bdeb6d37032b02130b1ef5896760cd6bfebf555e77cf7546d76bc07c02343863b37690b304a5f662784964d9ab9bd434eb0fe3e75845635b924d5a3aa675b0c0024cd86146612d7a4618e5b79b5a7aa9be9cfe5545b73fce5faa287efcca3e01ab3411b29886f057cd1babb5f522cc781";
var exponent = "010001";
setMaxDigits(131);
var key = new RSAKeyPair(exponent, '', modulus);
password = encryptedString(key, password);
$('#password').val(password);
$('#loginButtonID').attr("disabled", true);
return true;

很显然这个密码是用RSA算法加密之后再提交表单的。

而且貌似用的是这个开源的JS库:http://www.ohdave.com/rsa/
想用python模拟这个登录过程,但是不会模拟这个JS,如何使用python实现这段JS实现的算法呢?也就是讲明文密码进行加密后提交。

展开
收起
kun坤 2020-06-10 09:37:07 983 0
1 条回答
写回答
取消 提交回答
  • pyv8 试试,pyv8对js的解析兼容可能不好,要是不行你可以换个思路去模拟登录。先用python调用浏览器,浏览器可以很好的解析js 登录之后拿到cookie 然后在回到urllib2 等库 继续进行你要的操作,至于python调用浏览器登录 方案比较多 selenium 、phantomjs......phantomjs 是一个基于webkit的浏览器接口,python可以很方便的调用 ######不是很懂JS,看这个JS应该是在用RSA算法去加密,我在想如果能用python同样按照这个算法加密密码之后再post应该就可以搞定,就是不知道怎么去模拟。######刚才回复没有成功。现在遇到和楼主当年一样的问题,请问方面楼主如何解决的这个问题?还请指教,多谢######没解决,用python代码实在难以写这个类库,这个js代码目前我还读不懂。我放弃当时这个方案了。你非要硬着头皮搞下去的话,可以考虑phantomjs的方案,让浏览器帮你执行这个js

    2020-06-11 09:41:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载