广用查询**
1.找到sn(AES)方法,解决captchaVerification和pointJson加密
第一次验证码的位置
captchaVerification等于返回的token加上坐标,进行AES加密,sn为AES加密函数。
sign 和ticket
this.publickey 等于public请求返回的publicKey
e等于随机五位 gbZzT
a为rsa加密,特别注意:rsa只能用浏览器中的方法,不能用外部包的rsa算法, 会导致校验失败。
sign由wasm的方式调用signChi生成。
2.通过egg.js编写获取sign的API接口
前提:
由于sign是通过wasm的方式异步生成的,所以无法同步拿到,我们只能通过egg.js编写API接口异步返回。
1.首先创建一个egg项目
npm init egg --type=simple
cd <your-project-name>
2.在 /app/controller 目录下创建一个新的控制器文件 sign.js 并添加以下代码:
const { Controller } = require('egg');
class SignController extends Controller {
async getSign() {
// 在这里编写生成 sign 的逻辑
const sign = 'example_sign'; // 替换为实际的 sign 生成代码
this.ctx.body = { sign };
}
}
module.exports = SignController;
本案例具体代码:
3.在 /app/router.js 文件中添加路由配置:
module.exports = app => {
const { router, controller } = app;
router.get('/', controller.home.index);
router.get('/get_sign', controller.sign.getSign);
};
4.运行 Egg.js 项目:
npm i
npm run dev
|