当前位置: 首页 > news >正文

某XX自考小程序的AES加密分析

前言

主要是报了自考在这个小程序上面做题,就研究了一下这个接口本文仅供学习交流使用,请勿随意传播。
如有侵犯你的权益及时联系我删除。

一、抓包分析
打开小程序,打开devtools 工具,这里就不啰嗦,直接上过程。

点击红框进入 。
一般的加解密的关键字都是decrypt,encrypt ,反正各种关键字使劲搜就完事了 。
我这里搜的是解密的关键词 decrypt 。。找到好多处。下断点测试 。

 

此处下断点 。

 可以看到加密方式是AES加密的 。其实他这里用到的是 CryptoJS 的前端解密的 。加密方式是 CBC-128 。

二、结束
CryptoJS 是一个三方的JS库。写一段代码证明一下。

function cryptoDecrypt_(e) {
var t = n.crpytoConfig.AES_IV
, o = n.crpytoConfig.AES_KEY
, c = e.replace(/\_/g, "/").replace(/\-/g, "+")
, a = CryptoJS.enc.Utf8.parse(o)
, u = CryptoJS.enc.Utf8.parse(t)
, p = CryptoJS.enc.Base64.parse(c)
, f = CryptoJS.enc.Base64.stringify(p);
return CryptoJS.AES.decrypt(f, a, {
iv: u,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8).toString()
}
 
console.log(cryptoDecrypt_(str));

得到了明文

加密的方式也是一样的。整体来说还是比较简单的。

http://www.dtcms.com/a/3976.html

相关文章:

  • 【LeetCode刷题笔记】栈和队列
  • STM32——NVIC中断优先级管理分析
  • Spring Boot (三)
  • python实现全向轮EKF_SLAM
  • ip数据包
  • 媒体聚焦丨四维图新旗下杰发科技王璐:设计决定芯片质量
  • Nginx学习(在 Docker 中使用 Nginx)
  • JavaEE初阶学习:JVM(八股文)
  • CPS:实现销售和广告的完美结合
  • 安全框架SpringSecurity-1(认证入门数据库授权)
  • 开发知识点-NodeJs-npm/Pnpm/Vite/Yarn包管理器
  • 前后端开发迭代
  • 计算机毕业设计项目选题推荐(免费领源码)Springboot+MySQL智能购房推荐系统09040
  • Django——orm模块创建表关系
  • Rust教程6:并发编程和线程通信
  • 基于pytorch使用特征图输出进行特征图可视化
  • Spring Boot 校验用户上传的图片文件
  • 【Qt】撤销/恢复的快捷键
  • Git基本概念和使用方式
  • 【MySQL系列】第二章 · SQL(上)
  • Rd-03D串口协议
  • 【Opencv】cv::dnn::NMSBoxes()函数详解
  • 华为云Ascend310服务器使用
  • JVM在线分析-监控工具(jps, jstat, jstatd)
  • 智慧城市建设解决方案分享【完整】
  • 为 Ubuntu 虚拟机构建 SSH 服务器
  • 2023年11月在线IDE流行度最新排名
  • 基于springboot的在线文档管理系统
  • 基于springboot实现桥牌计分管理系统项目【项目源码】计算机毕业设计
  • Android Studio里的C/C++返回: ld: error: undefined symbol