Document the project structure and setup while excluding local dependencies and IDE settings. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3.7 KiB
3.7 KiB
tuling-code
Python 与 JavaScript 加解密、JS 逆向学习示例,按学习日期和主题整理,包含基础算法演示、Webpack 结构分析以及网站接口参数加密与响应解密案例。
学习内容
- 对称加密:DES、AES,CBC 模式、填充方式和 Base64 编解码。
- 非对称加密:RSA 公私钥生成、加解密,以及 JavaScript 与 Python 实现。
- 自定义算法分析:接口请求参数加密与响应数据解密。
- JavaScript 执行机制:自执行函数、Promise 异步任务和
_invoke方法。 - Webpack 逆向:模块加载结构、运行环境与常见问题。
- Python 调用 JavaScript:使用 ExecJS 执行加解密逻辑,并通过 Requests 调用接口。
目录结构
tuling-code/
├── 对称加密-2026-08-21/ # DES 示例与自然科学案例
├── 对称加密-AES-2026-08-24/ # AES 示例、商业观察与建筑市场案例
├── 魔改算法-2026-08-28/ # 吉林长春产权交易中心案例
├── 非对称加密-2026-08-31/ # RSA 示例、中国移动登录与观鸟记录中心案例
├── 非对称加密-2026-09-02/ # JS 执行机制与五矿集团案例
├── webpack-2026-09-04/ # Webpack 结构分析与 36Kr 案例
├── pyproject.toml # Python 项目与依赖配置
├── uv.lock # Python 依赖锁定文件
├── package.json # Node.js 依赖配置
└── package-lock.json # Node.js 依赖锁定文件
环境准备
需要 Python 3.11 或以上版本、Node.js 20.19 或以上版本(包含 npm),以及 Python 包管理工具 uv。ExecJS 调用 JavaScript 时需要可用的 JavaScript 运行时,建议使用 Node.js。
在仓库根目录安装依赖:
uv sync
npm ci
主要依赖:
| 环境 | 依赖 | 用途 |
|---|---|---|
| Python | pycryptodome |
DES、AES 等加解密 |
| Python | rsa |
RSA 公私钥生成与加解密 |
| Python | pyexecjs2 |
调用 JavaScript 代码 |
| Python | requests |
HTTP 请求 |
| Node.js | crypto-js |
JavaScript 对称加密与摘要算法 |
| Node.js | jsencrypt、node-rsa |
JavaScript RSA 加解密 |
运行示例
以下命令从仓库根目录执行。
Python DES 示例
uv run python "对称加密-2026-08-21/2. python实现des加解密.py"
Python AES 示例
uv run python "对称加密-AES-2026-08-24/2. python实现aes加解密.py"
Python RSA 示例
uv run python "非对称加密-2026-08-31/python环境实现rsa加解密.py"
JavaScript DES 示例
node "对称加密-2026-08-21/1. js环境实现des加解密.js"
网站接口案例
部分 Python 案例通过相对路径读取同目录的 JavaScript 文件,需要先进入对应案例目录再运行。例如:
cd "对称加密-AES-2026-08-24/实战案例-建筑市场"
uv run python "python调用.py"
网站接口、请求参数和加密逻辑可能随时间变化;案例记录的是学习时的实现,不保证当前接口仍可直接使用。需要登录或会话信息的案例,应自行在本地配置有效凭证,不要将 Cookie、Token 或密码提交到仓库。
注意事项
- 本仓库用于学习与研究,网站案例仅应在获得授权并遵守相关服务规则的前提下使用。
- 示例中的固定密钥、固定 IV、DES 和 1024 位 RSA 等写法用于演示,不应直接用于生产环境。
node_modules/、.venv/、Python 缓存、IDE 配置和本地.env文件不纳入版本控制;通过依赖配置与锁定文件恢复环境。- 文件名包含中文和空格,执行命令时请用引号包裹路径。