中国建设银行官方网站沈阳,wordpress简约博客,可以做微网站的第三方平台有哪些,什么叫seo网站推广提示#xff1a;文章仅供参考#xff0c;禁止用于非法途径 文章目录前言分析总结前言
真的好久没更了…… 提示#xff1a;以下是本篇文章正文内容#xff0c;下面案例可供参考
分析
进到网页#xff0c;加载两个接口 applyLoginFactor 接口返回一个RSA公钥#xff0… 提示文章仅供参考禁止用于非法途径 文章目录前言分析总结前言
真的好久没更了…… 提示以下是本篇文章正文内容下面案例可供参考
分析
进到网页加载两个接口 applyLoginFactor 接口返回一个RSA公钥switchForApolloForH5接口使用上个接口返回的公钥有点类似注册公钥的意思但是后面的接口却没用到
第二个接口有三个加密的下断点就很容易找到 这个rk是个随机值 erk是对rk进行rsa加密edata是对params原始提交数据的AES加密最后的sign是对原始提交数据的MD5一下返回下面的就是ok了
然后随便输个手机号会出来易盾的滑块也是简单的他不校验actoken这里就不叙述滑块了 过了滑块后会请求三个接口第一个获取公钥也可以叫服务器公钥
第二个接口返回的数据是加密过的 提交的数据也有一个加密
加密位置在这里但是这个里的 PublicKey 不是之前返回的是要重新获取的客户端PublicKey 返回的公钥密钥都会使用到 state.clientKey _this2.clientRsaKeyUpload();
var params {openId: openId,clientRsaPublicKey: state.clientKey.clientRsaPublicKey //这里是客户端公钥
};
var RSAUtils new JSEncrypt();
state.serverRsaPublicKey res.result; // 这里是服务器公钥
RSAUtils.setPublicKey(res.result);
var encData RSAUtils.encrypt(JSON.stringify(params));返回的数据是加密的需要解密
var _RSAUtils2 new JSEncrypt();_RSAUtils2.setPrivateKey(state.clientKey.clientRsaPrivateKey);//这里用的客户端私钥var data JSON.parse(_RSAUtils2.decryptLong(res.result)); // 去解密接口返回的数据{aesKey: f3d219b220214b3b8d3751ab42bb129e, clientRsaPublicKeySign: 9VJ71Qq8Ifa3a/IEhFyFOKxt7DSLRh0lSlUe5zsFa8tZfgDcrUaSRRn7SY2rjiAj2Za2McX129sXnMHJexnv/Oizb6m6ntOBtNPN4b3Wh6RBmFRW7Jnm5kokLTNN/B2oPfUqaMIgkeGKmrMj3N8wceQ50ks73O5nrXGs5t2uAtTxXRszbLjiEZP3FjxqIv36usCbYv2GVanEJo800ENM7MbYAuzZyyytxrpRH8j3wdbsT77aigaA1sJtREJ6ju4P459QsLIBieITiEy5AjzbNC2qNvREOGDBfDht7KopV0LieiLAS0shByc8XFDHXCGcZy1dhFz7kNEiMrYx5r3f2Ue9IZfbc/9RyaR9wGx0scLdJ1WwTKH0szRGtY1ME4JGMgLyhduPUfLrs4gice2gTkh3haaegynTBenO5FroOl6bg8GPM61e0BJZeIpuxK8AQzhnFhAeUqGnRIu9FKZhyLvxuuXJ/S7ypa3JULy1hO3hla4THLFWBNm0YIe2JqtOpJNkhWF6aKosZbHCxbZV/CcRrlazw7KJg/mhPlB9MuA6Z3bLWfqgRgg88Ar9azOAzdFcaxVs38KzSl0Gw3RpfmuqJCMn8NbKT/RCLGb0BXEBJKc43JpWGr67JRik7M/G/8Bx83tscwLmbWTyMiOfwO1bImKdxKg
}
拿到了这个aesKey最后请求发送短信的接口 加密都是现成的直接扣就完事
state.aesKey data.aesKey;
GibberishAES.size(256);var _encData GibberishAES.aesEncrypt(text, state.aesKey);//aes加密提交的数据_RSAUtils.setPrivateKey(state.clientKey.clientRsaPrivateKey);var aesKeySign _RSAUtils.sign(state.aesKey, CryptoJS.SHA512, sha512); //sha512加密aeskey总结
滑块 获取验证码