网址:aHR0cDovL3Rtcy5uZXdjaGluYWxpZmUuY29tL2V4L2FwcC9sb2dpbi9sb2dpbi5qc3A=
今天看某某网络培训平台登录密码的RSA加密算法
登陆界面如下:![登陆界面](https://img-blog.csdnimg.cn/6206d58226614bd9b5bcea5139250297.png)
首先按F12打开开发者工具,在登陆界面输入信息进行抓包,发现加密数据在这个包中,如图
![在这里插入图片描述](https://img-blog.csdnimg.cn/95ac4ec6200a4a3d915654d5e1ac8f55.png)
由上图可知加密的数据就是j_password,复制j_password在全局里边搜索,
![在这里插入图片描述](https://img-blog.csdnimg.cn/1e2f2780cd0d4c4e8af627f081e8ca85.png)
点击进入查看,此文件为登陆界面的html文件,我们下断点进行调试。
![在这里插入图片描述](https://img-blog.csdnimg.cn/cbf920eac3b64352bb1447b37b7c1160.png)
首先可以看到这里就是加密的地方,我们先把进行加密的代码扣出来,如下:
var rasClient = new RSAClient();
var j_pwd = f.j_pwd.value;
f.j_password.value=rasClient.encrypt(j_pwd);
对改代码稍加进行改写:
function getpwd(j_pwd){
var rasClient = new RSAClient();
password=rasClient.encrypt(j_pwd);
return password;
}
接下来我们首先要找到RSAClient定义的地方,将鼠标放在RSAClient()上边,并点击进入,
![在这里插入图片描述](https://img-blog.csdnimg.cn/c5689e82ef124bac9940ee2cca94cda4.png)
这里发现就是RSAClient定义的地方,我们将这份整体js代码扣出,在定义的地方我们还看到JSEncrypt,通过观察发现此对象未在本js文件定义,因此我们还需要将JSEncrypt定义的地方长出来,同样将鼠标放在JSEncrypt上边点击进入,
![在这里插入图片描述](https://img-blog.csdnimg.cn/df50848485794249a4eb0ead8a1317d9.png)
将整个js代码扣出,到这里扣代码工程是结束了,接下来将扣出的代码放到调试工具里边进行测试.运行结果如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/70ea576a8e394bee8649b065770bdc3f.png)
到这里我们就将本网站的密码加密逻辑搞清楚了。
如果需要调试工具的可以去我的资源中下载。
需要全部js代码的可加我微信免费领取
![在这里插入图片描述](https://img-blog.csdnimg.cn/c79acdade33c4500a5c1baa44f9c62cc.png)