Skip to content

About

跨平台 CTF 编解码工具箱/密码学工具箱,几百个算法全在浏览器本地运行,零外发。支持一把梭智能解码、配方链、图形编码图鉴、隐写分析与全 Unicode 显示。

Resources

Contributing

Stars

346 stars

Watchers

1 watching

Forks

Latest commit

 

History

66 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简体中文 · English

恒烈 CTF 编码工具箱

恒烈 CTF 编码工具箱 · EBCTFCodeBox

本地优先、零外发的编解码 / 加解密 / 隐写分析工具箱:978 个注册操作覆盖 23 类能力,绝大多数在浏览器本地运行,Windows 另可启用本地桥能力,macOS / Linux 提供双击启动器。

GitHub Repo stars GitHub License GitHub Release

GitHub Issues GitHub Pull Requests GitHub forks

Warning

本工具仅供 CTF 学习、竞赛与安全研究使用。请勿将其用于任何违法违规、侵犯他人权益或可能给你自己带来麻烦的用途。使用者需自行承担因不当使用产生的一切后果。 如果你在使用中发现 Bug、算法结果异常或文档缺失,欢迎提交 Issue,最好附上输入样例、期望输出和复现步骤。

目录

快速下载

核心处理本地运行、零外发。下载解压后双击 通用点我启动.py 即可使用(需本机有 Python 3)。Windows 可启用本地桥,macOS / Linux 自动跳过桥接能力。

网盘 链接 提取码
百度网盘 https://pan.baidu.com/s/1Uqq_ONMBG9qA0dJvUG53Og?pwd=0000 0000
夸克网盘 https://pan.quark.cn/s/3b7e573b19c0 无

当前版本 v0.1.15。源码始终以 GitHub 仓库为准:github.com/Henglie/EBCTFCodeBox。

更新日志

v0.1.15(2026-11-08)

0.1.15 是面向 0.2.0 的 UI 优化版本;0.1.14 已作为过渡版本结束。完整历史见 CHANGELOG.md。开发流程见 CONTRIBUTING.md。

新增功能

  • 普通独立算法采用「左菜单 / 中参数 / 右输入输出」可调三分区,手机及窄工作区恢复上下结构;科普与示例保持通栏。
  • 转换与输入输出对调放在两框之间;分隔条支持拖动、键盘调宽和复位,圆点收尾止于科普卡上方。
  • 中间与右侧默认等分;环境提供“自适配排版(新版)/始终单分区(传统)”,自适配模式横屏分区、竖屏纵向。
  • 各页面输入草稿在切页与刷新后保留,支持普通算法的多字段、文件字节与输出恢复;环境提供独立于完整重置的“一键清空输入输出”。
  • 新增 CRC 全预设、全部校验和、SHA-2 六档、CTPH、全部哈希、Whirlpool 变体、LZ4 Frame、Enigma 共 8 个 op。
  • 新增 9 个有明确条件的 SM2/SM3/SM4/ZUC 攻击工具;SM3 接入字典与查表,SM4 接入一键尝试,主 op 共 978 个。
  • 配方链在左列顶部执行 / 单步,节点编排与参数留在左列,右侧上下显示输入、输出与逐步结果;自动执行、断点与重排保留。
  • 编码图恢复顶部识图、桌面竖向分类侧栏与缩略图网格,单击缩略图直接打开全屏查看器;识图支持裁剪调整、恢复原图和草稿恢复;自动识图模块最大 800px 水平居中。
  • 自定义算法编辑器统一新版 UI 与输入体验:两空格缩进、括号配对、选区注释、撤销重做、多选插入、查找与源码对照;保存与测试分离,同页会话可恢复未保存代码、选区和滚动位置。
  • 分隔比例按工具保存;图像原文件、识图校正、批处理队列和完成产物支持本地草稿恢复,中断任务由用户继续。

修复

  • 恢复字频、流量分析等输入区及文件目标,修复自定义实现启用后的输入框显示。
  • 修复换行后继续键入错行、手机长参数与字符集工具条横溢,以及浅色批处理文字对比度。
  • 完善 moyue 非默认密钥识别。
  • 修复三分区密码小眼睛居中、运行与参数 blur 防抖冲突,以及 SM4-CTR 在 Node Buffer 下污染 IV。
  • 修复环境面板在短窗口与旋转后的底部越界;展开编辑器适配短窗口并补齐输入名称。

优化

  • 视觉与动效配套精修:自然中文排版、统一图标容器与阅读层级、克制的浮层阴影;稳定按压、可反向展开、锚定弹层过渡,保留现有 M3 风格与动效偏好。
  • 输入变化后保留并标记上次结果;短任务避免加载转动闪现,减少动效保留状态文字,首页不再重复错峰入场。
  • 维持 M3 Expressive 风格;三引擎逐角使用公开 UIKit 测量原始参数,首个可见帧前完成非全圆矩形绘制,统一编辑框、描边与焦点;M3 正圆、胶囊、滑轨及系统下拉选项菜单保留原生形状。
  • 统一滑块与动效节奏、48px 紧凑顶栏、首页输入工作台、编码图浮动工具条与全部算法批量展开 / 收起。
  • 精简 BOM 提示及代码编辑器工具区,完善手机操作菜单、搜索键盘选择与焦点归还。
  • 参数自适应多列、标题放大且简介左对齐;编辑框工具内嵌,输出视图与报告下置,算法族超出部分改为下拉选择。
  • 首页移除常驻“本地工作台 · 零外发”胶囊;快速换算移除有符号 / 无符号切换,两种十进制结果同时显示;配方右侧整组与左列顶部对齐。
  • 优化页面切换、千卡滚动与悬停、普通输入和快速换算的重复布局读取与圆角重扫;快速换算位按钮原位更新。
  • 中文、英文、法文、日文、韩文、俄文已对齐当前文案;其余维护语言保留历史部分翻译并按现有机制回退。
  • 参数区色阶分组,统一运行/完成/错误/取消反馈与次要报告动作;编辑区支持键盘读取和只读语义,触屏工具命中区 44px。
  • 字符集与文本/十六进制/Base64/转义字节四种视图统一起边与高度;环境分组和展开编辑器统一内边距、标题行高及动作尺寸。
  • 多字段输入独立提供粘贴、清空、导入和展开;无需主输入的参数工具充分展示输出,保留字节输入及有效自定义实现所需的编辑框。
  • 长报告可只读展开,多个产物采用文件列表和按需预览;窄数据列自动收纳次要工具,避免分隔条拖动后横溢。

项目简介

恒烈 CTF 编码工具箱(EBCTFCodeBox)是一个以 CTF 场景为入口、面向通用编解码与密码学需求的本地优先工具箱。

它把编码、古典密码、现代加密、哈希校验、进制转换、密码分析爆破、隐写图像等能力汇聚到一个页面里。核心计算在浏览器本地完成,不上传用户输入;Windows 可选启用本地桥。目标是兼顾赛场解题、密码学学习与日常工具需求。

核心设计:

  • 原生 ES module,无框架、无构建步骤
  • C / emscripten 编译的 WASM 承担高性能算法
  • Material 3 温和红主题,暗 / 亮色切换
  • 内置天珩全字库,冷僻字符照样显示
  • 20 种语言

特点

  • 本地优先 · 零外发:原生 ES module,无框架、无构建步骤。核心编解码在浏览器本地执行,不上传用户输入;「外链」只生成 URL。PWA 更新仅下载本站资源,本地桥只访问 127.0.0.1,外部 AI 仅在用户主动配置 endpoint 后启用。
  • 一把梭智能解码:粘贴或拖入内容,自动识别可能的编码链并给出候选解码结果,支持 crib 目标特征过滤与深度爆破。
  • 978 个注册操作 · 23 分类:覆盖 Base、文本传输、花式 CTF、深奥编程语言、中文本土、古典密码、现代加密(分组 / 流 / 非对称 / 其他)、哈希校验、进制字符集(含素数判定与筛选)、分析爆破、密码攻击、压缩归档、口令与归档破解、取证流量、文件格式结构、数据结构、图像与二维码、音频音视频、隐写及 4 个可选 Windows GUI 桥入口。完整清单由 registry 自动生成。
  • 解码强度四件套(v0.1.2):强度档位 + 自定义算法池 + 暴力爆破独立通道(XOR/凯撒/字典/彩虹表/HMAC/PBE/Playfair/ZIP/CRC32/bkcrack,结果单独归组展示不污染主排序)+ 解析层数 1~3 选择。
  • 宽松判定模式(v0.1.2):增强/极强/最强/自定义档只按字符种类数放行算法,变体编码题(「喵呜」表 0/1、emoji 表二进制)也能参与解码;默认/快速档保持严格定义域识别。
  • 密钥+密文一键尝试:给定密文与密钥,自动枚举 AES/DES/3DES/RC4/XOR/Fernet × 多种模式 × 多种编码组合。
  • 文件拖入分析:拖入文件自动检测类型、附加数据、图像宽高异常等。
  • 全 Unicode 显示:内置天珩全字库,按 Unicode 平面按需加载,生僻字、古文字、Emoji 均可正常显示。
  • 科普卡算法互链:科普正文提到本工具已有的算法时,自动链到对应 op 页(新标签页打开);只认高置信名称/别名,跳过书名、代码、公式与泛词。
  • Material 3 温和红主题,暗/亮色切换,20 种语言。

想看完整的功能介绍与场景演示,见 介绍文章.md。

界面预览

一把梭 · 智能解码

一把梭 · 智能解码:粘进去自动识别编码链并给出候选结果

文件解析演示

拖入文件自动识别类型 + 剥离附加数据

配方链演示

配方链:把多个算法串成一条可视化流水线

图形编码图鉴 密码学教学科普卡
图形编码图鉴 · 253 张对照表 每个算法附带 edu 科普卡
亮色主题 暗色主题
亮色主题 暗色主题(Material 3 昼夜切换)

运行

纯静态,任意静态服务器即可。推荐用附带脚本(双击或命令行):

py 通用点我启动.py     # Windows(用 py,不用 python3)
python3 通用点我启动.py # macOS / Linux

脚本会同时起静态服务器 + 本地桥(bridge.py,固定 8181,仅 Windows 有实际能力),并用系统默认浏览器打开。桥在同进程后台线程内运行,不弹第二个窗口。

Linux / macOS 双击启动

与 Windows 的「双击 exe 启动」对等。根目录只放双击入口,二进制内核收在 bin/ 子目录(避免误点):

文件 平台 用法
Windows点我启动.exe Windows 双击即可(32 位单文件,兼容 64 位与 ARM64 Windows)
macOS点我启动.command macOS Finder 里双击它 → 自动打开「终端」并进入控制面板
Linux点我启动.sh Linux KDE(Dolphin)直接双击;GNOME(Nautilus)右键 → 运行(或属性里勾选「允许作为程序执行」后双击)
bin/macOS启动器 macOS universal2 单文件(Apple Silicon + Intel 双架构),由上面的 .command 调起,无需直接点击
bin/Linux启动器 Linux x86_64 ELF,由上面的 .sh 调起,无需直接点击
  • macOS 用 .command 是因为 Finder 双击裸二进制不会打开终端;Linux 各桌面对裸二进制双击行为不一致,.sh + 可执行位是通用做法。
  • 首次使用:解压后双击无反应先赋一次执行权限(chmod +x macOS点我启动.command bin/macOS启动器 Linux点我启动.sh bin/Linux启动器);启动器未签名,macOS 首开被 Gatekeeper 拦时在「系统设置 → 隐私与安全性」点「仍要打开」或右键 → 打开。
  • 功能与 Windows 一致:同一套 C 源码,控制面板同为 1 重启服务 / 2 清除占用端口 / 3 本地桥设置 / 4 打开浏览器 / 5 刷新状态 / 0 退出(Linux/macOS 为键盘行式菜单,无鼠标点击与悬停高亮,属终端能力差异);本地桥、MCP、pyc 反编、环境探测全可用。Windows 专属的 GUI 工具拉起与系统强调色在这两个平台自动降级提示。两份产物已过静态验收(架构/链接依赖/分支指纹/端点串),真机运行验收持续进行。

或直接用任意静态服务器指向项目根目录。首版无需 build,改完刷新即生效。

无 Python 部署

本项目是纯静态资源,任意 HTTP 服务器均可托管(ES module 要求 http(s) 环境,不能直接双击 index.html 用 file:// 打开)。无 Python 或不想用启动脚本时,任选其一:

npx serve .                    # Node.js(任选端口)
python3 -m http.server 8180    # 已装 Python 3 但不想用启动脚本
php -S localhost:8180          # PHP 内置服务器

nginx / Apache / Caddy 等正式 Web 服务器同样可用,需注意两点:

  1. .wasm 必须以 application/wasm MIME 送出,否则浏览器拒收流式编译。

  2. 多线程 WASM(如 bkcrack 的 pthread 产物)依赖 SharedArrayBuffer,要求下发跨源隔离头:

    Cross-Origin-Opener-Policy: same-origin
    Cross-Origin-Embedder-Policy: require-corp
    

    附带的 通用点我启动.py 已默认下发这两个头;自建服务器需自行配置。缺失这两个头时,多线程 WASM op 会优雅降级或提示不可用,纯前端功能不受影响。

PWA 已完整接线(manifest.json + sw.js):首次在线访问后预缓存 853 项核心运行资源(版本更新时按校验和增量补下,只传有变化的文件),支持安装到桌面和核心功能完全断网运行;大体积按需资产(天珩字库四平面、WASM、IDS 拼字数据、编码对照图、KaTeX)首次用到后即缓存、之后同样离线可用。顶栏“检查更新”会下载完整新版本后再询问刷新。

平台兼容性

平台 前端功能 本地桥(exe 工具) 启动方式
Windows 全功能(主平台) JPHS / OpenPuff / OurSecret(GUI 启动)+ pyc/exe 本地反编 + 系统强调色同步 py 通用点我启动.py
macOS 全功能 不可用(无 .exe),桥自动跳过,相关 op 灰置提示 双击 macOS点我启动.command,或 python3 通用点我启动.py
Linux 全功能 同 macOS,桥自动跳过 双击 Linux点我启动.sh,或 python3 通用点我启动.py
ChromeOS 全功能(经 Crostini Linux 容器) 同 Linux python3 通用点我启动.py(Crostini 内)
鸿蒙 / Android / iOS 全功能(PWA,触屏响应式) 不可用(移动端无法运行 exe) 浏览器打开部署地址,可选「添加到主屏幕」

说明:

  • 「本地桥」指 bridge.py(端口 8181,仅 Windows)提供 GUI 启动、pyc/exe 反编与系统强调色等本机能力。桥不可用时,浏览器本地能力仍正常,依赖桥的入口会降级提示。
  • 移动端 / 鸿蒙经 PWA 安装后可离线使用;字库 / WASM / 图鉴等大资产按需缓存,首次使用时在线加载一次。
  • 桥只监听 127.0.0.1,绝不外发,恪守零外发红线。

浏览器要求

需支持 ES module、WebAssembly、Web Workers、Service Worker、Web Crypto API、DecompressionStream 的现代浏览器:

  • Chrome / Edge 90+
  • Firefox 113+
  • Safari 16.4+

性能要求

本项目核心为纯前端应用,常规计算在浏览器本地完成,无服务端算力依赖;少数 Windows 本地桥能力另行注明。以下为各维度的要求与建议:

维度 最低 建议 说明
CPU 单核 4 核+ Web Worker 池线程数 = min(8, navigator.hardwareConcurrency),多核可加速爆破 / 大文件分片运算
内存 512 MB 1 GB+ 天珩全字库与 WASM 按需加载,大文件分析视文件大小线性增长
GPU 不需要 启用硬件加速即可 无 GPU 计算,浏览器合成层走 GPU 加速可改善滚动 / 动画流畅度
磁盘 预留 100 MB+ 同左 代码、字库、WASM 与图鉴会随版本增长,以实际发行包为准
网络 首次加载需连接 稳定连接 不上传用户输入;PWA 安装后核心功能可离线
OS 位数 32 位可用 64 位 64 位浏览器可寻址更大内存,利于大文件分析
架构 x86 / x64 / ARM 均可 同左 浏览器抽象底层架构,WASM 跨架构运行

WASM 多线程(SharedArrayBuffer)需跨源隔离头(COOP/COEP),通用点我启动.py 已默认下发;缺失时多线程 op 降级为单线程或提示不可用,不影响其余功能。首屏使用 HTTP/1.1 keep-alive、ES module 入口前置和字库懒加载;完整离线资源由 Service Worker 在页面加载后后台安装。

目录结构

开发、分支协作与 PR 流程见 CONTRIBUTING.md:日常开发集成到 dev,稳定发布从 main 产生。

index.html          入口
src/
  main.js           UI 驱动(注册表声明式渲染)
  core/             算法层(纯函数,每个模块自注册进 registry)
  ui/               样式 + 图标 + 字体加载
  i18n/             20 种语言文案(中英静态主表 + 18 动态分片,含 RTL 与四门民族语言)
public/
  icons/            Material Symbols Rounded 图标(SVG)
  fonts/th/         天珩首屏子集 + 4 平面 WOFF2
资料/              算法码表核对资料 + 研究成果(开发资料,不随发行包分发)

编解码全清单(978 ops · 23 分类)

本节由 node tools/gen_readme_ops.mjs 从主入口真实 import 闭包生成;opId 即注册表唯一标识。

Base 系列(30 ops)

opId 名称 说明
base16 Base16 / Hex 十六进制编码(支持自定义码表)
base32 Base32 RFC 4648 / base32hex / Crockford / z-base-32(支持自定义码表)
base36 Base36 大整数 0-9a-z
base45 Base45 RFC 9285(QR 码常用)
base58 Base58 Bitcoin / Flickr / Ripple / 自定义字母表
base62 Base62 0-9A-Za-z(支持自定义码表)
base64 Base64 通用字节/文本 Base64:标准 / URL-safe(含 base64url,可选 padding)/ 自定义码表。图片转 dataURI 请用「图片转 Base64/dataURI」(自动嗅探 MIME);data URI 协议解析用「Data URI 解析」
base85 Base85 / Ascii85 Ascii85(<~ ~> 包裹,z 压缩零组)/ Z85 / IPv6 Base85
base91 Base91 basE91(支持自定义码表)
base92 Base92 13 bit 分块(支持自定义码表)
base100 Base100 emoji 编码(每字节 → U+1F3F7 + b)
radixN 任意进制 文本 ↔ N 进制大整数(N = 2..95,可自定义码表)
baseCustom 自定义字母表 Base 用户填字母表,进制 = 字母表长度
base58check Base58Check Base58 + 双 SHA-256 4 字节校验(比特币地址校验)
radix64 Radix64 (crypt) 密码 crypt 表 ./A-Za-z0-9(位打包,无 padding)
base69 Base69 pshihn 7 字节分块(含 padding 标记)
z85 Z85 (ZeroMQ) ZeroMQ Base85 字典式(4 字节 → 5 字符)
base85ipv6 Base85 IPv6 IPv6 码表 Base85 变体(RFC 1924)
base2048 Base2048 qntm 11-bit 编码(Unicode 紧凑表示)
base65536 Base65536 每 2 字节 → 1 CJK 字符(Unicode 紧凑表示)
ecoji Ecoji 1024 emoji 表 + padding(5 字节 → 4 emoji)
base64steg Base64 隐写 base64 padding 比特隐写(多行,藏/取隐藏信息)
base32steg Base32 隐写 base32 padding 比特隐写(多行,末字符冗余位藏信息,照 base64steg 偏移法复刻)
base64dict 凯撒自定义字典 Base64 用 64 字符自定义字典替换标准 base64 字符
multilineBase64 多行 Base64 多行 base64 解码 / 按行切分编码
base64decompress Base64 + Zlib base64 ↔ zlib 压缩(浏览器 DecompressionStream)
modhex Modhex(YubiKey) YubiKey 键盘布局无关十六进制:字母表 cbdefghijklnrtuv ↔ 0-9a-f 逐位替换(UTF-8 字节流),双向;大小写不敏感,解码自动容忍常见分隔符
citrixCtx1 Citrix CTX1 Citrix 密码编码(.ica/思杰凭据常见):UTF-16LE 字节链式异或 0xA5,每个结果的两个半字节各 +0x41 映射为 A-P 字符;双向
crockford32 Crockford Base32 人类可读 Base32(排 I/L/O/U,o→0 i/l→1 容错,- 忽略;可选 mod 37 校验位 * ~ $ = U);位流与 Base32 op 的 crockford 档同口径
dxBase64 DXBase64 风之暇想 DXBase64:raw deflate + 随机 salt 循环 XOR + CRC16 校验的 Base64 变体(带校验、每次密文不同、无需密钥,防和谐)

文本 / 传输编码(79 ops)

opId 名称 说明
url URL 编码 RFC 3986 百分号编码(standard/full/plus 三模式)
htmlEntity HTML 实体 命名实体(& 等)+ 数字型(&#NN; / &#xHH;)
unicodeEscape Unicode 转义 \uXXXX / %uXXXX / U+XXXX / &#xHH;,可控制全量转义、位数与大小写
quotedPrintable Quoted-Printable RFC 2045(=XX 转义,软换行折叠)
uuencode UUencode Unix-to-Unix(行首字节数+32,6-bit 映射 32-95)
xxencode XXencode XX 编码(码表 +-0-9A-Za-z,结构同 UU)
jsfuck JSFuck 六字符 !+ 构造的 JS(双向:编码出求值即原文的表达式,解码走 Function 沙箱)
utf7 UTF-7 编码 RFC 2152(+...- 修改 base64,UTF-16BE)
punycode Punycode (IDN) RFC 3492 国际化域名(xn-- 前缀,按 . 分段)
jsHex JS Hex 转义 \xXX 字节转义(与 \uXXXX 不同,按字节非字符)
mixHexOctBin 混排进制解码 0x/0b/0o/0d 前缀混排数字串解码为字符
hexReverse Hex 字节内反转 每两位 hex 组内互换(1a2b → a1b2,自反)
leetSpeak Leet Speak (1337) 经典 1337 字母替换(A→4, E→3, O→0 等)
netbios NetBIOS 编码 半字节 + A 偏移(每字节拆 4 位 + 'A')
caretMdecode Caret/M 控制字符 ^X = Ctrl+X(& 0x1F),M-X = Meta-X(| 0x80)
natoAlphabet NATO 音标字母 北约音标字母表(A→Alpha, B→Bravo, ...)
asciiControl ASCII 控制字符 控制字符名称 ↔ ASCII 值 + Unicode 符号
utf32 UTF-32 LE/BE UTF-32 编解码(每码位固定 4 字节):LE(FF FE 00 00 BOM,x86 常见)/ BE(00 00 FE FF BOM)。解码自动识别 BOM,无 BOM 按所选端序;严格模式——长度非 4 倍数、代理区 D800-DFFF、超 0x10FFFF 显式报错(不静默 U+FFFD)。与 UTF-16 BOM 的区分靠第 3/4 字节 00 00
gb18030 GB18030 严格版(含四字节) GB18030 严格编解码(WHATWG Encoding 官方索引同源,与浏览器/Node TextDecoder 一致):完整覆盖四字节区(生僻汉字、emoji、增补平面线性区),编码仅 U+E5E5 与未配对代理显式报错(spec 唯一例外),不再静默回退 UTF-8 字节;解码非法序列/截断/越界指针显式报错而非 U+FFFD。GBK/GB2312 档请用「GBK / GB2312 / GB18030」op。字节序:GB18030 为变长字节编码无端序;0x80 单字节=欧元符
gbCharset GBK / GB2312 / GB18030 中文字符集 ↔ UTF-8(TextDecoder 解码 + 运行时反向建表编码)
gb2312QuWei GB2312 区位码 汉字 ↔ 4 位区位码(区01-94 位01-94,字节=区位+0xA0;ASCII 透传)。无分隔符时若含连续 4 位以上数字,会自动改用换行分隔以免与区位码混淆
big5 Big5 繁体中文 Big5 ↔ UTF-8(TextDecoder + 反向建表)
shiftJis Shift-JIS 日文 Shift-JIS ↔ UTF-8(TextDecoder + 反向建表)
eucKr EUC-KR 韩文 EUC-KR ↔ UTF-8(TextDecoder + 反向建表)
latinCharset Latin / ISO-8859 / Windows 单字节 ISO-8859 全系 + Windows 码页 ↔ UTF-8(单字节直映)
ebcdic EBCDIC IBM EBCDIC ↔ ASCII(内嵌 037/1047 码表,默认 cp1047 含 []{}^~\;不可表示字符显式报错,不静默落 ?)
utf16 UTF-16 BE/LE UTF-16 编解码 + BOM 处理(encode 可加 BOM,decode 自动识别 BOM)
mojibakeFix 乱码修复 (Mojibake) 常见字符集错配还原(decode=修复,encode=制造乱码样例);部分方向有损
urlQueryParse URL Query 解析 解析 URL 查询串(? 后的 k=v&k=v),percent-decode + '+' 转空格,逐行列出键值。支持传入完整 URL;mode=uri 时同 CyberChef Parse URI 输出协议/认证/主机/端口/路径/参数/锚点。
cookieParse Cookie 解析 解析 Cookie 请求头(多 name=value)或 Set-Cookie 响应头(键值 + 属性)。自动去 Cookie:/Set-Cookie: 前缀。
httpBasicAuth HTTP Basic 认证 HTTP Basic 认证:encode 把 user:pass 编码为 'Basic ';decode 把 'Basic xxx' 或裸 base64 还原为 user:pass。
dataUriParse Data URI 解析 data URI 双向(文本级协议):encode 把文本按所选 MIME + 编码方式构造成 data: URI;decode 解析 data: URI 输出 MIME + 内容(二进制/图片自动交回文件)。图片文件还原用「Base64/dataURI 转图片」,通用 Base64 用「Base64」。
magnetParse Magnet 链接解析 解析 magnet:? 链接:xt 精确主题(提取 BTIH 哈希)、dn 显示名、tr Tracker 列表、xl 文件大小等。
hexdump Hexdump 互转(xxd) xxd 风格十六进制转储 ↔ 原文本:编码方向输出「偏移: 两字节一组 hex + ASCII」三栏(与 xxd 逐字节一致,行宽/大小写可调);解码方向容忍 xxd / hexdump -C / CyberChef 等常见格式(含 * 重复行)
cobs COBS 编码 / 解码 Consistent Overhead Byte Stuffing:用非零字节替换 0x00,适合串口/协议/嵌入式帧定界;支持 hex/base64/UTF-8 输入输出。
textSort 排序 (Sort) 按分隔符排序(字母大小写敏感/不敏感、IP、数值、16 进制数值、长度;可倒序)
textUnique 去重 (Unique) 按分隔符保序去重;可选显示每项出现次数
textSplit 拆分/重组 (Split) 按拆分分隔符切开,再用连接分隔符拼回(支持 \n \t \xHH 转义)
textHead 取前 N 项 (Head) 按分隔符取前 N 项(N 为负则保留除末尾 |N| 项外的全部)
textTail 取后 N 项 (Tail) 按分隔符取后 N 项(N 为负则跳过前 |N| 项)
takeNthBytes 每隔 N 字节取样 (Take nth bytes) 从起始位置起每隔 N 字节取 1 字节(可逐行应用)
dropBytes 删除字节 (Drop bytes) 从 Start 起切掉 Length 个字节(支持负值;可逐行应用)
dropNthBytes 每隔 N 字节删除 (Drop nth bytes) 从起始位置起每隔 N 字节删 1 字节(可逐行应用)
removeWhitespace 删除空白 (Remove whitespace) 可选删除空格 / CR / LF / Tab / FF / 句点
removeNullBytes 删除 NUL 字节 (Remove null bytes) 删除所有 0x00 字节
removeAnsiEscapeCodes 删除 ANSI 转义 (Remove ANSI Escape Codes) 删除 ANSI 转义序列(CSI)
addLineNumbers 添加行号 (Add line numbers) 为每行添加行号(可设偏移)
removeLineNumbers 删除行号 (Remove line numbers) 删除可被简单识别的行首行号
padLines 行补齐 (Pad lines) 在每行起始/末尾补齐指定字符
toUpperCase 转大写 (To Upper case) 转大写;可限定作用域:全部 / 每词 / 每句 / 每段
toLowerCase 转小写 (To Lower case) 全部转小写
swapCase 大小写互换 (Swap case) 大写转小写、小写转大写
toCamelCase 转驼峰 (To Camel case) 转 camelCase;context aware 模式仅转换代码中的变量名
toSnakeCase 转下划线 (To Snake case) 转 snake_case;context aware 模式仅转换代码中的变量名
toKebabCase 转短横线 (To Kebab case) 转 kebab-case;context aware 模式仅转换代码中的变量名
countOccurrences 出现次数 (Count occurrences) 统计搜索串出现次数(正则 / 转义扩展 / 纯文本)
expandAlphabetRange 展开字母表范围 (Expand alphabet range) 把 a-z 之类范围展开为字符列表(可用连接符)
textWrap 折行 (Wrap) 按指定宽度折行(\n 分隔)
xmlMinify XML 压缩 (XML Minify) 压缩 XML(可保留注释),移植 vkbeautify.xmlmin
htmlToText HTML 转文本 (HTML To Text) 把 HTML 输出转为纯字符串(CyberChef 中为类型转换,语义等价于恒等)
stripHtmlTags 剥离 HTML 标签 (Strip HTML tags) 删除所有 HTML 标签(可选去缩进、去多余空行)
fileTree 文件树 (File Tree) 把文件路径列表渲染为树形结构
fullwidth 全角密码 ASCII 半角 ↔ 全角(含空格),偏移 0xFEE0
bubblebabble BubbleBabble 编码 Antti Huima 2000 防误读编码:2 字节 → 6 字符,x 包裹 + - 分隔(如 ping → xisak-nerek-loxix)。CTF 指纹/校验和可读展示用
jsEscape JS escape 编码 旧版 JavaScript escape()/unescape() 编码;mode=string 时切换为 CyberChef Escape/Unescape string(level/quote/json/es6)
ppencode ppencode Perl 关键字编码(PPEncode):字节 → perl 关键字伪程序(256 关键字字典 + 随机候选),运行即输出原文
mimeMultipart MIME multipart 解析 解析 multipart/mixed 邮件/HTTP 体:boundary 分 part,识别 Content-Type/Transfer-Encoding(base64/QP/7bit)并解码正文;encode 方向按 | 分隔组合;mode=encodedWords 时按 RFC 2047 解码邮件头 encoded-word
yenc yEnc 编 / 解码 yEnc(Usenet 二进制传输编码,yEnc-1.3 规范):每字节 +42 mod 256,关键字节 NUL/CR/LF/'=' 用 '=' 转义 +64。行首 TAB/空格/'.' 保守转义。encode 取 UTF-8 字节,decode 自动跳过 =ybegin/=yend 控制行。
binhex BinHex 4.0 编 / 解码 Mac BinHex 4.0(Yves Lempereur 规范 + Python binhex):6-bit 码表 + RLE90 压缩 + CRC-16-CCITT。decode 解析文件名/type/creator/数据叉/资源叉并校验三处 CRC;encode 把 UTF-8 文本封成合规 BinHex(数据叉,空资源叉)。
regexTool 通用正则提取 / 替换 按正则做提取或替换。preset 提供常用提取预设(Email / URL / 域名 / IPv4 / IPv6 / MAC / 日期 / 文件路径 / 哈希 / flag / key=value),选中后自动填正则与捕获组,custom 使用自定义正则;extract:全局匹配后按 group 取整段(0)/第 n 组(1..n)/全部组(all,\t 连接),可选 dedupe 保首次顺序、firstOnly 只取首个,结果用 sep 连接(支持 \n \t 转义);replace:用 $1..$9、$&、$$ 展开替换全文,未知 $x 原样保留。空模式、非法正则、零匹配一律报错,不静默返回原文;编译前结构白名单拒绝反向引用、嵌套量词、后行断言与非标准扩展
escapeSmartChars 转义智能字符 把智能引号、长短破折号、省略号、©®™、箭头、书名号等排版字符转为 ASCII;无法映射的非 ASCII 字符可选保留/删除/替换为点
removeDiacritics 去除变音符号 Unicode NFD 分解后删除 U+0300–U+036F 组合附加符号,把带重音的拉丁字符还原为基字符。口径同 CyberChef「Remove Diacritics」
fromCiRegex 还原大小写不敏感正则 把 [sS] 这类大小写展开字符类折叠成单字母(不保证还原原始大小写);[Gg]、[0-9] 等非两字母类原样保留。口径同 CyberChef「From Case Insensitive Regex」
cssSelector CSS 选择器 用 CSS 选择器从 HTML 文档中提取节点,多个结果按分隔符连接(CyberChef #54)
jsBeautify JavaScript 美化 解析并美化 JavaScript 代码,支持缩进、引号、分号与注释选项(CyberChef #239)
jsMinify JavaScript 压缩 用 terser 压缩 JavaScript 代码,移除空白并缩短局部变量名(CyberChef #240)
jsParser JavaScript 解析 解析 JavaScript 代码并输出抽象语法树(AST)JSON(CyberChef #241)
sqlBeautify SQL 美化 缩进并美化 SQL 代码,保留 :name 绑定变量(CyberChef #383)
xpathQuery XPath 表达式 用 XPath 从 XML 文档中提取节点,多个结果按分隔符连接(CyberChef #496)

花式 / CTF 编码(79 ops)

opId 名称 说明
scoutStick 童子军木棍密码 dCode 的 Code Chinois(又称 Samurai/武士码):横线=元音序号(A/E/I/O/U/Y=1-6),竖线=该元音之后的辅音序号;例 DCODE = |||- ||- ---- |||- --(竖线在前)。可切 Samurai 反置与横线在前写法;非字母原样透传
morse 摩斯电码 ITU-R M.1677(字母/数字/标点,/ 分词)
bacon 培根密码 5 位 a/b(24/26 字母两版)
yunying 云影密码(01248) 01248/云影密码:0 分隔字母,1/2/4/8 数字和映射 A=1..Z=26;encode 仅接受 A-Z,decode 严格校验每段数字和 1-26。
rot13 ROT13 字母移位 13(自反)
rot5 ROT5 数字移位 5(自反)
rot18 ROT18 ROT13 + ROT5(自反)
rot47 ROT47 ASCII 33-126 移位 47(自反)
atbash Atbash 字母反转(A↔Z,自反)
a1z26 A1Z26 字母 ↔ 数字(1-26)
dna DNA 编码 3 字母密码子(A/C/G/T)↔ 字符
keyboard 键盘坐标 键盘行列坐标:qwerty3=3 字母行二位连写(Q=11);full4=4 行含数字行 R.C 点分隔(Q=2.1,0=1.10)
ook Ook! BrainFuck 方言(Ook. Ook? Ook! 三 token)
cetacean 鲸语 Cetacean 16 位二进制(1->e, 0->E)
yygq 兽音译者 就这¿ / 不会吧? 比特流编码
braille 盲文 Braille U+2800 块 ↔ ASCII(auto 自动判码表 / nabcc 标准 6 点 / raw 乱序字典)
eightdiagram 六十四卦 base64 → 64 卦象映射
aaencode 颜文字 aaencode aaencode 颜文字 JS 风格编码(ASCII 八进制 / 非 ASCII 十六进制)
baudot 博多码 Baudot ITA2/ITA1 博多码 5 位二进制(letters/figures 双表,模式切换)
type7 Cisco Type7 Cisco 密码 Type7(MAGIC_VALUES 53 项异或,seed 前缀 2 位)
decabit Decabit 脉冲码 Decabit 10 符号 +− 脉冲编码(0-126 字符表)
txtmoji txtmoji emoji 加密 txtmoji.com emoji 加密(AES-256-CBC OpenSSL + 65 emoji 表替换 + 切固定前缀)。密码为十进制/任意口令。CTF 常见「标题即密码」的表情符号密文
keyCode JS keyCode 表 JS event.keyCode 8-222 → 键名(支持空格/逗号/分号分隔多个)
shiftKey 上档键符号 Shift+数字/符号 ↔ 符号/数字(自反双向)
keyword9 T9 九宫格 手机 T9 键盘四模式:二位数字 / 重复数字 / 数字+|/ / 字母+长度;编码支持后两模式
keyboardSurround 键盘包围键 相邻键集合→中心键 或 数字坐标→字符(nliqwerty);编码反向:中心键→相邻键集合 / 字符→坐标
qweAbc QWERTY→ABC QWERTY/QWERTZ/AZERTY 键盘 ↔ ABC 标准字母表(解码逐布局出对照,编码按目标布局)
mirrorLetters 镜像字母 拉丁字母 ↔ 水平镜像 Unicode 字形(A↔A、b↔d、a→ɒ、E→Ǝ…;()[]{}<>/\ 五对为本工具约定的水平镜像对,非 Unicode Bidi_Mirrored 属性;数字不映射),双向严格互逆
hieroglyphs 圣书体字母 MdC 拉丁字母 ↔ 埃及圣书体单字母符(Manuel de Codage,dCode 口径):20 字母可编(A B D F G H I K L M N P Q R S T W X Y Z),C/E/J/O/U/V 无字形报错;解码收 30 字形(含 𓏭𓂝𓏲𓐝𓋔𓎛𓄡𓈙𓍿𓆓 变体)统一输出大写;SPHINX→𓋴𓊪𓉔𓇋𓈖𓐍
sga 银河标准字母 SGA 26 拉丁字母 ↔ Standard Galactic Alphabet(Commander Keen/Minecraft 附魔台文字)文本域用 dCode 收录的民间 Unicode 适配串;数字不译原样保留;解码统一大写,字面 ! 用 ! 转义,u/x 含组合点(裸 ℸ/∴ 容忍)
occult 神秘学字母四件 theban 档:巫师字母 24 符(J→I、V/W→U 合并,词尾 . 保留,文本 token=字母,图形层见 dCode);lunaire 档:Katz 月相字母(Ñ→N,27 槽);celestial/malachim 档:Agrippa 天使/玛拉基字母——拉丁↔希伯来转写(ג=C/G ו=F/U/V/W י=I/J/Y 收敛,X 无对应报错,ט/ס/צ 报错);CELESTIAL→גהלהשתיאל
marineFlags 国际信号旗文本码 国际海上信号旗(ICS):一面旗一个 A-Z 字母/0-9 数字,文本 token=字符本身(旗图无 Unicode,按 dCode 内部槽名);代旗档 substitute:组内重复的第 1..4 面旗以 k/l/m/n 代旗表示(SOS→SOk),解码反向还原并校验代旗引用;关闭档遇 k/l/m/n 报错
americanMorse 美式摩斯码 American Morse Code(19 世纪大陆电报,含内部间隔/长划 _,字母间 / 分隔)
cnTelegraphMorse 中文电码摩斯 4 位中文电码数字 ↔ 摩斯(每 4 位一组,中文需先查《标准电码本》)
tapCode 敲击码 Tap Code 5×5 Polybius 方阵敲击码(行列数字对,空格分隔;可选 I/J 合并或 K→C 合并)
semaphore 旗语 Semaphore 字母 ↔ 双旗方向对(8 方向,基于 Wikipedia Flag semaphore)
dtmf DTMF 双音多频 DTMF 按键 → 行列频率对(ITU-T Q.23,697-941 × 1209-1633 Hz)
morseRhythm 摩斯节奏规范化 摩斯点划符号规范化(· − ↔ . -,支持多种点划变体)
pigpen 猪圈密码 Pigpen 3 区栅格 26 字母(token 文字描述版 1A-3H)
keyboardShift 键盘漂移 QWERTY 三行循环移位(参数:位移量 + 方向)
layoutMap 键盘布局映射 QWERTY ↔ Dvorak ↔ Colemak 物理键位置换(47 键双射,大小写保留)
t9Phone 手机九宫格 T9 手机 T9 键盘编码:twoDigit=二位固定(键号+按次,a=21 … z=94,空格=00);multitap=多击(2=a 22=b 222=c,空格分词,0=空格)
stenoLetter Steno 速记字母 速记机字母和弦(Plover 拼写形 fingerspelling,A-Z ↔ 单 stroke,空格分词)
arrowKey 方向键编码 ↑↓←→ ↔ WASD / UDLR / 数字小键盘(参数选方案,同方案往返无损)
manchester 曼彻斯特编码 Manchester Encoding:每比特中央跳变,0/01 ↔ 1/10(IEEE 802.3 / G.E. Thomas 双约定)。输入文本或比特流。
diffManchester 差分曼彻斯特编码 Differential Manchester:中央必跳变(时钟),0=周期起始跳变,1=不跳变(IEEE 802.5 Token Ring 约定)。
nrzi NRZI 编码 Non-Return-to-Zero Inverted:USB 约定 0=跳变/1=不跳变,经典约定 1=跳变/0=不跳变。USB 2.0 / Fast Ethernet 用。
miller 密勒码 Miller Code / Delay Modulation:1=中央跳变,0 跟 0 后=起始跳变,0 跟 1 后=不跳变。磁盘存储用。
fourB5B 4B5B 编码 4-bit → 5-bit code(FDDI/100BASE-TX)。表照 ANSI X3T9.5 规范,每 4 位映射为 5 位以保证足够跳变。
pwmPpm PWM/PPM 脉冲调制 PWM(脉宽)0=10, 1=110;PPM(脉位)0=100, 1=010。CTF 硬件流可视化常见。
musicNotation 音乐记号互转 音名(C4)/MIDI(60)/简谱(1)/唱名(do) 四向互转。支持 15 个大调调号,A4=440Hz。encode=from→to,decode=to→from
musicInfo 音符全息信息 输入音名/MIDI/简谱/唱名,输出全部四种格式 + 频率 + 八度 + 半音偏移
kenny Kenny 语 South Park Kenny 语:M=0/P=1/F=2 三进制,A=MMM … Z=FFP 每字母三音节;FFF 可作空格(扩展档)
alienAlphabet 外星字母 unicode 档:26 拉丁字母 ↔ 26 个 Unicode 符号(⏃⏚☊⎅…,dCode Alien Language 表);futurama2 档:Futurama AL2 自修改 Cᵢ=(Pᵢ+Cᵢ₋₁) mod 26(字母级,剧中字形无 Unicode)
futhark 卢恩符文 Futhark elder 24 符 / younger 16 符(fuþąrkhniastbmlʀ);TH 双字母组(elder 另有 NG);解码容错 ᛋᛝ 与短枝变体;多字母合流(C/K/Q→ᚲ 等)致往返有损
chuckUnary Chuck Norris 一元码 字符→7/8 位 ASCII 连成位流做游程:连 N 个 1→「0」+N 个 0,连 N 个 0→「00」+N 个 0,组间空格(Codingame 同款)
wingdings Wingdings 符号字体 明文 ↔ Wingdings 符号:unicode 档用真实码位(☺✈☠★…,Alan Wood/Adobe 表);pua 档用 U+F020-F0FF(本机 wingding.ttf cmap 实测,Word 同款);四字体 wingdings1/2/3/zapf
fracmorse 分数摩斯 FracMorse 明文转摩斯后按三元组分块,映射到 26 字母密钥表(pycipher FracMorse)
qqxiuzi_arrow 千千秀字·箭头 千千秀字箭头密码(原称「QQ秀箭头」;符号表出自千千秀字网站,与腾讯 QQ 秀无关。hex 双字符 + 箭头映射)
qqxiuzi_flower 千千秀字·花 千千秀字花密码(原称「QQ秀花」;hex 双字符 + 花符映射)
qqxiuzi_ipa 千千秀字·IPA 千千秀字 IPA 密码(原称「QQ秀 IPA」;hex 双字符 + IPA 辅音映射)
qqxiuzi_letter 千千秀字·字母 千千秀字字母密码(原称「QQ秀字母」;hex 双字符 + 打乱字母映射)
qqxiuzi_braille 千千秀字·盲文 千千秀字盲文密码(原称「QQ秀盲文」;1 字符/字节 + |128 宽字符处理)
qqxiuzi_chinese 千千秀字·汉字 千千秀字汉字密码(原称「QQ秀汉字」;三表 SB/MB/MT + 三后缀 =/==/===)
qqxiuzi_music 千千秀字·音乐 千千秀字音乐密码(原称「QQ秀音乐」;十进制 3 字符 + 10 项符号表 + 三种前缀后缀)
lolcode LOLCODE LOLCODE 语言字符移位编码(-3 后 >69 +5 否则 +2,非双射 H/I/J 不可逆)
clockCipher 表盘码 / 时钟码 12 小时制表盘 + 5 分钟刻度时钟码。字母 A-Z / 数字 0-9 / 常用标点 → "H:MM"(如 A=1:00, B=1:05, M=2:00)。空格分隔。通用可逆方案(非对齐对标工具具体变体)。
rot8000 ROT8000 Unicode 版 ROT13:BMP 有效码位表旋转半程(自反);offset 参数可切 31753 全字符平移兼容版(仅空格除外),auto 自动检测
jjencode JJEncode JavaScript 符号混淆编码(Yosuke Hasegawa),源码 → 仅 !+$_ 符号
spoon Spoon Brainfuck 的前缀码二进制变体(8 指令映射为霍夫曼式 0/1 串,双向严格往返)
carbonaro Carbonaro 码 那不勒斯烧炭党单表替换,意大利语 21 字母对位互换(对合表,J K W X Y 透传)
albam Albam 码 希伯来 Albam 置换的拉丁版:26 字母平分两半对位互换(A↔N..M↔Z),对合,数值等价 ROT13
twinHex Twin-Hex 双字符编码 双字符查表编码(ASCII 32-127 的 96×96 组合表,索引转 base36 定长 3 位)。仅支持 ASCII 可见字符。
trollScript TrollScript BrainFuck 三字符 token 方言(tro 开头 ll. 结尾,ooo/ool/olo/oll/loo/lol/llo/lll 八指令)。encode 生成 / decode 执行,步数上限 500 万。
asciiSum ASCII 前缀累加和 逐字符累加 ASCII 码得递增数列(首项 0,空格分隔)。解码取相邻差值还原。
wabun Wabun 和文摩尔斯 日语假名 ↔ 摩尔斯(和文モールス符号标准表,含浊点 ゛半浊点 ゜长音 ー;假名点划间空格、词间 / 分隔)
astroSymbols 天文 / 黄道符号 天体与星座英文名 ↔ Unicode 标准符号:planets 档 太阳☉月球☽水星☿金星♀地球♁火星♂…谷神⚳(U+2609/263D/263F/2640/2641/2642…26B3–B6);zodiac 档 十二宫 ♈–♓(U+2648–2653);异档符号与未知名称显式报错,非字母字符透传
emojiAes emoji-aes 加密 emoji-aes 完整版:AES-256-CBC(OpenSSL) 加密后 base64 → 65 emoji 表替换(对标 Aaron Horler emoji-aes)
roar 兽音译者(嗷呜啊~) 兽音译者 roar 4 字符 codec 变体:Unicode 码点 → 4 位 hex → 按位偏移 → codec 2 字符映射 + 前后缀包裹。codec 可自定义(4 个不重复字符)。与 yygq(就这¿/不会吧?)是不同算法

深奥编程语言(15 ops)

opId 名称 说明
brainfuck BrainFuck 8 指令 BF(执行/生成,步数上限 500 万;默认兼容括号反向的字符交换题)
whitespace Whitespace space/tab/newline 栈机语言(栈/算术/堆/流控/IO,100 万步上限,整数绝对值不超过 2^53-1)
malbolge Malbolge 识别 深奥语言装载形式检查(忽略空白,按位置校验指令;仅识别不执行)
deadfish Deadfish 累加器语言(i/d/s/o 四指令,加减平方输出,步数上限保护)
befunge Befunge-93 执行 2D 栈式深奥语言执行器(> < ^ v 方向,@ 结束,网格环绕,步数上限 100 万)
emojicodeIdent Emojicode 识别 emoji 关键字语言识别(🏁🍇🍉🔤🍮 等特征,仅识别标注)
pietIdent Piet 识别 图像色块深奥语言识别(需图像本体,仅识别标注说明)
malbolgeExec Malbolge 执行 Malbolge 解释器(Ben Olmstead 1998 三进制虚机):执行程序输出结果,附 normalize/assemble 规范形转换;步数上限护栏防死循环,EOF 读 59048
pietExec Piet 执行 Piet 图形语言解释器(DP/CC 状态机执行→输出)。支持真图像输入(PNG 拖入/粘贴 base64,codel 尺寸自动探测)与色块网格文本(色码 Rl/Y/Gd/C/B/M + K黑 W白 或 6 位 hex)。执行语义对齐 npiet v1.3;带步数上限、墙钟超时与输出后停顿检测,死循环强制终止并保留已输出内容。
blub Blub! BrainFuck 的 Ook 同族方言(Blub. Blub? Blub! 三 token,两两组合映射 8 指令)。encode 生成 / decode 执行。
cow COW / MOO COW 深奥语言(Sean Heber,12 指令 moo/mOo/moO/mOO/Moo/MOo/MoO/MOO/OOO/MMM/oom/OOM,含循环+寄存器+自解释 mOO,步数上限 500 万)。encode 生成 / decode 执行。
brainlollerDecode Brainloller 解码 Brainloller 图像 → Brainfuck 程序(bftools 实测色表 + 蛇形路径;终止色 firebrick,转向标记占格)
brainlollerEncode Brainloller 编码 Brainfuck 程序 → Brainloller PNG(蛇形布局,行容量 W-2,行容量随宽度可调)
braincopterDecode Braincopter 解码 Braincopter 图像 → Brainfuck 程序(f=(-2R+3G+B) mod 11 经典规范;遇 nop/终止即停)
braincopterEncode Braincopter 编码 Brainfuck 程序 → Braincopter PNG(每像素 f=(-2R+3G+B) mod 11,最小改动写入,终止符填充到宽度整数倍;载体为指定纯色)

中文 / 本土编码(29 ops)

opId 名称 说明
pawnshop 当铺密码 汉字出头封闭区域数 ↔ 数字(当铺密码经典版)
stemBranch 天干地支 六十甲子编码(mode 切 base60 大整数 / era 编号映射;era 兼容参考实现错别字字典并自动检测)
baiJiaXing 百家姓 汉字 ↔ base64 字符映射(赵钱孙李…)
element 元素周期表 元素符号 ↔ 序号 ↔ 字符(H=1…Og=118)
foyu 佛曰 keyfc 与佛论禅 V1:UTF-16LE + 固定密钥 AES-256-CBC + 咒字映射;不支持如是我闻V2及旧自创方言
wubi 五笔字型 五笔 86/98 单字全码 ↔ 汉字;字母码可空格分隔,连写自动最长匹配;同码多字按词频列候选;参数:版本 + 候选序号 + 全候选
cnTelegraph 中文电码 中文电码(四位电报码)↔ 汉字;四位一组,不足左补零;无参数
zhengma 郑码 郑码单字码 ↔ 汉字;1-4 位大写字母,编码优先输出全码;同码多字按词频列候选;参数:候选序号 + 全候选
fourCorner 四角号码 四角号码 ↔ 汉字;可输 5 位(含附号)或 4 位主码,也认 4022.7 点分写法;同码字按词频列候选,默认列出全部候选;参数:位数 + 候选序号 + 全候选
cangjie 仓颉码 仓颉输入法码 ↔ 汉字;1-5 位大写字母(不含 Z),连写自动最长匹配;同码多字按词频列候选;参数:候选序号 + 全候选
shzyhxjzg 社会主义核心价值观 UTF-8 hex → duo(10/11 前缀)→ 富强民主…友善 12 对字
makkaPakka 玛卡巴卡 字符 → 玛卡巴卡/阿巴雅卡/咿呀呦…轰 段(玛卡巴卡语言)
xianziCode 哦齁编码(仙子曰) 可逆 Base7:码表 哦/齁/♥/啊/呜/嗯/唔,前缀「仙子曰:」;每字节 3 字符。≥200 字节自动 gzip(可切 deflate),协议头带压缩标记;❤️ 与 ♥ 等价。来自 yikakia/xianzi 公开协议
hajimiCode 哈基米加密(三进制) 哈/基/米三进制混淆:每个 UTF-16 码元 → 6/9/12 位三进制,块头带 0..8 随机偏移与长度标识;可选私钥(字符码十进制数字循环)参与位移。同一明文每次输出不同。仅混淆、不是密码学加密
zakoCode 杂鱼编码(Base8 开源版) 开源的杂鱼 Base8 编码(youzijiang233/zakocode):UTF-8 字节当作大整数反复除 8,码表 可/是/杂/鱼/哦/🥵/♥/~。闭源官网的「杂鱼密语」是另一套 AES-256-GCM + 不可见 Unicode 方案,见「杂鱼密语(官方版)」;本 op 只作 Base8 变体/对照
zakoMystery 杂鱼密语(官方版) 完整复刻 zako.yhgf.top 闭源算法:PBKDF2-SHA256(6万/18万/42万/80万次)+ AES-256-GCM,16B 盐 + 12B IV,密文逐字节藏进不可见变体选择器(U+FE00–FE0F / U+E0100–E01EF),可见杂鱼对话按 payload 哈希从官网场景/人设/方言词表生成。支持 ZK2/ZK3/ZK4/ZK5 头部、gzip 与旧版 V5 可见模板解码;默认密钥为官网公开值,仅体验/CTF 用
countingRods 算筹数字 中国算筹记数:个、百、万位用纵式 𝍠-𝍨,十、千、十万位用横式 𝍩-𝍱(一纵十横,纵横相间),0 用〇;空格分隔多个数,双向
suiYanSuiYu 随言随语 字符 ord 转 4 进制 → 字典映射 + 长度前缀(cn 花式编码)
fuyouyue 佛又曰 与佛论禅V2(AES-256-CBC + 心经字符映射,完整版)
tianshu 天书 天书曰(AES-256-CBC + 道经字符映射,佛又曰变体)
xiongyue 熊曰 zlib压缩+base91+熊语字典(前缀 熊曰:呋)
huoxingwen 火星文 简体/繁体/火星文三向转换(转火星文模式)
jianfan 简繁转换 简体↔繁体转换(charPYStr/ftPYStr 字级映射表):完全正确的简繁转换依赖词义与上下文,本表为字级映射,存在地区字形与异体字差异(如「发→發/髮」需人工判别)
numToPinyin 数字转拼音 数字读拼音。逐位读(1 可选 yāo)或数值读(中文数字读法,支持到兆)。调号可切换
hanziToPinyin 汉字转拼音 汉字转拼音(内置约300高频常用字,多音字取常见读音,表外字原样/标?)。调号可切换
moyue 魔曰 Abracadabra 中文版(文言仿真 / 传统两模式,AES-256-CTR + 压缩 + 字表替换,需密钥)
xiangyue 想曰 XiangYue 想曰全流程解密:中文/Emoji/零宽/日/韩/象形密文 → Argon2id/PBKDF2 + ChaCha20-Poly1305 + AES-CTR + zlib(默认口令内置;format1 派生较慢约数秒)
xiangyueEnc 想曰 XiangYue 加密 想曰加密方向:明文 → zlib + AES-CTR + ChaCha20-Poly1305 → 中文/日文/韩文/象形/Emoji/零宽/Base64 密文,可被本工具箱「想曰」解密自动识别还原(format2 快;format1 Argon2id 64MiB 单次数秒)
yueChang 曰唱 风之暇想 曰唱:deflate + PBKDF2-SHA256(10万次) + AES-GCM-256,Base64 逐字符映射为中文拟声字(前缀「唱:」,口令可空则用默认 YueChang)

古典密码(76 ops)

opId 名称 说明
railFence 栅栏密码 两种走法:W 型锯齿 zigzag(可带偏移量)/ Z 型传统分栏(按列写、按行读);参数:栏数 + 模式 + 偏移量
caesar 凯撒密码 指定位移量(encode +shift,decode -shift);mode 可切递增/递减凯撒(第 x 字符位移 shift±x);字符集可切仅字母位移,或 ASCII 可打印区 33-126 全字符位移(处理非字母也在动的变体题)
scytale Scytale 密码棒 栅格转置;密钥可按栏数或每栏字数解释。编码补 |,解码保留完整格子,不删除真实竖线;原长与补位无法自动区分。dCode 兼容三开关(补位符 _/剥非字母数字/裁尾填充)默认关闭,开启即与 dCode.fr 逐字节同口径(三源对拍 36/36)
vigenere 维吉尼亚 字母密钥加减移位
gronsfeld Gronsfeld 数字密钥维吉尼亚
beaufort Beaufort 自反(编解码同形)
autokey AutoKey 自动密钥 密钥流=keyword+明文
porta Porta 自反(编解码同形)
playfair Playfair 5×5 键控方阵
nihilist Nihilist 虚无党 键控 Polybius
columnar 列移位 按 key 字母顺序读列
hill Hill 希尔 矩阵加密(默认 mod 26;可自定义字母表,模数=表长,密钥同表解析,密钥须完全平方数)
affine 仿射 c=(a·x+b) mod 26(a 与 26 互质,b=0 即乘法密码)
bifid Bifid 双分 按 period 分组的 Polybius 转置
trifid Trifid 三分 3×3×3 方阵(key 须 27 字符)
polybius Polybius 方阵 5×5(J→I),字母↔坐标对
adfgx ADFGX Polybius + 列移位(5×5)
adfgvx ADFGVX Polybius + 列移位(6×6 含数字)
foursquare FourSquare 四方 双 25 字母密钥方阵
graycode 格雷码 GrayCode 格雷码 g=n^(n>>1) 三模式:text=文本↔比特格雷串;num=十进制数值↔格雷二进制串(带位宽);bytes=逐字节 g=b^(b>>1),文本↔Gray Hex。
trithemius Trithemius 渐进移位 第 i 个字母移位 (start+i) mod 26(多表密码早期形式,Tabula Recta 渐进)
jefferson 杰斐逊轮盘 Jefferson/Bazeries 转轮密码:圆盘排列顺序为密钥,明文对齐基准行后从偏移行读出;offset 已知故双向可逆(默认即 Wikipedia 10 盘例)
amsco AMSCO 密码 不完整列换位:网格每格容量沿反对角线交替(切割序列,默认 1,2),按密钥字母序逐列读出;默认例 DCODEAMSCO+CLE → DEAODSCCOM
ragbaby Ragbaby 密码 多表代换:关键词字母表 + 位移随「词内位置」递增(shift=词序号+词内位置-1);26 字母无损档 / 24 字母原始档(去 J、X);默认复现 CIPHER 例
trilitere Trilitère 三元密码 每字母 → abc 三元组(三进制,培根密码的三元姊妹):默认 A=AAA…Z=CCB、空格=CCC;可换 1/2/3 或 0/1/2 符号
skipCipher Skip 跳读密码 固定步长跳读换位:从 start 起每 s 个字符取一个、到头回绕循环;要求 gcd(s,长度)=1;默认例 DCODE+3 → DDCEO
vic VIC 密码 冷战铅笔密码:短语+日期+个人号+密钥组 链式相加派生密钥流 → 跨行棋盘化 → 列换位+三角扰乱双换位;默认即 Wikipedia 例(派生线 A-S 可复现)
phillips Phillips 密码 5x5 方阵周期代换:第 1 行逐次下移生成 8 阵、每块 5 字母换一阵,明文取「右下方一格」(ACA 口径);默认即 ACA 64 字母算例方阵
bellaso Bellaso 密码 1553 互反多表代换(dCode 口径):生成密钥两半补全成互反字母表、N 张后半轮转表、按词取密钥字母选表;加密=解密;默认复现 DCODE BELLASO 例(alphabet=20)
slidefair Slidefair 密码 双字母矩形代换:P1 在顶行、P2 在密钥行成对角,密文取另两角(顶行角在前);同列退化取右侧一对;Vigenère/Variant/Beaufort 三档表;默认即 ACA DIGRAPH 例
collon Collon 密码 一字母→双字母组(行首+列末)再按 N 字母系列首末换位(dCode 口径);默认网格去 J、N=2,即 dCode 例 DCODE→AAYXLAYYAZ
dancingMen 跳舞小人 Dancing Men 福尔摩斯《跳舞的小人》单表替换:文字 token=字母+词尾旗标*(小人姿态无法文本化,按 dCode 内部标识以字母为本体);story 档仅原作 18 字母(F/J/K/Q/U/W/X/Z 报错),默认复现 Wikipedia 第五消息 ELSIE PREPARE TO MEET THY GOD 的旗标结构
zodiac 黄道十二宫 Z408 Zodiac 杀手 Z408 同音替换(Harden 1969 破译子集,54 符号→字母,token 用 zodiackillerciphers 机器命名):编码可同音轮转,J/Q/Z 无符号报错;默认解出密文首行 ILIKE…(Wikipedia/dCode 口径)
threeSquare 三方密码 Three-square 三方密码:双字母组→三字母组(方阵1同列字母+方阵3交点+方阵2同行字母);随机位参数化为轮转/取首,解密只看列号行号故严格可逆;默认即 dCode 官方例(ONE/TWO/THREE,去 Z),UDBJDC→CODE
monomeBinome Monome-Binome 单子双子 Polybius 族坐标替换:3 行不完整网格 + 两个行键数字,首行字母出 1 位数(monome)、后两行出 2 位数(binome);3x10 档 28 码位(A-Z+空格+*),3x8 档 24 字母(J→I、U→V);默认复现 dCode 例 MONOME→34363536345 / 4303536345→DINOME
yuanYin 元音密码 数字 → 字母(1/2/3/4/5=a/e/i/o/u,辅音两位)
columnReplace 列置换密码 按密钥字母序读列(明文补空格至 keylen 整数倍)
rowsReplace 行置换密码 每 keylen 一块块内按密钥字母序重排
otp 一次一密 OTP 模 26 密钥流加减(字母表,非字节异或);密钥须 ≥ 明文字母数
keywordcipher 关键字密码 关键字去重打头 + 剩余字母顺补,构造单表替换(caseMode=upper 即原「单表置换密码」编大写/解小写行为)
simplesub 简单替换 自定义 26 字母置换表单表替换(A-Z 依次映射到密钥表);subMode=bytes 时提供 CyberChef Substitute 的 Plaintext/Ciphertext/Ignore case 任意字节映射
runningkey 滚动密钥 长文本作密钥的维吉尼亚(密钥流按明文字母推进)
homophonic 同音替换 一明文字母映射多个密文符号(00-99 数字池或自定义池)抗频率分析;密表由密钥+分配方式派生,轮转/随机两种选择
doubleTrans 双重列移位 列移位连用两次(密钥1 加密后再用密钥2 加密,解密反序);与「列移位」op 同口径(只保留 A-Z,按 key 字母序读列)
pollux Pollux 密码 摩斯衍生:点/划/分隔各映射一组符号(默认 047/158/2369),轮转或随机取用;词分隔双符号(默认,可往返)或单符号
morbit Morbit 密码 摩斯衍生:含分隔符的摩斯流按两位一组(9 种对),9 字符密钥按字母序定秩映射数字 1-9;奇数长补分隔符
bookCipher 书卷密码 Beale 式编号指向共享文本:word=全序第 N 词;line-word=第 l 行第 w 词;first/next 两种取位,宽松/严格两种匹配
turningGrille 转动格栅 Fleissner 格栅:N×N 格栅 4 次 90° 旋转逐格填入/读出(顺/逆时针);格栅串 # 孔 . 实 / seed:种子 / 空=规范形;每轨道恰 1 孔
cardanGrille 卡丹格 Cardan 固定格栅掩模取字(不旋转,区别于转动格栅):X 实格 _ 孔;fill 档孔位藏明文+随机字母补实位(dCode 主形态),hide 档掩护文本补实位(Richelieu 形态);解密取孔位
bazeries Bazeries 密码 5×5 方阵替换 + 数字 key 分组反转(key 转英文单词构造密钥矩阵,I/J 合并,古典密码)
fenham Fenham 密码 A-Z 字母转 7 位 ASCII 二进制,与密钥逐位 XOR(二进制输出)
pizzini Pizzini 密码 A-Z → 数字替换(A=4..F=9, G=10..Z=29,无分隔数字串)
kamasutra Kamasutra 爱经密码 配对表替换(自反:A↔B, C↔D...,加密=解密)
enigma Enigma 恩尼格玛机 德军 Enigma I 三转子密码机(转子 I-V + 反射器 B/C + 环设置 + 插线板,自反)
m209 M-209 转轮密码机 二战美军 M-209(Hagelin)机械密码机(6 密钥轮 + 27 杆笼 lug + pin 设置,Beaufort 自反)
typex Typex 英国转轮密码机 二战英国 Typex Mark 22:5 转轮(右两固定)+ 反射器/输入插线板 + 键盘模拟,自反
sigaba SIGABA / ECM Mark II 密码机 美国二战 SIGABA:5 密码轮 + 5 控制轮 + 5 索引轮,15 转轮步进;加密/解密分向
lorenz Lorenz SZ40/42 密码附件 德国二战 Lorenz SZ40/42a/42b:χ/ψ/μ 十二轮、ITA2 五单位异或、KH/ZMUG/BREAM 图案
colossus Colossus 计数破译机 英国二战 Colossus 对 Lorenz SZ40/42 密文的计数/破译仿真:KH/ZMUG/BREAM、QBus、限制、4 个预设程序与自定义开关
rotSpecial Rot 任意位移 任意位移量 N 的循环移位(letters/alnum/ascii94),decode 反向
goldbug GoldBug 金甲虫密码 爱伦坡《金甲虫》Kidd 密码符号替换(26 字母各一唯一符号;解码统一大写,小写不保留)
routeCipher 曲路密码 明文填入 W 列矩阵,按蛇形/垂直路由读出(置换密码)
caesarBox 凯撒箱换位 Caesar Box 箱型(列)换位:去空格后按指定列宽逐行写入网格、再逐列读出。解密用转置列宽再走一次。注意仅当长度为列宽整数倍时可完整还原(残格时转置不是逆运算,此为算法固有性质);空格在编码时被去除,不可还原。
curveCipher 曲路密码 Curve Cipher 蛇形(曲路)换位:row×col 网格按列蛇形读取,奇偶列方向相反,末尾整体反转。需 row×col = 文本长度。
chaocipher Chaocipher Chaocipher 双转子置换密码(Byrne 1918,2010 年公开)。左=密文盘 / 右=明文盘,每加密一字符后按 zenith/nadir 规则动态置换两盘。默认盘为官方展品字母表,可自定义。仅处理 A-Z。
straddleCheckerboard 跨界棋盘 Straddling checkerboard 跨界棋盘:变长编码棋盘。8 个高频字母占单数字、两空列前缀引出双数字行,自定界无需分隔符即可解码。默认照 Wikipedia 经典配置(ATONESIR + 前缀 2/6)。棋盘外字符编码时跳过。
nihilistCipher Nihilist 密码 Polybius 方阵 + 关键词加数古典密码(5×5 方阵 I/J 合并,明文/密钥编码为两位数后逐位置整数相加,俄国民意党 1880s)
solitaire Solitaire 扑克流密码 Schneier 的手工流密码(又名 Pontifex),54 张牌演化生成密钥流,可用 keyword 排牌
ls47 LS47 字母牌密码 ElsieFour/LC4 的 7×7 扩展(49 字符含小写字母/数字/常用符号):牌面行列随每字符旋转 + marker 混合位,状态自同步。密钥支持 49 字符排列或口令派生;Padding/Signature 与 CyberChef LS47 Encrypt 对齐(默认 0/空保持旧输出)
alberti Alberti 圆盘 1467 多表替换圆盘:外盘 A-Z,内盘混合表,可周期转动
gematria Gematria 数值 字母↔数值:Ordinal/Pythagorean/Simple×6/Reverse/希伯来/希腊,逐字母序列+可选总和 Σ
foursquarekw Four-square 四方(keyword) 四方密码:两个 keyword 生成密文方阵 + 两个标准明文方阵,双字母替换。5×5,奇数补 X。字母表可选 I/J 合并或省略 Q(后者复现 Wikipedia 官方向量)。与既有 foursquare(原始方阵版)算法一致、入口为关键词。
twosquare Two-square 双方 双方密码(double Playfair):两个 keyword 方阵,横排或纵排双字母替换。自反密码(编=解)。5×5,奇数补 X;纵排同列 / 横排同行时该组原样输出。字母表可选 I/J 合并或省略 Q。
beaufortVariant 变体 Beaufort 变体 Beaufort(Beaufort 德意志变体):c = p − k(mod 26),加密=维吉尼亚解密、解密=维吉尼亚加密;非自反(与自反的标准 Beaufort 互为镜像方向)
redefence Redefence 栅栏 Redefence:栅栏(W 型 zig-zag)的行序变体——按指定行序或关键词读出行。行序为恒等序时退化为标准栅栏。参数:栏数 rails / 读行序 order / 关键词 key(order 与 key 二选一)
enigmaCC Enigma(CyberChef 对齐) CC Enigma 对齐:3/4 转子、I-VIII + Beta/Gamma、B/C/B Thin/C Thin、环设置/初始位置/插线板、Strict output(去非字母 + 5 字符分组)。

现代密码·分组(35 ops)

opId 名称 说明
aes AES 高级加密标准(ECB/CBC/CFB/OFB/CTR 纯 JS + GCM WebCrypto,key 16/24/32 字节)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;GCM 支持 AAD(utf8/hex/base64/latin1)、tagLen(128…32 位)、Include IV、解密独立 tag 与 ivFromInput;流模式忽略填充
des DES 数据加密标准(FIPS-46-3,key 8 字节,块 8 字节)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;流模式忽略填充
des3 3DES / TripleDES 三重 DES(EDE,key 16 或 24 字节,块 8 字节)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;流模式忽略填充
kuznyechik Kuznyechik(GOST R 34.12-2015) 俄罗斯联邦标准 Kuznyechik(Grasshopper)分组密码:128 位分组 / 256 位密钥 / 10 轮 LSX-SPN,密钥排程 Feistel(C=L(Vec_128(i)))。模式按 GOST R 34.13-2015:CTR 半块 nonce + 低半 64 位计数器,CBC/CFB/OFB 支持多分组反馈寄存器。keyMeshing CP 按 RFC 4357 §2.3.2 每 1024 字节更新密钥。ECB/CBC 支持统一填充(默认 NoPadding,保持旧输出)。明文/密文/密钥均 hex。encode 加密 / decode 解密。过 GOST R 34.12-2015 §A.1(RFC 7801 §5 同源)向量与 §A 模式向量。
tea TEA Tiny Encryption Algorithm(64位块,128位密钥,32轮 Feistel,Wheeler 1994;支持 ECB/CBC/CFB/OFB/CTR)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;流模式忽略填充
xtea XTEA 扩展 TEA(改进密钥调度,64位块,128位密钥,Needham 1997;支持 ECB/CBC/CFB/OFB/CTR 与 rounds 1-255)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;流模式忽略填充
xxtea XXTEA 可变长度块 TEA(整个数据一次性加密,≥8字节,128位密钥,Wheeler 1998)
sm4 SM4 国密分组密码(GB/T 32907-2016,前身 GM/T 0002-2012;128位块,128位密钥,32轮非线性迭代。模式:ECB/CBC/CFB/OFB/CTR + GCM 认证加密)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;GCM 支持 AAD、tagLen(128…32 位)、Include IV(off/prepend/append) 与解密独立 tag;流模式忽略填充
noekeon Noekeon Noekeon 分组密码(NESSIE 提名,128 位分组/128 位密钥,16 轮 SPN direct 轮序)。ECB/CBC,hex 输入输出,不填充。过 botan noekeon.vec 与 NESSIE 向量(1029 组单块 KAT 逐字)。
shacal2 SHACAL-2 SHACAL-2 分组密码(NESSIE 入选,256 位分组,密钥至多 512 位,基于 SHA-256 压缩函数)。ECB/CBC,hex 输入输出,不填充。过 botan shacal2.vec(1019 组单块 KAT 逐字)。
cast6 CAST-256 CAST-256/CAST6 分组密码(RFC 2612,128 位分组,128/192/256 位密钥,6 前向 + 6 反向 quad-round)。ECB/CBC,hex 输入输出,不填充。过 RFC 2612 附录 A 三组终态 KAT。
rc5 RC5 RC5-32/12/16 分组密码(RFC 2040,64位块,12轮,可变密钥;支持 ECB/CBC/CFB/OFB/CTR)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;流模式忽略填充
idea IDEA 国际数据加密算法(Lai 1991,64位块,128位密钥,8.5轮,mod 2^16+1 乘法 + mod 2^16 加法 + XOR)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23
blowfish Blowfish Blowfish 分组密码(Schneier 1993,64位块,可变密钥4-56字节,16轮Feistel;支持 ECB/CBC/CFB/OFB/CTR)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;流模式忽略填充
rc6 RC6 RC6 分组密码(AES 候选,IETF draft-krovetz-rc6-rc5-vectors-00):block=4w 位,wordSize 8..256(8 的倍数,默认 32 → 128 位块),rounds 1-255 默认 20,可变密钥。w=32 走原快路径,其它字长 BigInt。支持 ECB/CBC/CFB/OFB/CTR;ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;流模式忽略填充
cast5 CAST-128 CAST-128/CAST5 分组密码(RFC 2144,64位块,可变密钥5-16字节,12/16轮;支持 ECB/CBC/CFB/OFB/CTR)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;流模式忽略填充
twofish Twofish Twofish 分组密码(Schneier 1998 AES 提案,128位块,16轮,密钥128/192/256位;支持 ECB/CBC/CFB/OFB/CTR)。ECB/CBC 支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;流模式忽略填充
opensslDec OpenSSL 口令加解密 OpenSSL enc 的 Salted__ 一步式口令加解密:base64/hex/真字节输入,EVP_BytesToKey(md5/sha256)+ AES-128/192/256-CBC + PKCS#7,并支持 CryptoJS 常见的 RC4(流密码,无填充)。auto 遍历 8 组并给出全部尝试结果;密文非 16 倍数时分组密码显式报缺字节、自动改试流密码,坏填充/无 Salted__ 头/口令错误均显式报错,不输出乱码。
aesCmac AES-CMAC AES-CMAC 消息认证码(RFC 4493;支持 AES-128/192/256)
sm4Cmac SM4-CMAC SM4-CMAC 消息认证码(SM4 块 + ISO/IEC 9797-1 结构)
camellia Camellia(RFC 3713) NTT/三菱 Camellia 分组密码:128 位分组,128/192/256 位密钥(18/24 轮 Feistel),FL/FLINV 每 6 轮插入。NESSIE/CRYPTREC 推荐。ECB 多块,明文/密文/密钥均 hex。encode 加密 / decode 解密。过 RFC 3713 附录 C 三向量。
seed SEED(RFC 4269) 韩国 KISA 标准 SEED 分组密码:128 位分组 / 128 位密钥 / 16 轮 Feistel,两个 8x8 S 盒 + 掩码线性混合(等价 4 个扩展 SS 盒)。ECB 多块,明文/密文/密钥均 hex。encode 加密 / decode 解密。过 RFC 4269 附录 B 两组向量。
rc2 RC2 RC2 对称加解密(RFC 2268,ECB/CBC,纯 JS,key 1..128 字节)。支持 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23;CBC 未填 IV 时沿用全零 IV
aesKeyWrap AES Key Wrap AES 密钥包装(RFC 3394,AIV=A6×8,明文须 8 字节倍数)/ 带填充包装(RFC 5649,AIV=A65959A6+长度,任意长度 1..2^32 字节)。KEK 支持 AES-128/192/256;解包完整性校验失败明示报错。RFC 3394 §4.1-4.6 五组 + RFC 5649 §6 两组官方向量验证。
simonSpeck Simon / Speck 轻量密码 NSA Simon(AND-rotate)与 Speck(ARX)轻量级分组密码,ECB 单/多块。明文密文密钥均 hex。encode 加密 / decode 解密。已过论文附录 C 官方测试向量。
des2Mitm 2DES 中间相遇 2DES 中间相遇攻击(MITM):C=DES_k2(DES_k1(P)),forward 表 + 反向查表恢复双密钥(keyBits 控制每半密钥空间,默认 16 位;参数框填明文hex/密文hex,各 8 字节;主输入框不再使用)
magma Magma(GOST R 34.12-2015) 俄罗斯联邦标准 Magma 分组密码(GOST R 34.12-2015;1989 变体 GOST 28147-89):64 位分组 / 256 位密钥 / 32 轮 Feistel。S 盒默认 id-tc26-gost-28147-param-Z;可选 1989 TestParamSet / CryptoProParamSet / E-A / E-SC(同时切换小端字序)。模式按 GOST R 34.13-2015:CTR 半块 nonce + 低半计数器,CBC/CFB/OFB 支持多分组反馈寄存器;1989 的 CTR 为 RFC 5830 计数器模式。keyMeshing CP 按 RFC 4357 §2.3.2 每 1024 字节更新密钥。ECB/CBC 支持统一填充(默认 NoPadding,保持旧输出)。明文/密文/密钥均 hex。encode 加密 / decode 解密。
present PRESENT 轻量分组密码 PRESENT 轻量级分组密码(Bogdanov 2007 / ISO/IEC 29192-2):64 位分组,80/128 位密钥,31 轮 SPN(4-bit S 盒 + 比特置换)。明文/密文/密钥均 hex;支持 ECB/CBC 与 PKCS#7/NoPadding/Zero/Bit/ISO10126/ANSI X9.23(默认 NoPadding,保持旧输出)。encode 加密 / decode 解密。已过官方全零测试向量。
serpent Serpent Serpent 分组密码(Anderson/Biham/Knudsen):AES 竞赛亚军,128 位分组,128/192/256 位密钥,32 轮 SPN,8 个 bit-sliced S 盒。ECB 多块,明文/密文/密钥均 hex。encode 加密 / decode 解密。与参考实现逐向量对拍。
aria ARIA(RFC 5794) 韩国标准 ARIA 分组密码:128 位分组,密钥 128/192/256 位(12/14/16 轮)。SL1/SL2 交替替换层 + 对合扩散层 A,RFC 5794 密钥调度。ECB 多块,明文/密文/密钥均 hex。encode 加密 / decode 解密。过 RFC 5794 附录 A 三组向量。
threefish Threefish 可调分组密码 Threefish 可调分组密码(Skein v1.3 内建):256/512/1024 位分组,密钥同长,72/80 轮无密钥调度器 + 128 位 tweak。明文/密文/密钥/tweak 均 hex,ECB 多块。encode 加密 / decode 解密。已过 Crypto++ threefish.txt 官方向量。
skipjack Skipjack 分组密码 Skipjack 分组密码(NSA 1998 解密,Clipper 芯片核心):64 位分组,80 位密钥,32 轮(8A+8B+8A+8B)。明文/密文/密钥均 hex,ECB 多块。encode 加密 / decode 解密。已过 NIST SP800-17 Table 6 官方向量。
mars MARS 分组密码 MARS 分组密码(IBM 1998,AES 决赛圈):128 位分组,128/192/256 位密钥,32 轮(前向混合+加密核心+后向混合)。明文/密文/密钥均 hex,ECB 多块。encode 加密 / decode 解密。已过 Crypto++ marsval.dat 官方向量。
gostKeyWrap GOST 28147-89 Key Wrap GOST 28147-89 密钥包装(RFC 4357 §6.1):UKM(8B) || CEK_ENC(32B) || CEK_MAC(4B),CryptoPro KEK 多样化可选(§6.3-6.5),S-box 为 CryptoPro-A。解包严格校验长度与 MAC,失败明示报错;固定向量 + pygost 现场对拍。
bfvToy BFV 玩具同态加密(教学) BFV 同态加密教学实现(Fan-Vercauteren, ePrint 2012/144):R_q = Z_q[x]/(x^n+1) 负循环卷积 + 三元私钥 + Δ=floor(q/t) 缩放,支持加密/解密/同态加法/同态乘法(乘法不做重线性化,密文涨到 3 分量)。每次运算打印噪声 ||e||∞ 与预算 Δ/2=q/(2t) 占用,噪声耗尽显式报错、绝不返回乱码。教学演示,非生产级:n≤16、q≤2^32、t≤2^16,无 NTT/重线性化/模切换,该规模可被直接攻破

现代密码·流(21 ops)

opId 名称 说明
rc4 RC4 RC4 流密码(自反,key 任意长;密钥/输入/输出支持 UTF16/UTF16LE/UTF16BE/Latin1/Hex/Base64)。若密文以 U2FsdGVk 开头(OpenSSL/CryptoJS 的 Salted__ 封装),请改用「OpenSSL 口令加解密」并选 RC4
xor XOR 重复密钥异或(自反,CTF 最常用;单字节爆破见分析类 xorBrute;支持 Standard/Input differential/Output differential/Cascade + Null preserving)
rabbit Rabbit 流密码 RFC 4503 Rabbit 流密码。变体三档:CryptoJS Legacy(旧版在线工具默认,推荐)/ CryptoJS 标准 / RFC 4503 文档方向(0.1.9 及更早行为)。密钥填 32 位 hex 直用(IV 可选);填口令或留空则按 CryptoJS OpenSSL 封装(Salted base64)加解密。decode 对 CryptoJS 密文(U2FsdGVkX1 开头)自动带空口令与常见口令尝试。
salsa20 Salsa20 Salsa20 流密码(Bernstein,key 16/32 字节,nonce 8 字节,64位块计数器;rounds 20/12/8)
chacha20 ChaCha20 ChaCha20 流密码(key 32 字节;nonce 12 字节 RFC 8439 / 8 字节原版 64 位计数器;rounds 20/12/8)
flashSwirl FlashSwirl 闪旋 作者「风之暇想」的 ARX 对称流密码(256-bit key + 192-bit nonce,8/20 轮)。encode: 文本→Hex 密文;decode: Hex→文本。对称可逆,官方 stream 测试向量已验证。
zuc ZUC 祖冲之 国密流密码(GB/T 33133.1-2016,前身 GM/T 0001-2012,128 位密钥+128 位 IV,3GPP LTE 加密标准)
a51 A5/1 流密码 GSM A5/1 语音加密流密码(Briceno/Goldberg/Wagner 参考实现):三个 LFSR(19/22/23 位)多数表决钟控。64 位会话密钥 Kc + 22 位帧号。自反 XOR:encode 文本→密文 hex,decode 密文 hex→文本。
a52 A5/2 流密码 GSM A5/2 语音加密流密码(Briceno/Goldberg/Wagner 参考实现):四个 LFSR(19/22/23/17 位)R4 择多钟控 + 掩码位非线性输出,输出延迟一拍。64 位会话密钥 Kc + 22 位帧号。自反 XOR:encode 文本→密文 hex,decode 密文 hex→文本。
e0 E0 流密码 蓝牙 E0 流密码(Bluetooth Core Spec 卷 2 §3):4 个 LFSR(25/31/33/39 位)+ 求和组合器 T1/T2 + 2 位 blend 记忆。128 位 Kc + 48 位 BD_ADDR + 26 位 CLK。自反 XOR:encode 文本→密文 hex,decode 密文 hex→文本。已与 Python 参考实现交叉验证 5 组向量。
hc128 HC-128 流密码 HC-128 流密码(Wu Hongjun FSE 2004,eSTREAM 决赛):P/Q 各 512×32bit 表 + f1/f2(SHA-256 σ)+ h1/h2 非线性映射。128 位 key + 128 位 IV。自反 XOR:encode 文本→密文 hex,decode 密文 hex→文本。已过 Crypto++ 官方向量(key=IV=0 + key=80..0)。
hc256 HC-256 流密码 HC-256 流密码(Wu Hongjun FSE 2004,eSTREAM 决赛):P/Q 各 1024×32bit 表 + f1/f2(SHA-256 σ)+ G1/G2(含表查找)+ h1/h2(4 字节索引)。256 位 key + 256 位 IV。自反 XOR:encode 文本→密文 hex,decode 密文 hex→文本。已过 Crypto++ 官方向量(3 组:key=IV=0 / IV=01 / key=55)。
sosemanuk Sosemanuk Sosemanuk 流密码(eSTREAM 决赛算法,Berbain 2008):LFSR(10×32bit 字,α 乘法反馈)+ FSM(r1/r2 + 条件选择)+ Serpent S2 盒扩散。key 1-32 字节(2-64 个 hex,官方变长语义,含 80-bit 官方向量)+ IV 128 位。自反 XOR:encode 文本→密文 hex,decode 密文 hex→文本。照 eSTREAM 官方参考实现逐行移植,官方向量 2 组自检。注意:v0.1.13 起短 key 不再左填充到 32 字节;旧版用短 key(含默认 128-bit key)产生的密文需按旧口径处理。
spritz Spritz 流密码 Spritz 流密码(Rivest & Schuldt 2014 论文版):a 计数器吸收 + 五索引状态海绵结构,输出双指针链式混合,抗 RC4 已知偏差。key(+ 可选 IV)文本或 hex 自动识别。自反 XOR:encode 文本→密文 hex,decode 密文 hex→文本。
vmpc VMPC 流密码 VMPC 流密码(Zoltak 2004):768 轮 KSA + 自反 XOR keystream,抗 RC4 已知攻击。模式 basic=Key→IV 两遍 / full=Key→IV→Key 三遍(更安全)。key/iv 文本或 hex 自动识别。encode 文本→密文 hex,decode 密文 hex→文本。
mickey MICKEY-128 2.0 MICKEY-128 2.0 流密码(Babbage & Dodd,eSTREAM Phase 3 决赛):R/S 各 160 位双寄存器,不规则钟控(Control_R=S[54]^R[106]、Control_S=S[106]^R[53])+ Galois 双反馈。128 位密钥 + 0~128 位 IV(MSB-first 装载)。官方 C 实现逐行移植,官方向量自检。自反 XOR:encode 文本→密文 hex,decode 反向。
trivium Trivium 流密码 Trivium(80-bit key + 80-bit IV,288-bit 状态)。encode: 明文→Hex 密文;decode: Hex→明文。对称可逆。兼容 风之暇想 fzxx/Trivium-Grain 在线站(trivium-grain.js.org),密文字节互通。
grainV1 Grain v1 流密码 Grain v1(80-bit key + 64-bit IV,LFSR80+NFSR80+h)。encode: 明文→Hex 密文;decode: Hex→明文。对称可逆。兼容 风之暇想 fzxx/Trivium-Grain 在线站,密文字节互通。
grain128aead Grain-128AEAD 认证加密 Grain-128AEAD(128-bit key + 96-bit nonce,真实 AEAD,64-bit tag)。encode: 明文+AD→Hex 密文(含尾 8 字节 tag);decode: Hex→明文并验 tag,失败报错。兼容 风之暇想 fzxx/Trivium-Grain 在线站,密文字节互通。
rc4Drop RC4-drop / CipherSaber-2 RC4-drop[n](丢弃前 n 字节密钥流,RFC 6229 偏移档,默认 768=SANS 建议)与 CipherSaber-2(10 字节 IV 前置 + KSA 重复 r 轮,默认 r=20)
xsalsa20 XSalsa20 XSalsa20 流密码(Bernstein「Extending the Salsa20 nonce」):HSalsa20 派生 32 字节子密钥 + Salsa20,密钥 32 字节、nonce 24 字节、64 位块计数器(自反)。rounds 支持 20/12/8(默认 20;HSalsa20 与 Salsa20 同步降轮)

现代密码·非对称(130 ops)

opId 名称 说明
rsa RSA RSA 模幂加解密:加密 c=mᵉ mod n,解密 m=cᵈ mod n。支持 hex/base64 密文与明文字节串(解密直出 flag);填 p,q 自动推 n 和 d。
rsaGenKeyPair RSA 密钥对生成 本地生成 RSA 密钥对(纯 JS BigInt,素数 Miller-Rabin 复用 primeGen),输出十进制 n/e/d/p/q/dp/dq/qinv + PEM(PKCS#1 / PKCS#8 / SPKI 三选一,DER 编码按 ITU-T X.690)。私钥 / 公钥分开下载按钮(PEM 主交付,DER / JWK 次级可选)。512 位已被现实分解仅作教学,实际使用至少 2048 位;2048 位约秒级、4096 位数秒级会阻塞页面,属预期
ecdsaKeyGen ECDSA 密钥对生成 ECDSA 密钥对生成:secp256k1 / P-256 / P-384 / P-521 任选,输出私钥 d 与公钥(压缩 02/03‖X + 非压缩 04‖X‖Y 双格式),可选 PEM/DER/JWK 输出。随机源 crypto.getRandomValues 拒绝采样无偏。域参数:SEC 2 v2 / FIPS 186-4 D.1.2。
ecdsaSign ECDSA 签名 ECDSA 签名:输入消息(text/hex)+ 私钥 d,曲线 secp256k1/P-256/P-384/P-521,哈希 SHA-256/384/512/SHA-1/MD5,k 可选 RFC 6979 确定 k(可复现)或随机 k。输出 r,s 十进制+hex、DER hex、所用 k。RFC 6979 A.2.5 官方向量逐字验证。
ecdsaVerify ECDSA 验签 ECDSA 验签:输入消息 + 公钥(压缩/非压缩/X‖Y hex 自动识别,G=生成元)+ 签名(r;s 十进制/hex 或 DER hex 自动识别)。曲线四条任选,哈希 SHA-256/384/512/SHA-1/MD5。输出 w/u1/u2/R 全过程与合法性判定。
ecdsaSigConvert ECDSA 签名格式转换 ECDSA 签名三格式互转:raw r;s(十进制/0x hex)↔ DER(ASN.1 SEQUENCE{r,s},ITU-T X.690)↔ JOSE(r||s 定宽 base64url,RFC 7515)。曲线参数决定 JOSE/raw-hex 的元素定宽(P-256=32B 等)。
eccCalc ECC 点运算 椭圆曲线点运算计算器:点加/点减/标量乘/倍点。曲线四条预设(secp256k1/P-256/P-384/P-521)或自定义 p/a/b/Gx/Gy/n。点支持压缩 02/03‖X、非压缩 04‖X‖Y、裸 X‖Y、G(生成元)、O(无穷远点);k 支持十进制/0x hex/负数。无穷远点输出 Infinity。
mlkemKeyGen ML-KEM 密钥生成 FIPS 203 ML-KEM-512/768/1024(后量子 KEM)密钥对生成,d/z 种子可固定复现(含 FO 变换)。纯 JS 实现,单次毫秒级
mlkemEncaps ML-KEM 封装 FIPS 203 封装:输入公钥 ek,输出密文 ct 与共享密钥 SS(32B);随机性 m 可固定复现(含 ek 类型/模数检查)
mlkemDecaps ML-KEM 解封装 FIPS 203 解封装:输入私钥 dk + 密文 ct,输出共享密钥 SS(32B);密文被篡改时走隐式拒绝返回伪随机 K̄(含类型/哈希检查)
pqcBlobParse PQC blob 解析(ML-KEM/ML-DSA/SLH-DSA) 识别 ML-KEM-512/768/1024、ML-DSA-44/65/87、SLH-DSA(FIPS 205 六档 × SHA2/SHAKE)的公钥/私钥/KEM 密文/签名长度。优先解析 PEM 的 SPKI/PKCS#8 DER 并核对 NIST 算法 OID;没有 OID 的裸字节只报「raw 长度匹配」并列出歧义,不冒充标准格式。支持自动/强制 raw hex/强制 DER 等模式;X.509 证书与加密 PKCS#8 明确拒绝。
ntruPack NTRU 系数打包 把 NTRU(EESS #1 参数:ees401ep1/ees401ep2/ees439ep1/ees659ep1,N=401/439/659,q=2048)的一维系数数组按固定位宽打成 hex:q 系数 11 bit、三元系数 2 bit(-1 编码为 10),大端位流,尾部补 0;可选 1 字节参数集 tag。只是系数序列化,不实现 CCA-2/SVES。
ntruUnpack NTRU 系数解包 NTRU 系数打包的逆操作:按参数集与系数域(11 bit q 系数 / 2 bit 三元系数)把 hex 还原为 N 个系数,校验精确长度、参数集 tag 与尾部填充位;遇到非法三元编码 11 或截断/多余字节直接报错。
ecdhP ECDH 共享密钥(素数域曲线) 素数域 ECDH(SEC 1 v2.0 §3.3.1 / RFC 5903 口径):我方私钥 d + 对方公钥点 Q → 共享点 d·Q 的 x 坐标即共享密钥。曲线 secp256k1/P-256/P-384/P-521。X25519/X448 见各自独立 op。RFC 5903 §8 P-256/384/521 官方向量逐字节验证
rsaOaepEnc RSA-OAEP 加密 RSAES-OAEP(RFC 8017 §7.1,PKCS#1 v2.2):EME-OAEP 填充 + RSAEP。哈希 SHA-1/SHA-256(MGF1 同源,与 OpenSSL/Node 口径一致可互解)。公钥 PEM(PKCS#1/SPKI)或 n,e 十进制;seed 可留空随机(增强随机性开关生效)或给定复现
rsaOaepDec RSA-OAEP 解密 RSAES-OAEP 解密(RFC 8017 §7.1.2):RSADP + EME-OAEP 解码。私钥 PEM(PKCS#1/PKCS#8)或 n,e,d 十进制;哈希档须与加密一致。失败统一文案报错(防 Manger 类区分);解密不取随机
x25519KeyGen X25519 密钥生成 X25519 密钥生成(RFC 7748):私钥 32 字节随机(或给定)→ 公钥 = X25519(clamp(私钥), 基点 9)。配套「共享密钥」两档做 ECDH
x25519Shared X25519 共享密钥(双方私钥) X25519 ECDH(RFC 7748 §6.2,教学口径:本地同时持有 A/B 双方私钥):K = X25519(a, B公钥) == X25519(b, A公钥),输出两侧互验一致
x25519SharedFromPub X25519 共享密钥(私钥+对方公钥) X25519 ECDH(RFC 7748 §6.2,实战口径):只持己方私钥 + 对方公钥,K = X25519(私钥, 对方公钥)。与「双方私钥」档结果一致
hpkeSeal HPKE 加密(Base) RFC 9180 HPKE Base Mode 加密,固定套件 DHKEM(X25519,HKDF-SHA256) + HKDF-SHA256 + ChaCha20-Poly1305(附录 A.2 向量套件)。输入明文 + 收方 X25519 公钥(32B hex),输出 enc(临时公钥) 与密文。临时私钥留空取随机(增强随机性开关生效);显式给定则与 RFC 向量逐字节复现
hpkeOpen HPKE 解密(Base) RFC 9180 HPKE Base Mode 解密(同套件 DHKEM(X25519)+HKDF-SHA256+ChaCha20-Poly1305)。输入 enc + 密文 + 收方 X25519 私钥(info/aad 须与加密一致),恢复明文;tag 校验失败明确报错
rsaParams RSA 参数计算(p,q→n,φ,d) 由 p,q,e 推导 n、φ(n)、d、dp、dq、qinv(参数框填 p 和 q,十进制;主输入框不再使用)
rsaModinv 模逆(a⁻¹ mod m) 扩展欧几里得求 a 在模 m 下的乘法逆元;双向自反(encode/decode 互逆:inv(inv(a))=a)(参数框填 a 和 m,十进制;主输入框不再使用)
rsaEgcd 扩展欧几里得(Bézout) 求 gcd(a,b) 及 Bézout 系数 x,y 使 a·x + b·y = g(参数框填 a 和 b,十进制;主输入框不再使用)
rsaCrt 中国剩余定理 CRT 合并同余方程组 x ≡ r_i mod m_i(残差、模数各一框,逗号分隔)
rsaModpow 大数快速幂(base^exp mod m) BigInt 模幂运算(参数框填 base、exp、mod,十进制;主输入框不再使用)
sm2KeyGen SM2 密钥对生成 生成 SM2(sm2p256v1,GB/T 32918.5-2017 附录 A 基点)密钥对:私钥 d ∈ [1,n-1],公钥 P=dG。私钥/公钥(非压缩与压缩格式)分开下载(产物协议)
sm2Encrypt SM2 加密 SM2 公钥加密(GB/T 32918.4-2016):用对方公钥 (x,y) 加密,输出 C1||C3||C2 或 C1||C2||C3 序密文(hex/base64/utf8 可选)
sm2Decrypt SM2 解密 SM2 私钥解密(GB/T 32918.4-2016):输入 SM2 密文(04 前缀,hex/base64),用私钥 d 解出明文。自动适配 C1||C3||C2 / C1||C2||C3 序
sm2Sign SM2 签名 SM2 数字签名(GB/T 32918.2-2016):ZA=SM3(ENTL||ID_A||a||b||G||P||d),e=SM3(ZA||M),输出 r||s(各 32 字节 hex 拼接)。填公钥 (x,y) 可按标准推导 Za,不填则按旧口径直接对 M 签
sm2Verify SM2 验签 SM2 验签(GB/T 32918.2-2016):输入消息 + 签名 r/s(各 32 字节 hex)+ 公钥 (x,y) + ID_A,重算 SM3(ZA||M) 校验 (r,s) 有效性
sm2KeyExchange SM2 密钥交换 SM2 密钥交换协议(GB/T 32918.3-2016):双方私钥 + ID 推导会话密钥 K(1..65536 bit 可选),输出临时点 R_A/R_B 与 S1/S2 确认值(演示口径:临时随机数内部生成)
sm9KeyGen SM9 密钥生成 SM9 标识密码密钥体系生成(GB/T 38635.2-2020):签名 ks/加密 ke 双主密钥对(随机,可注入固定值复现向量)+ 按指定 uid 派生用户签名私钥(G1)/加密私钥(G2)与用户公钥。KGC 模式:用户公钥=标识,无需证书
sm9Sign SM9 签名 SM9 标识数字签名(GB/T 38635.2-2020):签名主公钥(G2)+ 用户签名私钥(G1)+ 消息 → 签名 (h, S)。h 为 32 字节 hex,S 为 G1 点 65 字节(04‖x‖y)。支持固定 r 复现官方向量
sm9Verify SM9 验签 SM9 标识验签(GB/T 38635.2-2020):签名主公钥(G2)+ 签名人 uid + hid + 消息 + 签名 (h, S) → 有效/无效。双线性对 e(S,PA)·g^h 重算 H2 比对
sm9Encrypt SM9 加密 SM9 标识加密(GB/T 38635.4-2020):加密主公钥(G1)+ 收件人 uid → 密文 C1‖C3‖C2(C1 为 64 字节 x‖y)。只需对方标识即可加密,无需对方证书;支持固定 r 复现官方向量
sm9Decrypt SM9 解密 SM9 标识解密(GB/T 38635.4-2020):用户加密私钥(G2)+ 收件人 uid + 密文 C1‖C3‖C2 → 明文。C3 校验失败(篡改/错 uid/错私钥)即报错
xwingKeyGen X-Wing 密钥生成 X-Wing 混合 KEM(X25519+ML-KEM-768,draft-connolly-cfrg-xwing-kem)密钥生成:32B 种子 SHAKE256 扩展 96B 派生双组件,pk=ML-KEM ek(1184B)‖X25519 公钥(32B)。种子可固定复现
xwingEncaps X-Wing 封装 X-Wing 封装:输入公钥 pk(1216B),ct=ML-KEM ct(1088B)‖X25519 临时公钥(32B),ss=SHA3-256(ss_M‖ss_X‖ct_X‖pk_X‖"./""/^")。eseed 可固定复现官方测试向量
xwingDecaps X-Wing 解封装 X-Wing 解封装:输入密文 ct(1120B) + 私钥 sk(32B 种子),从种子重扩展双组件解出 ss。密文被篡改时走 ML-KEM 隐式拒绝路径(输出不可预测值)
xmssKeyGen XMSS 密钥生成 RFC 8391 XMSS-SHA2_10_256(n=32,w=16,h=10)密钥对生成,纯 JS。SK_SEED/SK_PRF/PUB_SEED 各 32B hex 可固定复现;默认随机。树建房 2^10 个 WOTS+ 叶子(约百万次哈希,数秒)。⚠ 状态签名:idx 不可重用
xmssSign XMSS 签名 RFC 8391 XMSS-SHA2_10_256 签名:R=PRF(SK_PRF,idx),M'=H_msg(R‖root‖idx‖M),WOTS+ 签 M' + 认证路径。签名 2500B=idx(4)‖R‖WOTS(2144)‖auth(320)。⚠ 真实使用必须维护 state,index 重用=私钥泄露
xmssVerify XMSS 验签 RFC 8391 XMSS-SHA2_10_256 验签:WOTS_pkFromSig → L-tree → 认证路径重算根节点,比对公钥 root。pk 64B(root‖PUB_SEED)或 68B(含 OID)。签名长度不符/index 超界直接判非法
lmsSign LMS/HSS 签名 RFC 8554 LMS 单级或 HSS 两级签名(SHA-256,h=5/10,w=4/8),私钥按 Appendix A 从 SEED 伪随机派生(x=H(I‖q‖i‖0xff‖SEED))。SEED/I/C 固定即可复现官方向量(TC2 口径)。⚠ 状态签名:q 不可重用
lmsVerify LMS/HSS 验签 RFC 8554 验签:HSS 多级(逐层 LMS 验签,签名自描述解析)或 LMS 单级。LM-OTS 公钥候选 Kc → D_LEAF/D_INTR 逐层重算根 → 比对 K。支持官方向量 TC1/TC2 的公钥+签名直接粘贴
hqcKeyGen HQC 密钥生成 HQC-128/192/256(NIST 第四轮后量子 KEM,基于准循环伴随式译码)密钥对生成,seed 可固定复现。纯 JS 实现
hqcEncrypt HQC 加密 HQC KEM 封装:明文(≤k 字节,右补零)封装为密文 c=u‖v‖salt 与共享密钥 SS(32B);m/salt 可固定复现(SFO 变换口径)
hqcDecrypt HQC 解密 HQC KEM 解封装:输入私钥 dk + 密文 c,输出共享密钥 SS(32B) 与明文;密文篡改走隐式拒绝返回伪随机 K̄(含纠错译码)
ntruKeyGen NTRU 密钥生成(真参数) EESS v3.1 口径真参数 NTRU(ees401ep1/ep2/ees439ep1/ees659ep1,q=2048)密钥对生成,产品式私钥 f=1+p·F1·F2+p·F3;与 ntruToy 玩具参数无关
ntruEncrypt NTRU 加密(真参数) EESS v3.1 真参数 NTRU 加密:e = r∗h + m mod q(SVES 系数映射 + 随机 b 字段),被动安全核心 PKE(非完整 SVES CCA-2)
ntruDecrypt NTRU 解密(真参数) EESS v3.1 真参数 NTRU 解密:a = f∗e mod q → 中心化 (−q/2,q/2] → mod 3 → SVES 逆映射还原明文(含零填充/长度校验)
blsKeyGen BLS 密钥生成 BLS(Boneh–Lynn–Shacham)密钥生成,对齐 IETF draft-irtf-cfrg-bls-signature:BLS12-381 + RFC 9380,ciphersuite BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_。sk ∈ [1,r-1](留空按 draft KeyGen 随机),pk=[sk]G1(48B 压缩,与 ETH2 互通)
blsSign BLS 签名 BLS 签名:σ = [sk]·H(m),H 为 RFC 9380 hash_to_curve(恒定时间,官方 ciphersuite DST)。签名 σ 为 96B 压缩 G2 点;同域签名可聚合(见聚合验签)
blsVerify BLS 验签 BLS 验签:e(σ, G1) ?= e(H(m), pk),含公钥 KeyValidate(非无穷远 + 子群校验)。主输入填原消息;参数填公钥(48B)与签名(96B)
blsAggVerify BLS 聚合验签 BLS 聚合验签(basic 方案):n 组 (pk, 消息, 签名) 聚合后一次配对检查;消息须两两互异(draft §3.1.1,防 rogue-key),逐组 KeyValidate。主输入每行一组:pk_hex 空格 签名_hex;消息放参数框逐行对应
merkleProve Merkle 包含证明 SHA-256 Merkle 树:主输入每行一个叶子,参数给叶子序号(0 起)→ 输出根、叶子哈希与兄弟路径;单叶奇数位补自身(Bitcoin 口径)
merkleVerify Merkle 证明验证 验证 Merkle 包含证明:主输入填叶子原文,参数填根/路径 JSON(merkleProve 产物)
pedersenCommit Pedersen 承诺 椭圆曲线 Pedersen 承诺 C = m·G + r·H(BLS12-381 G1;H 由 RFC 9380 hash-to-curve 派生,离散对数不可知 → 计算性绑定成立):完美隐藏 m、计算性绑定。m 为十进制整数(< r),r 盲化因子留空随机;勾选验证则以承诺+明文+盲化子打开校验
feldmanVss Feldman VSS Feldman 可验证秘密分享(t-out-of-n,BLS12-381 G1,生产级校验):多项式 f(x)=s+a₁x+…+a_{t−1}x^{t−1},份额 (i, f(i)),承诺 A_j=[a_j]G。秘密按十进制字符串精确解析(无精度丢失);t 须为 ≥1 整数、n≥t、不静默扩份额。勾选验证模式校验单份份额
lsagSign LSAG 环签名 LSAG 环签名(Liu–Wei–Wong 2004,BLS12-381 G1):n 选一匿名签名 + key image 可链接(同私钥在同环的两签可被关联)。Hp 由 RFC 9380 hash-to-curve 生成(离散对数不可知 → 不可由公开值定位签名者)。主输入填消息;参数填环公钥列表(每行 48B 压缩 hex)、签名者私钥与其在环中的 index
lsagVerify LSAG 环签名验证 LSAG 验签:主输入填原消息;参数填环公钥列表与签名 JSON(lsagSign 产物)。同 key image 的两签即同签者(可链接)
elgamal ElGamal ElGamal 公钥加密:密文 (c1,c2),c1=g^k c2=m·y^k,解密 m=c2·(c1^x)⁻¹。密文格式 c1,c2(逗号分隔)
elgamalKeyGen ElGamal 密钥生成 ElGamal 公钥密钥对一键生成(HAC §8.4.1):安全素数 p=2q+1 + 原根 g + 私钥 x + 公钥 y=g^x。产物直接配套「ElGamal」op 的加密/解密参数
pemToHex PEM → DER PEM(任意 BEGIN/END 标签)提取 DER 原始字节:base64 解码 + RFC 7468 §6 宽松清洗(剥空白、丢注脚行、跳过 EC PARAMETERS 参数块)。输出 DER hex 或 16 字节 hexdump。对拍可用 openssl asn1parse / xxd -r -p。附带规范 base64 与识别出的标签。不解析 DER 结构(解析见 PEM→JWK)
hexToPem DER → PEM DER(hex 或 base64)封装为 PEM:RFC 7468 §5.2 格式,64 字符折行。标签可选 RSA PRIVATE KEY / PRIVATE KEY / PUBLIC KEY / EC PRIVATE KEY / CERTIFICATE 或自定义。hex/base64 自动判别(auto 下全 hex 字符按 hex 处理)。附带尝试 DER 顶层解析提示(不强制合法 DER)
pemToJwk PEM → JWK PEM 私钥/公钥 → JWK JSON(RFC 7517/7518)。RSA:PKCS#1(RFC 8017 §A.1.2)/ PKCS#8(RFC 5208)/ SPKI(RFC 5280)→ n,e,d,p,q,dp,dq,qi;EC:SEC 1(RFC 5915)/ PKCS#8 / SPKI → crv,x,y,d,曲线 OID 映射 P-256/P-384/P-521(RFC 5480)+ secp256k1(RFC 8812 §3.2)。字段 base64url 无 padding(RFC 4648 §5);缺公钥坐标时现算 d·G。附 n 位长与 x/y hex 行便于对拍 openssl -text
jwkToPem JWK → PEM JWK JSON → PEM。RSA 私钥出 PKCS#1 + PKCS#8 两块(RFC 8017 §A.1.2 / RFC 5208,CRT 参数缺 dp/dq/qi 时自动推导);RSA 公钥出 SPKI(RFC 5280)。EC 私钥出 SEC 1 传统 + PKCS#8 两块(RFC 5915 / RFC 5480 §2.2,内嵌版按标准省略 [0] 曲线参数);EC 公钥出 SPKI(BIT STRING = 04‖X‖Y)。私钥缺公钥坐标时现算 d·G 补全
pubFromPriv 私钥 → 公钥 由私钥提取公钥(PEM 或 JWK 输入)。RSA:公钥 = (n, e),出 SPKI PEM(RFC 5280)+ JWK(RFC 7518 §6.3.1)。EC:公钥 = d·G 椭圆曲线点乘(雅可比坐标实现),出 SPKI PEM + JWK{crv,x,y};曲线由私钥结构 OID(RFC 5480)或 JWK crv 字段判别。输出与 openssl pkey -pubout 可逐字节对拍
rsaSign RSA 签名 RSASSA PKCS#1 v1.5 与 PSS 签名(RFC 8017):EM 按 §9.2/§9.1 构造后 s = EM^d mod n(modPow 复用 primeGen)。私钥支持十进制 n,d 或 PEM(PKCS#1 RSA PRIVATE KEY / PKCS#8 PRIVATE KEY)。PSS 盐长默认 hLen;同钥同文两次签名不同是 PSS 随机盐的预期行为。512 位模数跑不了 SHA-256 以上的 PSS(emLen < hLen+sLen+2),换大钥或减盐长
rsaVerify RSA 验签 RSASSA PKCS#1 v1.5 与 PSS 验签(RFC 8017 §8.2.2/§8.1.2):s^e mod n 恢复 EM 后逐项校验(v1.5 重算 EM 逐字节比较;PSS 查 0xbc 哨兵/左位零/DB 结构/H 重算),输出合法/不合法与失败位置。公钥支持十进制 n,e 或 PEM(PUBLIC KEY SPKI / RSA PUBLIC KEY)。签名 hex 或十进制。PSS 盐长可选自动反推
ed448Sign Ed448 签名 Ed448 纯 EdDSA 签名(RFC 8032,SHAKE-256,57 字节密钥/114 字节签名,~224 位安全级):私钥留空随机生成,输出公钥与签名。支持 context(可选)。过 RFC 8032 §7.4 九组官方向量
ed448Verify Ed448 验签 Ed448 纯 EdDSA 验签(RFC 8032 §5.2.7):公钥 + 114 字节签名 + 原消息,校验 [4][S]B = [4]R + [4][k]A。篡改消息/签名任一字节即失败
x448KeyGen X448 密钥生成 Curve448 密钥对生成(RFC 7748):私钥 56 字节随机(或给定)→ 公钥 = X448(clamp(私钥), 基点 5)。配套「X448 共享密钥」op 做 ECDH
x448Shared X448 共享密钥 Curve448 上的 ECDH(RFC 7748 §6.2):双方私钥算共享密钥(两侧互验一致),或我方私钥 + 对方公钥直接算。共享密钥可下载
gostSign GOST R 34.10-2012 签名 俄罗斯国标 EC 签名(RFC 7091,哈希 Streebog-256/512 按参数集):私钥留空随机生成,输出公钥 Q 与签名 ζ = R||S(大端)。k 可固定供教学复算。过 RFC 7091 §7.2 官方向量 + pygost 对拍
gostVerify GOST R 34.10-2012 验签 俄罗斯国标 EC 验签(RFC 7091 §6.2):公钥 Q(x,y) + 签名 ζ = R||S + 原消息,复算 C = z1·P + z2·Q 比对 x(C) mod q。篡改任一环节即失败
pgpGenKeyPair PGP 密钥对生成 PGP 密钥对生成(RFC 4880,openpgp.js v5.11.3):Curve25519(默认)/ RSA-1024/2048/3072/4096 / ECC P-256/P-384/P-521,可选口令保护私钥。输出 ASCII Armor 公/私钥块,公/私钥分开下载(私钥 ⚠ 敏感)
pgpEncrypt PGP 加密 PGP 加密(RFC 4880 CFB/EAX,openpgp.js):明文 + 公钥块 → ASCII Armor 密文;可选附带私钥签名(先签后加)
pgpDecrypt PGP 解密 PGP 解密(openpgp.js):ASCII Armor 密文 + 私钥块(+口令)→ 明文;密文若带签名顺带给出验签结果
pgpSign PGP 签名 PGP 签名(RFC 4880,openpgp.js):明文 + 私钥块 → cleartext signed(可读签名文本);产物 .sig
pgpVerify PGP 验签 PGP 验签(openpgp.js):签名文本/分离签名 + 公钥块 → 合法/不合法 + 签名人
pgpEncryptAndSign PGP 加密并签名 PGP 加密并签名(先签后加密,openpgp.js):明文 + 对方公钥 + 本方私钥 → 密文(内嵌签名)
pgpDecryptAndVerify PGP 解密并验签 PGP 解密并验签(openpgp.js):密文 + 本方私钥 + 签名者公钥 → 明文 + 验签结论
pgpParseKey PGP 密钥解析 PGP 密钥解析(RFC 4880 包结构,openpgp.js):公/私钥块 → KeyID/算法/创建时间/指纹/用户ID/子钥表/能力标志
ed25519KeyGen Ed25519 密钥生成 Ed25519 密钥生成(RFC 8032 §5.1.5):私钥 32 字节随机(或给定)→ h=SHA-512(私钥),a=clamp(h[0:32]),公钥 = encodePoint(a·B)。配套「签名/验签」档使用
ed25519Sign Ed25519 签名 Ed25519 签名(RFC 8032 §5.1.6):r=H(prefix‖M) mod L,R=r·B,k=H(R‖A‖M) mod L,S=(r+k·a) mod L,签名=R(32B)‖S(32B)。确定性签名(无随机 nonce)。输出含自检验签
ed25519Verify Ed25519 验签 Ed25519 验签(RFC 8032 §5.1.7):检查 8·S·B == 8·R + 8·k·A(实现用非批量 S·B == R + k·A)。输入公钥 (32B)、签名 (64B) 与消息
mldsaKeyGen ML-DSA 密钥生成 FIPS 204 ML-DSA-44/65/87(后量子签名)密钥对生成,种子 ξ 可固定复现(FIPS 204 §6.1 种子扩展),纯 JS 实现毫秒级
mldsaSign ML-DSA 签名 FIPS 204 签名:私钥 sk + 消息(text/hex)+ 上下文 ctx(≤255B);hedged 随机 rnd(§5.4 推荐)或确定性 rnd=0;Fiat–Shamir with aborts
mldsaVerify ML-DSA 验签 FIPS 204 验签:pk + 消息 + 签名 → 合法/不合法(含 sigDecode 严格结构检查、‖z‖∞ 与 hint 上限校验、c̃ 重算比对)
slhdsaKeyGen SLH-DSA 密钥生成 FIPS 205 SLH-DSA-SHA2(后量子哈希签名)密钥对生成,种子 3n 字节可固定复现(Alg 18),纯 JS。顶层子树建房 2^树高 个 WOTS 叶子,秒级起
slhdsaSign SLH-DSA 签名 FIPS 205 签名:私钥 sk + 消息(text/hex)+ 上下文 ctx(≤255B);hedged 随机 rnd 或确定性 rnd=空(Alg 22,R=HMAC(sk_prf, addrnd‖0x00‖|ctx|‖ctx‖M))。纯哈希树 WOTS+/FORS/hypertree 逐层建房,128s/192s/256s 生成秒级起(~10^5 次哈希),128f 快但签名大
slhdsaVerify SLH-DSA 验签 FIPS 205 验签:pk + 消息 + 签名 → 合法/不合法(FORS+HT 路径重算根节点比对公钥根);签名长度不符直接判非法
knapsack 背包加密(Merkle-Hellman) Merkle-Hellman 背包公钥加密:私钥超递增序列 w+模数 q+乘数 r,公钥 β=w·r mod q;加密按 bit 求和,解密用 r⁻¹ 还原后贪心解背包。密文=逗号分隔十进制块。
dsaParamGen DSA 密钥对/参数组生成 DSA 密钥对与参数组生成(参数生成算法按 FIPS 186-4 附录 A.1.1/A.2.1;参数组限制按 SP 800-131A Rev.2 §3;FIPS 186-5 已整体移除 DSA 的参数与密钥生成,仅保留旧签名验证,本工具按 186-4 供兼容核对):q(N 位素数)→ p=k·q+1(L 位素数)→ g=h^((p-1)/q) mod p(阶 q 生成元)→ 私钥 x ∈ [1,q-1],公钥 y=g^x mod p。仅认可现行 (L,N)=(2048,224)/(2048,256)/(3072,256),1024 及以下已废止
dsaSign DSA 签名 DSA 数字签名(FIPS 186-4 §4):r=(g^k mod p) mod q,s=k⁻¹(z+x·r) mod q,k ∈ [1,q-1] 每消息唯一。hash 支持直接整数 H(m)(CTF 常态)或 SHA-1(消息文本)。输出含自检验签
dsaVerify DSA 验签 DSA 验签(FIPS 186-4 §4):0<r,s<q,w=s⁻¹ mod q,v=((g^u1·y^u2) mod p) mod q,通过 ⟺ v==r。hash 支持直接整数 H(m) 或 SHA-1(消息文本)
dsaReuseK DSA 重用 k 攻击 DSA nonce 重用攻击(CTF 高频):两条签名用同一 k(表现为 r1==r2)时,k=(z1-z2)(s1-s2)⁻¹ mod q,x=(s1·k-z1)·r⁻¹ mod q。hash 支持直接整数 H(m) 或 SHA-1(消息文本)。可选填 p/g/y 反向校验
x509Parse X.509 证书解析 解析 X.509 证书(RFC 5280 §4.1):PEM(CERTIFICATE)或 DER hex 输入。输出版本/序列号/签名算法(OID+名称,含 RSASSA-PSS 参数)/签发者与主体 DN(X.501 逐 RDN,CN/O/C 等 100+ OID 友好名 + RFC 4514 串)/有效期(UTCTime/GeneralizedTime + 过期判定,时间基准可参数覆盖)/公钥参数(RSA n 位长+e、EC 曲线+点、Ed25519/DSA)/扩展明细(SAN DNS/IP/email/URI、BasicConstraints CA、KeyUsage 位、SKID/AKID、EKU、AIA + 全扩展 OID 总表)/签名值 hex。对拍 openssl x509 -text -noout。负例(非证书 PEM/截断 DER)中文报错
sshHostKeyParse SSH 公钥解析(authorized_keys/known_hosts) 解析 SSH 公钥:authorized_keys 行(ssh-ed25519 AAAA... comment)、known_hosts 行(含 @revoked/@cert-authority 标记与主机列表前缀)、RFC 4716 SSH2 公钥块(ssh-keygen -e 输出)或裸 base64 blob。按 RFC 4251 §5 wire 格式解出算法与参数(ssh-rsa n 位长+e / ssh-ed25519 32 字节公钥 / ecdsa-sha2-nistp256|384|521 曲线+点 / ssh-dss / sk-* FIDO 变体),输出 SHA-256(SHA256:xxx 无 padding base64)与 MD5 两版指纹(与 ssh-keygen -lf / -E md5 -lf 逐字一致)+ 规范行重建。不支持的 key 类型(如 SSH 证书)中文报错
csrParse CSR 证书请求解析(PKCS#10) 解析 PKCS#10 证书签名请求(RFC 2986):PEM(CERTIFICATE REQUEST / NEW CERTIFICATE REQUEST)或 DER hex 输入。输出版本/主体 DN(X.501 逐 RDN + RFC 4514 串)/公钥(RSA n 位长+e、EC 曲线+点、Ed25519)/attributes 属性(challengePassword RFC 2985 1.2.840.113549.1.9.7、extensionRequest 请求扩展展开)/签名算法+签名值,并按声明算法对 certificationRequestInfo 原始字节做一致性校验(RSA PKCS#1 v1.5 完整验签 RFC 8017 §8.2.2;ECDSA 验 r,s 结构与曲线位长)。对拍 openssl req -text -noout。负例(非 CSR PEM/截断 DER)中文报错
crlParse X.509 CRL 吊销列表解析 解析 X.509 证书吊销列表(RFC 5280 §5.1 CertificateList):PEM(X509 CRL)或 DER hex 输出。输出版本/签发者 DN/thisUpdate/nextUpdate(含过期判定)/revokedCertificates 逐条(序列号 hex+十进制、吊销日期、entry 扩展:reasonCode 吊销原因枚举 §5.3.1、invalidityDate §5.3.2)/CRL 扩展(cRLNumber、deltaCRLIndicator、AKID §5.2)/签名算法(内外两处一致性校验 §5.1.1.2)+签名值。列表循环纯解析,10 万条 revoked 内性能可接受。对拍 openssl crl -text -noout。负例(非 CRL PEM/截断 DER)中文报错
lweToy LWE 玩具加解密 后量子教学:Regev LWE(q=257, n=8)比特加解密演示——理解格密码公钥机制(非生产参数)
ntruToy NTRU 玩具加解密 后量子教学:NTRU 截断多项式环(n=8, q=257, p=3)加解密演示——理解 NTRU 机制(非生产参数)
rabin Rabin 密码 Rabin 公钥密码(p≡q≡3 mod4):加密 c=m² mod n,解密用 CRT 求 4 个平方根 + 尾部魔数消歧。纯 BigInt 本地计算。
paillierKeyGen Paillier 密钥对生成 生成 Paillier 密钥对(1999 论文口径):等长素数 p,q → n=p·q,g=n+1,λ=lcm(p-1,q-1),μ=(L(g^λ mod n²))⁻¹ mod n。公钥 (n,g) 加密,私钥 (λ,μ) 解密。原 demo 演示档已并入:生成密钥后接「加密 → 同态加 → 解密」三档即可跑通 E(m1)·E(m2)=E(m1+m2) 完整流程
paillierEncrypt Paillier 加密 Paillier 公钥加密:明文 m ∈ [0,n),选随机 r∈Z_n*(gcd(r,n)=1),c = g^m·r^n mod n²。g 留空按标准简化选取 n+1
paillierDecrypt Paillier 解密 Paillier 私钥解密:m = L(c^λ mod n²)·μ mod n,其中 L(x)=(x-1)/n。输入密文 c(十进制 / 0x hex)
paillierHomAdd Paillier 同态加 Paillier 加法同态性质:E(m1)·E(m2) mod n² = E(m1+m2)。输入两个密文(逗号/空白分隔),输出可直接用「解密」档解出的和密文。CTF 高频:已知 n 时无需私钥即可对密文做加法篡改
schnorrKeyGen Schnorr 密钥对生成 生成 Schnorr 密钥对(secp256k1):私钥 d ∈ [1,n-1],公钥 P=d·G。配套「签名/验签/nonce 重用攻击」档使用
schnorrSign Schnorr 签名 经典 Schnorr 签名(secp256k1,挑战 e=H(R.x‖P.x‖m) mod n):R=k·G,s=(k+e·d) mod n,签名=(e,s)。私钥留空随机。⚠ 两条消息复用同一 nonce k 会泄露私钥(教学可用)
schnorrVerify Schnorr 验签 Schnorr 验签:R' = s·G − e·P,e' = H(R'.x ‖ P.x ‖ m) mod n,e' == e 即有效。输入公钥 (Px,Py)、签名 (e,s) 与消息
schnorrReuseK Schnorr nonce 重用攻击 Schnorr nonce 重用攻击(ECDSA 重用 k 的姊妹题):同一私钥、同一 k 签两条不同消息 ⇒ d=(s1−s2)/(e1−e2) mod n,k=s1−e1·d mod n。输入两条签名 (e1,s1)(e2,s2)
falconKeyGen Falcon 密钥生成 Falcon/FN-DSA 密钥生成(规范 v1.2):logn=9/10 → n=512/1024,采样 f,g,Berd 判界,解 NTRU 方程 f·G−g·F=q,输出公钥(0x09/0x0A + 14bit 系数流)与官方三段私钥(0x59/0x5A + trim_i8(f,g,F))。纯 JS;1024 档通常 <2s。种子留空走统一随机源,固定 48B seed 可复现。
falconSign Falcon 签名 Falcon/FN-DSA 签名(规范 v1.2 算法 15):输入消息与官方三段私钥(0x59/0x5A)或本工具四段私钥;SHAKE256 哈希到点,ffSampling 动态 LDL 取样,范数 ≤⌊β²⌋ 才输出。签名 = 0x39/0x3A ‖ nonce(40B) ‖ comp(s2),直接交给「Falcon 验签」。nonce/种子留空走统一随机源;显式给出可复现 KAT。
falconPkParse Falcon 公钥解析 解析 Falcon/FN-DSA 公钥(规范 v1.2 §3.11.4:头字节 0000nnnn + n×14bit 大端系数流,q=12289):档位、长度、系数统计与合法性逐项报告。支持 Falcon-512(897 字节)与 Falcon-1024(1793 字节),hex 或 base64 输入
falconVerify Falcon 验签 Falcon/FN-DSA 格签名验证(规范 v1.2 算法 16):c = SHAKE256(nonce‖消息) 哈希到点(16bit 大端采样、t<61445 接受);s1 = c − s2·h mod (x^n+1, 12289) 居中;‖(s1,s2)‖² ≤ ⌊β²⌋(512 档 34034726 / 1024 档 70265242)则有效。自动识别规范格式(0x39/0x3A 压缩、0x59/0x5A CT)与 NIST API signed-message(KAT/PQClean 风格);格式错与签名错分列报出
kzgVerify KZG 证明验证 KZG 多项式承诺打开验证(EIP-4844):配对恒等式 e(C − y·G1, [1]₂) == e(π, [s]₂ − z·[1]₂)。手动四元组模式验 z/y/承诺/证明;blob 模式由 blob+承诺按 Fiat-Shamir(FSBLOBVERIFY_V1_)自动派生 z/y 再验。BLS12-381 主网可信设置公开常量,与 c-kzg-4844 官方向量逐字节对拍。这是承诺体系验证原语,不是加密
kzgCommit KZG blob 承诺 由 EIP-4844 blob(4096 个 32 字节域元素)计算 KZG 承诺与版本哈希:承诺 = 取值向量对主网可信设置 G1 Lagrange 点的线性组合(位反转域序);版本哈希 = 0x01 ‖ SHA-256(承诺)[1..31]。可同时生成打开证明并自验。不实现可信设置生成;这是承诺,不是加密,无法从承诺还原 blob
ntruCca2Encrypt NTRU CCA-2 加密 NTRU CCA-2 变体加密(hash-based SVES,EESS1 v3.1 + P1363.1 映射之上加 MGF1-SHA256 绑定):b 与盲化 r 均由明文哈希确定性派生,加密全确定可复现;解密端重算 MGF 校验 b——不一致拒绝(重加密校验思想)。教学演示口径,无官方 KAT,生产请用 ML-KEM 等标准 KEM。明文 UTF-8,密钥来自「NTRU 密钥生成」
ntruCca2Decrypt NTRU CCA-2 解密 NTRU CCA-2 变体解密(与「NTRU CCA-2 加密」配对):EESS1 解密数学还原 M 后,重算 MGF1-SHA256(明文) 与恢复的 b 比对——不一致即拒绝(密文被篡改);另做 octL/零填充双重校验。教学演示口径(无官方 KAT),底层 PKE/SVES 与「NTRU 系列原语」同源
sshKeyParse OpenSSH 私钥解析 OpenSSH openssh-key-v1 容器解析/解密转 PEM(PROTOCOL.key):支持 aes256-ctr/aes256-cbc + bcrypt KDF(bcrypt_pbkdf)与未加密档;ssh-ed25519/ssh-rsa/ecdsa-nistp256/384/521;输出结构报告、SHA256 指纹与 PKCS#8/SEC1 私钥 PEM(RFC 5958/8017/SEC1)。口令只在本地处理,零外发
jwkOkpImport JWK OKP 导入 JWK OKP 导入(RFC 8037/7517/7515):Ed25519/X25519 的 JSON JWK → 公钥/私钥 hex + SPKI 公钥 PEM + PKCS#8 私钥 PEM(RFC 8410 曲线 OID,RFC 5958)。Ed25519 自动做 d→x 一致性校验;X25519 结构校验。密钥材料只在本地处理零外发
jwkOkpExport JWK OKP 导出 JWK OKP 导出(RFC 8037/7517):SPKI 公钥 PEM / PKCS#8 私钥 PEM / raw hex(公钥 32B、Ed25519 私钥 seed 32B、Ed25519 seed‖公钥 64B)→ 标准化 JWK JSON(kty OKP,base64url 无 padding)。Ed25519 自动重算校验;密钥材料只在本地处理零外发
cmsVerify CMS / PKCS#7 验签 CMS/PKCS#7 SignedData 签名验证(RFC 5652):DER/BER 解析,attached 内嵌内容与 detached 外部原文;多 SignerInfo 逐个验证,支持 issuerAndSerialNumber 与 subjectKeyIdentifier;校验 signedAttrs 的 contentType/messageDigest 并按 DER SET OF 重算签名;摘要 SHA-256/384/512,签名 RSA PKCS#1 v1.5 与 ECDSA P-256/384/521;解析签名者证书 SPKI/SKID/KeyUsage。仅本地验签,不做证书链/CRL/OCSP/时间戳
x509Verify X.509 证书链验签 X.509 证书链验签:解析 PEM 多证书或单张 DER,逐级用签发者公钥验签(RSA PKCS#1 v1.5 SHA-256/384/512、ECDSA P-256/384/521、Ed25519),检查有效期、issuer/subject 衔接、CA 位/keyCertSign/pathLen,可自备信任锚证书或 SHA-256 指纹;不联网、不内置系统根、不做 CRL/OCSP。
sshsigVerify OpenSSH SSHSIG 验签 解析 OpenSSH SSHSIG 签名(armored 或 binary),验签 Ed25519 / RSA(rsa-sha2-256/512)/ ECDSA P-256/384/521;检查 namespace、hash_algorithm、内嵌公钥类型与签名类型;可提供期望公钥(authorized_keys 行)或 SHA-256 指纹建立身份信任;不读私钥、不联网、不做 allowed_signers 多签名者策略。
sigVerify 统一验签入口 自动识别 JWT/JWS、PGP、SSHSIG、X.509、CMS/PKCS#7 并路由到现有/候选验签 op;统一输出协议、算法、签名者、有效期、结论与失败原因。只做分诊与报告,不重复实现底层验签;未知格式显式报错,缺密钥/缺原文/未接线分别标 UNVERIFIED/BLOCKED,不伪造 PASS
hexToOid 十六进制 → 对象标识符 把 ASN.1 OBJECT IDENTIFIER 的十六进制内容(不含 06/长度)解为点分十进制,首段按 40*X+Y 还原。依据 ITU-T X.690 §8.19
oidToHex 对象标识符 → 十六进制 把点分十进制 OID 编码为 ASN.1 内容字节的十六进制(首段 40*X+Y + base-128 varint)。依据 ITU-T X.690 §8.19

现代密码·其他(33 ops)

opId 名称 说明
fernet Fernet 对称令牌(AES-128-CBC + HMAC-SHA256,key 为 base64url 32 字节)
xorStrings XOR 循环补齐 循环异或:明文与密钥短侧各自循环补齐到较长一侧再异或(自反)
chacha20Poly1305 ChaCha20-Poly1305 AEAD RFC 8439 AEAD_CHACHA20_POLY1305:key 32B / nonce 12B / aad 均为 hex;明文可选 UTF-8 文本或 hex,加密输出 hex(密文‖16B tag,未加分隔);解密可直接吃该 hex 或另填 tag,tag 不符立即报错。RFC 8439 §2.8.2 官方向量校验通过。
jwt JWT JSON Web Token 签发(HS256/384/512)/解析+验签
jwtNone JWT None 攻击 alg:none 无签名 JWT 构造 / 攻击检测
jweIdentify JWE 结构识别 JWE 紧凑序列化 5 段拆解(RFC 7516)
pasetoIdentify PASETO 识别 PASETO 令牌结构识别(v1-v4 / local / public)
jwtSign JWT 签发 JWT 签发(HS256/384/512 + RS256/384/512 + ES256/384/512 + None,RFC 7519/7518)
jwtVerify JWT 验签 JWT 三段解析 + 重算签名比对(HS*/RS*/ES* + none),指出不匹配段
godzillaPhpXorBase64 哥斯拉 PHP_XOR_BASE64 Godzilla webshell PHP_XOR_BASE64 流量解密(base64 + XOR,偏移 key[(i+1)&15])。key 默认 3c6e0b8a9c15224a(密钥「key」派生)
behinderAesEcb 冰蝎 AES-ECB Behinder(冰蝎) v3 默认 AES-128-ECB 流量解密(base64 + AES-ECB)。key 默认 e45e329feb5d925b(密码「rebeyond」派生)
ror13Hash ROR13 API 哈希 PE 恶意软件 API 哈希(32 位循环右移 13 累加)。对输入逐字节累加 + ROR 13,输出 8 位 hex 哈希。单向不可逆。常见 API 权威向量: LoadLibraryA=0xEC0E4E8E、GetProcAddress=0x7C0DFCAA。
byteArith 字节算术 (mod 256) 逐字节算术/位运算。算术档 add/sub/mul 模 256 可逆(mul 仅奇数 key 有逆元);位运算档 and/or/not 为 CC BitwiseOp 语义(decode 不还原)。key 支持 Hex/Decimal/Binary/Base64/UTF8/Latin1 字节数组,left=周期重复、right=左补 0 对齐。
bwt BWT 块排序变换 Burrows-Wheeler 变换(bzip2 核心,可逆不加密)。encode 输出 'BWT串|primary';哨兵模式末尾加 $ 无需 primary。decode 用 LF-mapping 还原
flaskSessionDecode Flask Session 解码 解 Flask session cookie(itsdangerous v1/v2 通用:payload.timestamp.signature,payload=base64url 可选 zlib 压缩 JSON)→ JSON + 时间戳;填 secret 可顺带验签
flaskSessionSign Flask Session 签发 JSON payload + secret → 完整 Flask session cookie(itsdangerous HMAC-SHA1 默认;zlib 自动压缩按其dangerous 规则)
flaskSessionVerify Flask Session 验签 重算 HMAC 签名常数时间比对 → 合法/不合法 + 时间戳 + maxAge 过期检查
hotp HOTP HOTP 计数器一次性密码(RFC 4226,input=密钥;HMAC + 动态截断)
totp TOTP TOTP 时间一次性密码(RFC 6238,input=密钥;time=0 用当前时间)
dlp 离散对数求解(DLP) 求解 g^x ≡ h (mod p) 中的 x。BSGS(小阶 O(√n))/ Pollard rho(大阶省内存)双策略,纯 BigInt。h 可填主输入框。
ascon Ascon-AEAD128 NIST SP 800-232 轻量级认证加密(2025 标准版):rate 128bit、初始化/终结 p[12]、数据块 p[8]、IV 0x00001000808c0001、小端字节序(与 v1.2 互不通用)。key/nonce 各 16 字节 hex,nonce 留空加密时随机;加密输出真正的密文字节产物(密文+tag,可下载;text 为其无损 hex),解密可直接吃该字节产物或 hex 文本,tag 不符即报错。NIST LWC KAT + ACVP 官方向量验证。
bb84Qkd BB84 量子密钥分发仿真 BB84 协议教学仿真(Bennett-Brassard 1984 / Gisin et al. 2002):随机基矢发送-测量 → 基矢比对筛密 → 抽样估误码率检出窃听 → 剩余为最终密钥。支持信道误码率、Eve 截获-重发窃听率、可复现种子。Eve 全拦时筛后误码率 ≈ 25%
jwsSign JWS 签发 JWS 签发(RFC 7515 compact):HS256/384/512 对称、RS256(RSA PKCS#1 v1.5)、ES256(P-256)。header/payload JSON + 密钥 → JWS;产物 token.jws。RFC 7515 A.2.1 官方向量逐字验证
jwsVerify JWS 验签 JWS 验签(RFC 7515 compact):重算签名逐字节比对,输出合法/不合法 + payload + header 全字段
jweEncrypt JWE 加密 JWE 加密(RFC 7516 compact):dir+AES-256-GCM(alg=dir, enc=A256GCM)——CEK 直接给 32B hex;五段输出,第二段为空。额外 header 不得更改 alg/enc
jweDecrypt JWE 解密 JWE 解密(RFC 7516 compact,dir+A256GCM):重算 GCM 认证标签,输出明文 + header 全字段;篡改任一段必拒
pasetoV4Sign PASETO v4 签发(public) PASETO v4.public 签发(协议规范 §4.1,Ed25519):payload JSON + Ed25519 私钥 hex(64B 种子‖公钥)+ 可选 footer/implicit → v4.public token。v4.local(XChaCha20)暂不支持
pasetoV4Verify PASETO v4 验签(public) PASETO v4.public 验签:token + Ed25519 公钥(32B hex)→ 合法/不合法 + payload + footer;PAE 域分离防拼接(协议规范 §4.1)
shamir Shamir 秘密共享 Shamir's Secret Sharing(GF(2^8)):encode 把秘密拆成 n 份分片(阈值 k),decode 用任意 ≥k 份还原。少于 k 份无法得到秘密任何信息(信息论安全)。分片格式:每行 x:hex。
jwtCrack JWT 密钥爆破(小字典演示) HS256/384/512 签名 JWT 的弱密钥小字典演示:内置弱密钥 + 自定义 + 纯数字,重算 HMAC 签名逐个比对。本工具不做大规模爆破——大字典请用 hashcat -m 16500(https://hashcat.net)或 John the Ripper 的 JWT 格式。算法自动识别自 header(可强制指定);RS/ES 等非对称签名拒绝
xoodyakAead Xoodyak-AEAD NIST 轻量级密码竞赛决赛方案 Xoodyak 的认证加密(Cyclist 双色域):key 16 字节 / nonce 16 字节 / 关联数据可空,tag 固定 16 字节。加密方向:明文(UTF-8 或 hex)→ hex(密文‖tag);解密方向:吃同格式 hex,tag 不符即报错。nonce 必填且须一次性使用(不自动生成随机数)。NIST 官方 KAT 全量对拍通过
mpcToy 安全多方计算玩具(教学) MPC 教学玩具:beaver 模式用三方加法分享 + Beaver 1991 乘法三元组完成一次 a×b,打印各方 share、掩码值 d/e 与重建自证,并演示单方 share 看不出明文;ot 模式模拟 1-of-2 不经意传输的「盲化 → 两条掩码消息 → 只解一条」流程。教学演示,非生产级:无 MAC/承诺/零知识证明,OT 是确定性 PRF 模拟(无 RSA/DDH 陷门,公开 seed 即可解出两条),不具备真实安全性
quantumToy 量子算法玩具(Grover / Shor) 量子算法 statevector 教学模拟:grover 走完整的 H→oracle 相位翻转→扩散演化,逐轮打印命中概率并与理论最优轮数 round(π/(4θ)-1/2) 对拍(常用近似 ⌈π/4·√N⌉ 在小 N 会高估 1 轮);shor 只做 N=15/21 的顺序查找切片(模幂置换 + DFT + 连分数),输出周期与因子并自证 p×q=N。教学演示,非生产级:n≤5、无噪声/退相干/纠错、模幂直接作用在状态向量上而非线路级分解,N 稍大即指数爆炸

哈希 / 校验(82 ops)

opId 名称 说明
md5 MD5 MD5 消息摘要(128 位,RFC 1321,纯 JS)
md4 MD4 MD4 消息摘要(128 位,RFC 1320,纯 JS,NTLM 基础)
sha1 SHA-1 SHA-1 消息摘要(160 位,FIPS 180-4 纯 JS);Rounds 可调(默认 80,与 CyberChef SHA1 对齐)
sha256 SHA-256 SHA-256 消息摘要(256 位,WebCrypto);mode=all 时输出全部可用摘要(同 CyberChef Generate all hashes)
sha384 SHA-384 SHA-384 消息摘要(384 位,WebCrypto)
sha512 SHA-512 SHA-512 消息摘要(512 位,WebCrypto)
hmac HMAC HMAC 消息认证码(参数:密钥 + 哈希算法,WebCrypto)
crc32 CRC32 CRC32 校验(IEEE 802.3,查表法)
crc16 CRC16 CRC16 校验(CCITT-FALSE,多项式 0x1021)
ntlm NTLM NTLM 哈希(MD4 of UTF-16LE 密码,Windows 密码存储)
sha3 SHA-3 SHA-3(FIPS 202,纯 JS Keccak,位宽可选 224/256/384/512)
keccak256 Keccak(多档) Keccak 海绵函数(原 Keccak padding 0x01,位宽 224/256/384/512,默认 256;256 位与以太坊 Keccak-256 一致)
shake128 SHAKE128 SHAKE128 可扩展输出(FIPS 202,参数:输出字节数)
shake256 SHAKE256 SHAKE256 可扩展输出(FIPS 202,参数:输出字节数)
ssdeep SSDEEP 模糊哈希 CTPH 上下文触发分段哈希(ssdeep 同源):数据 → blocksize:hash1:hash2 签名,两签名比对出 0-100 相似度;找同源/变种样本(改几个字节分数仍高)。算法逐行对照 ssdeep 官方 fuzzy.c,过 C 库官方向量
sm3 SM3 国密哈希(GB/T 32905-2016,前身 GM/T 0004-2012,256 位,国内 CTF 高频);Length/Rounds 与 CyberChef 同名参数对齐
ripemd160 RIPEMD(多档) RIPEMD 消息摘要(位宽 128/160/256/320,默认 160;160 位比特币地址用)
blake2b BLAKE2b BLAKE2b 哈希(RFC 7693,最多 64 字节输出,默认 512 位);可选 keyed 与 Output Encoding(Hex/Base64/Raw)
blake2s BLAKE2s BLAKE2s 哈希(RFC 7693,最多 32 字节输出,默认 256 位);可选 keyed 与 Output Encoding(Hex/Base64/Raw)
adler32 Adler-32 Adler-32 校验和(RFC 1950,zlib 用,32 位)
crc8 CRC-8 CRC-8/SMBus(poly=0x07,8 位校验)
crc8_maxim CRC-8/MAXIM CRC-8/MAXIM(Dallas 1-Wire,poly=0x31 反射,8 位校验)
crc64 CRC-64 CRC-64/ECMA-182(poly=0x42F0E1EBA9EA3693,64 位校验;与 CRC-64/XZ 参数不同)
crc32c CRC-32C CRC-32C/Castagnoli(poly=0x1EDC6F41,iSCSI/ext4/SSE4.2,与 IEEE CRC32 不同)
fnv1a FNV-1a FNV-1a 非加密哈希(位宽可选 32/64;32 位 offset=0x811C9DC5/prime=0x01000193,64 位 offset=0xCBF29CE484222325/prime=0x100000001B3)
murmur3_32 MurmurHash3-32 MurmurHash3 x86 32 位非加密哈希(可选 seed 与 Convert to Signed;默认 hex 保持项目旧输出)
md6 MD6 MD6 哈希(Rivest 2008 NIST SHA-3 提案,未终选无 RFC 终稿;Merkle 树结构,默认 256 位)
snefru Snefru Snefru 哈希(Merkle 1990,Snefru 2.5a;Size 32-480(step 32)与 Rounds 2/4/8 与 CyberChef 对齐;默认 256/8 保持项目旧输出)
sha0 SHA-0 SHA-0(FIPS 180 原版 1993,被 SHA-1/FIPS 180-1 替换,仅历史兼容;与 SHA-1 唯一差异是消息扩展不旋转);Rounds 默认 80
has160 HAS-160 HAS-160(韩国 KISA TTAS.KO-12.0011/R2,KCDSA 配套摘要,160 位)
gostHash GOST R 34.11-94 老 GOST 哈希(RFC 5831,基于 GOST 28147-89;注意与本箱 Streebog 的 GOST R 34.11-2012 是两个不同算法)
poly1305 Poly1305 MAC RFC 8439 §2.5 Poly1305 一次性认证码:key 为 32B hex(前 16B 是 r,后 16B 是 s),消息可选 UTF-8 文本或 hex,输出 16B tag 的 hex。key 与 nonce/消息必须一次性使用;RFC 8439 §2.5.2 官方向量校验通过。
ghash GHASH(GCM 认证哈希) NIST SP 800-38D §6.4 的 GHASH:输入 H(16B hex)、AAD(hex,可空)、密文(主输入 hex),输出 16B 认证块的 hex。GCM 的最终 tag = GHASH ⊕ E_K(J0),本 op 只算 GHASH 本身;NIST GCM Test Case 2/4 官方向量校验通过。
argon2 Argon2 KDF(Argon2d/i/id) RFC 9106 口令密钥派生(PHC 冠军),内存困难型,Argon2d/i/id 三型可选
tiger Tiger / Tiger2 哈希(192-bit) Anderson-Biham Tiger/192(ED2K/TTH 等 P2P 场景常见);Tiger2 为 0x80 填充变体
kupyna Kupyna 哈希(DSTU 7564:2014) 乌克兰国家标准哈希(Grøstl 近亲),256/384/512 位输出可选
kmac KMAC KMAC128/KMAC256 消息认证码(NIST SP 800-185,cSHAKE)
cmacExt CMAC 扩展 通用 CMAC 消息认证码(ISO/IEC 9797-1 / RFC 4493 结构),底层分组密码可选 Camellia/SEED/Twofish/RC6(128 位块 Rb=0x87)或 IDEA/Blowfish/CAST-128(64 位块 Rb=0x1B)。单块 KAT 逐字背书。
sha224 SHA-224 SHA-224 消息摘要(FIPS 180-4,纯 JS——WebCrypto 不支持 SHA-224):SHA-256 压缩函数 + 专属 IV + 输出截断 224 位。与 SHA-256 同族同强度逻辑(SHA-256 截断档),与 SHA-3(Keccak 海绵结构)完全不同系。本实现与 node:crypto/OpenSSL 逐字节对拍
cshake cSHAKE cSHAKE128/256 可定制 XOF(NIST SP 800-185 §3.3):SHAKE 加「函数名 N」与「定制串 S」域分隔输入(bytepad(encode_string(N)‖encode_string(S)) 前缀,pad 0x04)。N=S 同时为空 ⇔ SHAKE128/256(spec 等价)。KMAC = cSHAKE(N="KMAC") 的封装(见 KMAC op);SHA-3 = 定长 KECCAK[c]。海绵复用 hash.js Keccak-f[1600],与 pycryptodomex 逐字节对拍
crcGeneric 通用 CRC(参数化) CRC 通用计算(width/poly/init/refIn/refOut/xorOut 可配置,含 CRC-16/CRC-32 常用预设)。run 单向,输出十六进制
crc16Modbus CRC-16/MODBUS CRC-16/MODBUS(poly=0x8005, init=0xFFFF, refIn/refOut=true, xorOut=0x0000,Modbus RTU 用)
crc16CcittTrue CRC-16/CCITT-FALSE CRC-16/CCITT-FALSE(poly=0x1021, init=0xFFFF, refIn/refOut=false, xorOut=0x0000)
crc16Arc CRC-16/ARC CRC-16/ARC(poly=0x8005, init=0x0000, refIn/refOut=true, xorOut=0x0000,LHA/ARC 用)
crc16Xmodem CRC-16/XMODEM CRC-16/XMODEM(poly=0x1021, init=0x0000, refIn/refOut=false, xorOut=0x0000,XMODEM 协议用)
fletcher Fletcher Fletcher 校验和(位宽可选 8/16/32/64;8 位模 15,16 位按字节流模 255,32 位按 16 位字小端模 65535,64 位按 32 位字小端模 2^32-1)。输入模式 inputMode:auto(默认,纯 hex 偶数长度按字节解,否则 UTF-8)/ text(强制 UTF-8)/ hex(强制十六进制,非法输入报错)
bsdSum BSD checksum BSD checksum(16 位寄存器逐字节右旋 1 位后累加,BSD sum 命令,输出 16 位)。输入模式 inputMode:auto(默认)/ text(强制 UTF-8)/ hex(强制十六进制,非法输入报错)
sysvSum SysV checksum SysV checksum(按字节求和后折叠至 16 位,SysV sum 命令,输出 16 位)。输入模式 inputMode:auto(默认)/ text(强制 UTF-8)/ hex(强制十六进制,非法输入报错)
verhoeff Verhoeff 校验 二面体群 D₅ 五阶校验位算法(d 乘法表 + p 置换表 + inv 逆表):validate 校验 / generate 算校验位 / strip 去校验位;捕获全部单字错误与大多数换位错误
md2 MD2 MD2 消息摘要(128 位,RFC 1319,256 字节置换表 + 校验字节,纯 JS);Rounds 与 CyberChef 对齐(默认 18)
pbkdf2 PBKDF2 PBKDF2 密钥派生(RFC 2898/8018,input=口令,输出 hex;CTF 高频)
hkdf HKDF HKDF 密钥派生(RFC 5869,input=IKM 输入密钥材料,输出 hex)
lmHash LM Hash Windows LM Hash(口令转大写→14 字节→双 DES-ECB 加密 KGS!@#$%)
evpBytesToKey EVP_BytesToKey OpenSSL 口令派生 key/iv(openssl enc -k 的派生算法,默认 MD5,count=1)
asconHash Ascon-Hash256 NIST SP 800-232 轻量级哈希:sponge 结构、rate 64bit、全程 p[12] 轮置换、IV 0x0000080100cc0002、小端字节序,输出 32 字节摘要。注意与老 Ascon-Hash(v1.2) 的 IV/字节序/填充均不同,结果不通用。NIST LWC KAT + ACVP 官方向量验证。
streebog Streebog(GOST R 34.11-2012) 俄罗斯国标哈希 Streebog(GOST R 34.11-2012 / RFC 6986):512 位输出(可选 256 位截断),Merkle-Damgård + 12 轮压缩函数,信创与俄系赛题常见。参数 len=512/256。过 RFC 6986 §10 官方向量。
bcrypt Bcrypt Bcrypt 口令哈希 / 校验(OpenBSD,$2a$/$2b$/$2y$,EksBlowfish,cost 4-31)
siphash SipHash-2-4 / 1-3 SipHash 键控 64 位 PRF/MAC(Aumasson-Bernstein 2012):哈希表抗碰撞标准(Python/Rust 等运行时用)。16 字节密钥,输出 64 位。支持 SipHash-2-4(默认)与 SipHash-1-3。
scrypt scrypt 密钥派生 scrypt 内存硬化口令密钥派生(RFC 7914):Salsa20/8 + BlockMix + ROMix 内存硬化,抗 ASIC/GPU 爆破。用于磁盘加密、加密货币钱包、口令存储。参数 N(2 的幂)/r/p/dkLen。
balloon Balloon 密钥派生 Balloon 内存硬口令 KDF(Boneh/Corrigan-Gibbs/Schechter 2016,SHA-256 实例):盐参与伪随机访问模式(原版设计),delta=3 伪随机块混入。抗 GPU/ASIC 暴力。参数 sCost(空间块数)/tCost(轮数)/delta。
lyra2 Lyra2 密钥派生 Lyra2 内存硬口令 KDF(PHC 2014,Blake2b 海绵位率 768bit):reduced-round duplex 填充内存矩阵 + 奇偶轮 Wandering 随机访问。抗 GPU/ASIC 暴力。参数 tCost(轮数)/mCost(行数,≥2)/nCols(basil 参数)/kLen。
yescrypt yescrypt 密钥派生 yescrypt 内存硬口令 KDF(Solar Designer,openwall 官方参考实现):flags=0 输出与经典 scrypt 完全一致;WORM=最小偏差;RW 默认=prehash + 12KB S-box pwxform + wrap 随机访问 + SCRAM 尾处理。抗 GPU/ASIC。参数 N(2 的幂)/r/p/t/dkLen。
blake3 BLAKE3 BLAKE3 加密哈希(O'Connor/Aumasson/Neves/Wilcox-O'Hearn 2020):BLAKE2 G 函数 + Merkle 树 + 无限输出(XOF)。7 轮压缩,chunk=1024 字节。默认 32 字节输出,可扩展。官方 test_vectors 验证。
pearson Pearson 哈希 Pearson 快速哈希(CACM 1990):h:=T[h^c] 逐字节迭代,T 为 0..255 置换表(Wikipedia 参考表)。极简非加密哈希,多字节输出用首字节替身扩展。可选输出 1..32 字节。
whirlpoolHash Whirlpool(CC 变体/轮数) Whirlpool-0 / Whirlpool-T / Whirlpool 三变体 + Rounds 1-10,输出小写 hex;参数与 CyberChef Whirlpool 对齐。
whirlpool Whirlpool Whirlpool 哈希(Barreto & Rijmen,ISO/IEC 10118-3:2004):512 位输出,Miyaguchi-Preneel 模式套 AES 风格 512 位分组密码,8x8 字节状态 10 轮。S 盒按规范用 4 位 mini-box 生成,载入时跑官方向量自检。
skein Skein Skein 哈希(NIST SHA-3 决赛候选,Threefish 可调分组密码 Miyaguchi-Preneel 模式):Skein-256/512/1024 状态,输出 224~1024 位。SHA-3 决赛圈里以速度著称,Skein-512-512 与 Threefish 同核。已过 Skein3Fish skein_golden_kat.txt 官方向量。
grostl Grøstl Grøstl 哈希(NIST SHA-3 决赛五强之一,Thomsen/Matusiewicz,公钥密码学背景):Grøstl-256 用 512 位状态、Grøstl-512 用 1024 位状态,两个并行置换 P/Q 的宽管道压缩 h'=h⊕Q(m)⊕P(h⊕m),双射结构保证高速。已过 C oracle(官方 NIST 提交编译)交叉验证。
jh JH JH 哈希(NIST SHA-3 决赛五强之一,Hongjun Wu 清华/新加坡南阳理工):1024 位 bitslice 状态,42 轮 E8 双射 + MDS 扩散,JH-224/256/384/512 四种输出。bitslice 设计使其在 Intel 平台高速实现。已过 C oracle(官方参考编译)交叉验证。
xxhash xxHash 极速哈希 xxHash32 / xxHash64(Yann Collet):非加密极速哈希,4 条 lane 并行 striping + 乘旋异或混合。常见于 LZ4/Zstd 校验、数据库索引、文件去重。可选种子(十进制或 0x 十六进制)。载入时跑官方向量自检。
cityhash CityHash 非加密哈希 CityHash 高速非加密哈希(Google cityhash):CityHash32/64 + WithSeed/WithSeeds。Murmur 风格混合,非加密不抗碰撞,用于哈希表/指纹/去重。输入 text/hex,输出 hex,完全单向。已过官方 city-test 向量。
poseidon Poseidon Poseidon 素域哈希(HADES 结构原版,ZK/Merkle 树常用):状态为素域元素向量,全轮全宽 S-box x^5、部分轮仅对 1 个元素做 S-box,线性层为 Cauchy MDS 矩阵乘法——面向素域 Z/p 的 ZK 哈希,不是 SHA-3(Keccak 比特海绵)。含 BN254(circomlib 事实标准 + 参考实现双口径)与 BLS12-381 实例,常量来自官方实例文件并经官方测试向量逐字验证
poseidon2 Poseidon2 Poseidon2 素域哈希(Poseidon 的改进版,ZK/Merkle 树常用):外部全轮用 M_E 线性层、内部部分轮用稀疏 M_I(部分轮仅 1 个 S-box),RF=8——面向素域 Z/p 的 ZK 哈希,不是 SHA-3(Keccak 比特海绵)。含 BN254 t=3 与 BLS12-381 t=2/3/4 实例,常量与向量取自论文作者团队官方仓库参考实现
xoodyakHash Xoodyak-Hash NIST 轻量级密码竞赛决赛方案 Xoodyak 的哈希模式:Xoodoo[12] 置换(384 位状态,θ/ρwest/ι/χ/ρeast 五步)+ Cyclist 单色域海绵,吸收块 16 字节,输出 32 字节摘要。输入任意文本或 hex 字节。NIST 官方 KAT 全量对拍通过
ipChecksum TCP/IP 校验和 RFC 1071 反码和校验:16 位大端分组、进位回卷、取反码,输出小写十六进制。口径同 CyberChef「TCP/IP Checksum」
xorChecksum XOR 分块校验和 把输入按块大小分块,逐列异或后输出等长十六进制。口径同 CyberChef「XOR Checksum」
parityBit 奇偶校验位 对二进制串计算偶/奇校验位:可放块首或块尾,可编码或解码,可按分隔符逐块处理。口径同 CyberChef「Parity Bit」
crcChecksum CRC Checksum(CC 全预设) CyberChef CRC Checksum 对齐:171 个命名 CRC 预设 + Custom(width/poly/init/refIn/refOut/xorOut),输出小写 hex。BigInt 支持 3-82 位宽度;不影响既有 crcGeneric/crc32/crc16。
generateAllChecksums Generate all checksums(CC 对齐) CyberChef Generate all checksums 对齐:按 CC 同顺序输出 171 个 CRC + Fletcher-8/16/32/64 + Adler-32,支持 Length (bits) 过滤与 Include names。
sha2 SHA-2(CC 六档) SHA-2 全六档(SHA-512/384/256/224/512-256/512-224)+ Rounds,输出小写 hex;参数与 CyberChef SHA2 对齐。
ctph CTPH(模糊哈希) Context Triggered Piecewise Hashing(Kornblum 2006,ctph.js 同算法),输出 bi:hash1:hash2。
generateAllHashes Generate all hashes(CC 对齐) CyberChef Generate all hashes 对齐:按 CC 同顺序输出 44 个摘要(含 Whirlpool 三变体、GOST、SSDEEP、CTPH),支持 Length (bits) 过滤与 Include names。

进制 / 字符集(83 ops)

opId 名称 说明
iban IBAN 校验位(mod-97) ISO 13616 IBAN 校验:国家长度表(89 国)+ 移位 mod-97。encode=国家代码+BBAN 生成完整 IBAN,decode=校验合法性
mayaNumerals 玛雅数字 非负整数 ↔ 玛雅 vigesimal 点横数字(点=1 条=5 贝壳=0,位值×20);unicode 档用 Unicode 玛雅数字块 U+1D2E0..U+1D2F3 一字一位,dotbar 档用 . 和 -(零层写 0,工具约定);longcount 档第三位起按 18×20=360 长纪历(uinal≤17)
babylonianNumerals 巴比伦数字 非负整数 ↔ 巴比伦 60 进制楔形数字(竖楔=1 横楔=10,位间空格,最高位在左);unicode 档用 dCode 14 字形表(𒐕..𒐐,位内先十后个),ascii 档用 | 与 <(dCode 记法);无零——文本以 0 占位(工具约定),前导零报错
egyptianNumerals 埃及数字 非负整数 ↔ 埃及圣书体加法数字(7 符号各为 10 的幂:𓏺=1 𓎆=10 𓍢=100 𓆼=1000 𓂭=10000 𓆐=100000 𓁨=1000000,按次数重复;无零,0 报错);编码降幂规范形,解码任意顺序求和;紧凑组合字形档与分数省略(无逐条权威来源)
radixConvert 进制互转 任意进制 2-36 互转(BigInt 防溢出)
asciiRadix 字符↔进制ASCII 字符↔各进制 ASCII(UTF-8 字节序列,定宽空格分隔;二进制支持 7/8 位、0-1 取反、位反转)
ieee754 IEEE754 浮点 浮点↔十六进制(半/单/双精度)
bcd BCD 码 十进制数字串↔BCD 十六进制串;mode=cc 时同 CyberChef From/To BCD(7 种 Scheme/Packed/Signed/Nibbles·Bytes·Raw)
binPad 二进制补零对齐 十进制数字→指定位宽二进制串(补零)
hybridCode 混合进制解码 前缀 b/x/o/d 分别按 2/16/8/10 进制解析字符
separationAscii 数字串分割 ASCII 长数字串贪婪分割成可打印 ASCII(10/16/8/2 进制尝试)
asciiOffset ASCII 偏移 每个字符 ASCII 码加偏移(offset=0 穷举 -26..26)
decimalToFloat 十进制转任意进制浮点 十进制数/分数转 2-36 进制小数:支持指定目标进制、精度上限与循环节检测(如 0.1₂=0.0(0011)),用 BigInt 有理数精确换基,不用 Number 冒充精确;base=0 仍输出 2/8/10/16 四档
binaryComplement 原码反码补码 十进制数→原码/反码/补码(8/16/32 位自适应)
floatToDecimal 任意进制浮点转十进制 「十进制转任意进制浮点」的反向:输入 2-36 进制浮点串(可带正负号、匹配进制的 0b/0o/0d/0x 前缀、循环节 0.(3)),按 BigInt 有理数精确展开为十进制,循环节与截断都明确标注。用于还原题目给出的非十进制浮点
complementToDec 原反补码转十进制 「原码反码补码」的反向:给定位串,分别按原码/反码/补码三种约定解释为十进制负数或正数。位宽留空按串长;负数三种编码的差异一并列出
completion 补零对齐 多段二进制串补零到等长(bits=0 按最长,8/16 定宽)
splitHex Hex N 位分割 长 hex 串按 2/4/8 位分割
standardCode 字符集互转 文本→多字符集 hex 编码 / hex→多字符集解码(utf-8/utf-16/gbk/big5 等)
timestamp 时间戳 ↔ 时间 时间戳↔时间互转(auto 自动判断,秒/毫秒自适应)
gcd 最大公约数 多个数的 GCD 和 LCM
primeFactor 素数分解 质因数分解(BigInt)
fibonacci 斐波那契解码 把文本中的大斐波那契数(fib[32+])替换为对应字符
negabase 负进制 十进制 ↔ 负进制(base=-2/-10 等,可逆,BigInt)
balancedTernary 平衡三进制 三态 T/0/1(T=-1)↔ 十进制整数(可逆)
factorialBase 阶乘进制 n = Σ d_i·i!(0 ≤ d_i ≤ i,冒号分隔,可逆)
zeckendorf Zeckendorf 表示 正整数 ↔ 不连续斐波那契求和的 01 串(可逆)
roman 罗马数字 阿拉伯数字(1-3999) ↔ 罗马数字(可逆)
chineseNum 中文数字 阿拉伯 ↔ 中文数字(零一二三…,可逆,含负数)
continuedFraction 连分数 有理数 p/q ↔ 连分数序列 [a0; a1, ...](可逆)
sternBrocot Stern-Brocot 路径 正分数 ↔ L/R 路径串(可逆)
collatz Collatz 序列 正整数 → Collatz 猜想序列(3n+1,run 单向)
primeGen 大素数生成 Miller-Rabin 检验生成指定位数的大素数(确定性版本,crypto CSPRNG)(素性检验用 primeTest,四则/分解用 bigCalc)
primeTest 素性检验(Miller-Rabin) 判定大整数是否素数并给出位长与轮数说明:n < 3.3e24 用 13 个固定质数 witness 确定性判定(FIPS 186-4 Table C.2),更大 n 按轮数(FIPS 186-5 App. B,随机基误判 < 4^-rounds)
ipv4Int IPv4 ↔ 整数 IPv4 点分十进制 ↔ 32 位整数(支持 0x/八进制/0b 变体,inet_aton 语义)
ipv6Format IPv6 压缩/展开 IPv6 规范压缩(RFC 5952)↔ 全展开 8 组 4 位十六进制;report=true 时输出 CyberChef Parse IPv6 address 同口径的 longhand/shorthand 与保留段报告
macFormat MAC 地址格式互转 MAC 冒号/连字符/点分/整数互转(48 位,自动识别输入格式)
cidrCalc CIDR 子网计算 网络/广播地址、掩码、反掩码、主机范围、IP 类与私有段判定(单向);mode=auto 时同 CyberChef Parse IP range,支持 CIDR/连字符/列表与 IPv6
userAgentParse User-Agent 解析 解析 UA 字符串:浏览器/引擎/操作系统/设备类型(单向)
unixTime Unix 时间戳 ↔ ISO8601 Unix 时间戳(秒/毫秒/微秒 auto,有符号,允许契约内负值)↔ ISO8601(UTC)
filetime Windows FILETIME ↔ ISO8601 FILETIME(1601 纪元 100ns,64 位无符号)↔ ISO8601;拒绝负值、越界、早于 1601
hfsTime Mac HFS+ 时间 ↔ ISO8601 HFS+(1904 纪元 秒,32 位无符号,上限 2040-02-06)↔ ISO8601;拒绝负值、越界、早于 1904
cocoaTime Cocoa 时间 ↔ ISO8601 Cocoa(2001 纪元 秒,有符号,允许契约内负值)↔ ISO8601
dosDateTime DOS 日期时间 ↔ ISO8601 DOS FAT 4 字节打包日期时间(1980+)↔ ISO8601
chineseDate 汉字日期 ↔ ISO8601 汉字日期(二〇〇〇年一月一日)↔ ISO8601(仅日期,UTC 午夜)
tzConvert 时区转换 ISO8601 时区转换(支持 UTC / ±HH:MM 偏移)
luhn Luhn 校验位 Luhn 校验(信用卡/IMEI,ISO/IEC 7812)。encode=算校验位,decode=校验合法性;Radix≠10 时走 Luhn mod N(同 CyberChef Luhn Checksum 报告格式)
isbn ISBN-10/13 校验位 ISBN-10(模 11,校验位可能 X)/ ISBN-13(模 10)校验。encode=算校验位,decode=校验
ean13 EAN-13 校验位 EAN-13 条码校验(模 10,奇位×1 偶位×3)。encode=算校验位,decode=校验
cnidCheck 身份证 18 位校验位 中国身份证 18 位校验位(GB 11643-1999,校验位可能 X)。encode=算校验位,decode=校验
upc UPC-A 校验位 UPC-A 条码校验(模 10,奇位×3 偶位×1)。encode=算校验位,decode=校验
bankBin 银行卡 BIN 识别 银行卡前 6 位 BIN 识别(卡组织 + 发卡行,单向)
geoDms 度分秒 ↔ 十进制 DMS(度°分′秒″H,H=N/S/E/W)↔ DD(十进制度)。秒可带小数。
geoHash Geohash 编码 geohash.org 算法。base32 表去 a/i/l/o,纬经度交替二分。CTF 地理坐标高频。
geoPlusCode Plus Code / OLC Google Open Location Code(OLC)。字母表 23456789CFGHJMPQRVWX。码长为显著位数(不含 +):2/4/6/8/10 成对编码,11~15 追加 4×5 网格细分;<8 用 0 填充。默认 10 位(11 字符含 +)。
geoMaidenhead Maidenhead 网格 业余无线电网格定位。field(20°/10°)+square(2°/1°)+subsquare(5'/2.5'),可扩展。CTF Ham 常见。
geoUtm UTM 坐标 WGS84 椭球 + Snyder USGS 公式。60 区 6°宽,字母带 C-X(跳 I/O)。输出 Zone+字母带+东距+北距(如 31U 448251 5411937)。
color 颜色编码互转 RGB ↔ HSL ↔ HSV ↔ CMYK ↔ Hex ↔ 整数色值 ↔ CSS 颜色名(W3C 标准 147 命名色)多向互转。encode=from→to,decode=to→from
colorInfo 颜色全息信息 输入任意格式颜色,输出 RGB/Hex/HSL/HSV/CMYK/整数/CSS 命名色 + 最近命名色 + 24 位二进制
bitReverse 位反转 每字节 8 位镜像翻转(bit 0↔7, 1↔6...)。encode: 文本→Hex;decode: Hex→文本。自逆变换。
bitRotate 位循环移位 字节内循环移位 1-7 位(或 CyberChef Bit shift left/right 同口径的逐字节移位)。encode 按所选方向移;decode 反向移还原(shift 档不还原,同 CC 单向语义)。文本↔Hex。
byteSwap 字节序反转 按 2/4/8 字节分组反转字节顺序(大小端转换,自逆)。文本模式: 文本↔Hex;Hex 模式: Hex↔Hex(大小端互转,长度须为组的整数倍)。
bitPlaneExtract 位平面提取 抽取每字节指定位组成比特串(k=0 LSB .. 7 MSB)。有损单向。默认输出全部 8 个位平面。
byteReverse 整串字节倒序 整个字节流首尾倒序(File-Reverse,区别于 byteSwap 定长分组端序反转)。文本模式: 文本→倒序字节 Hex;Hex 模式: Hex↔Hex 整串倒序(自逆)。
julianDate 儒略日 ↔ ISO8601 儒略日(JD,公元前 4713-01-01 12:00 UT 起日数含小数)↔ ISO8601。J2000.0 = 2451545.0
excelDate Excel 序列日期 ↔ ISO8601 Excel 序列日期 ↔ ISO8601(1900 系统默认,含 1900 闰年 bug 注记;可选 1904 Mac 系统)
chromeTime Chrome 时间 ↔ ISO8601 Google/Chrome 时间(1601-01-01 纪元 微秒,BigInt)↔ ISO8601。与 FILETIME(100ns) 单位不同
snowflakeId 雪花 ID 解析 Twitter/Discord 雪花 ID 解析(64 位拆 timestamp+数据中心+工作节点+序列号,run 单向报告)
unixPerms UNIX 文件权限 权限形态互转报告:755 / 4755 八进制 ↔ rwxr-xr-x / rwsr-xr-t 符号形 ↔ 二进制位 ↔ chmod 命令,含 setuid/setgid/sticky 特殊位与各身份明细
hammingCode 海明码 Hamming Code 单纠错海明码 (n,k):编码插校验位,解码纠 1 位错(默认 k=4 即 (7,4))
bech32 Bech32 编码 BIP173/BIP350 Bech32/Bech32m 编码与比特币 SegWit v0-v16 地址(HRP + payload + BCH 校验和),支持 hex/raw 输入
uuidParse UUID 解析 UUID v1-v8 解析(版本/变体/时间戳/MAC/命名空间说明,RFC 4122)
varint VarInt (LEB128) Protobuf LEB128 变长整数编解码(无符号 + ZigZag 有符号,BigInt 支持大数)
generateUuid 生成 UUID (Generate UUID) 生成 RFC 9562 UUID(v1/v3/v4/v5/v6/v7;v3/v5 需命名空间)
pipNumerals 点数记数(骰面 / 骨牌) 十进制数字串 ↔ 点数(pips)符号:dice 档 1–6 ↔ ⚀⚁⚂⚃⚄⚅(U+2680–2685),domino 档数字对 0–6 ↔ 横/竖骨牌(U+1F031–61/1F063–93);非法值(0/7–9、奇数长度、背面、异朝向)显式报错,空白透传
bigCalc 大数计算器(BigInt) BigInt 大整数运算:四则/截断余/整数幂/模幂/模逆/gcd·extgcd·lcm/素性检验/邻素数/素因子分解(试除+Pollard rho Brent)/整数开方/位长。div 为截断除、mod 符号随被除数(同 BigInt 语义)
primeInspector 素数判定与筛选 对大整数输出 8 档判定依据报告(梅森 Lucas-Lehmer/孪生/索菲·热尔曼/安全/费马/2^(2^e)−1 形「P素数」/强素数/p±1 B-光滑),或按区间·位数+条件勾选筛选素数(梅森/费马走特形枚举;限时+上限,可取消)
randomSeed 随机种子生成 crypto CSPRNG 生成随机字节(hex/base64)
randomSecure 增强随机安全 查看 / 切换随机源档位、查看随机源状态、按指定长度取随机数(hex/base64)
randBeacon 公开随机信标验证 验证 drand / NIST 公开随机信标:用官方签名(BLS12-381 / RSA)与链式结构离线复算,证明记录真实且未被篡改。价值在『可公开验证、事后不可篡改』,不是『更随机』;它不是密钥随机源,与密钥生成完全隔离。默认零网络请求,仅用户显式『拉取』才联网。
radixAll 一键多进制转换 单输入自动嗅探(0x/0b/0o 前缀 / 十进制 / 分隔符),一次列出 2/8/10/16/32/36/62 进制对照 + Base64 + 数值字节 + UTF-16 码元 + Unicode 码位 + 该码位 UTF-8 + 位宽;负数给 8/16/32/64 位补码;全 01 串歧义时并列多种解读。BigInt 大数无精度损失。
progCalc 程序员计算器 位运算表达式求值(手写递归下降解析器,无 eval):& | ^ ~ << >> >>> + - * / % **、括号、rotl/rotr 循环移位;8/16/32/64 位字宽掩码回绕(全程 BigInt),有/无符号切换;一次输出十进制/十六进制/八进制/二进制(4 位分组)/补码/popcount/前导零/尾随零。
objectIdTime ObjectID 时间戳解析 BSON ObjectId(12 字节:4 字节大端 Unix 秒 + 5 字节随机值 + 3 字节大端计数器)解析:24 位十六进制 → 生成时间(UTC) + 随机值 + 计数器(run 单向报告)

分析 / 爆破(50 ops)

opId 名称 说明
xorBrute XOR 单字节爆破 对输入逐字节异或 0-255,输出全部结果(可过滤可打印)
freqDist 字符频率分布 统计字符出现次数和占比(按次数降序,可选大小写过滤/归并 + 升序)
entropy 香农熵 计算香农熵(bits/char,判数据随机性,随机字节≈8.0,英语≈4.0-4.5)
wordFreq 词频统计 分词统计词频(按次数降序)
hammingDistance 汉明距离 两段文本的字节级汉明距离(破 XOR key 长,用换行分隔两段)
levenshtein 编辑距离 Levenshtein 编辑距离(插入/删除/替换,DP);Sample delimiter 与三类代价与 CyberChef 对齐,默认输出保持旧格式
strContrast 等长 ASCII 对比 逐字符对比两段文本的 ASCII 差值
debruijn De Bruijn 序列 生成 De Bruijn 序列(pwn 缓冲区溢出偏移定位,输入地址查偏移)
textIntConverter 文本↔大整数 文本 ↔ 大整数互转(RSA 题,文本按字节拼成大整数或反向还原)
extractHashes 提取哈希串 正则提取文本中的 hex 哈希串(32-128 位)
getAllCasings 大小写全排列 生成所有大小写组合(字母 ≤20,防爆)
alternatingCaps 交替大小写 交替大小写转换(如 sPoNgEbOb 文本)
knnClassify KNN 分类(新能源车 A/B) K 近邻分类:训练集 CSV(首列 A/A车/B/B车 标签 + 数值特征)放参数,待检测 CSV(首列序号 + 数值特征)放输入框,逐行预测 A/B;支持 k、euclidean/manhattan、平票 tieBreak,输出每条预测、距离、统计,并把预测位按 MSB 解 ASCII(A=0/B=1)。拖入 GBK CSV 字节自动识别。
hashTypeIdentify 哈希类型识别 按长度+字符集+前缀识别哈希算法(MD5/SHA1/SHA256/NTLM/bcrypt/MySQL/crypt/Argon2/LDAP 等)
vigenereAuto 维吉尼亚全自动破解 guballa 相邻 bigram 算法:语言画像 + 逐密钥长度全枚举 + 全段精修;支持经典/Beaufort/变体/Autokey、6 种语言、flag 前缀 crib
hillKnownPlain Hill 已知明文攻击 已知明文+密文还原 Hill 密钥矩阵(C·P⁻¹ mod 26,须可逆)
playfairCrack Playfair 爬山破解 模拟退火 + 四元组适应度爬山恢复 Playfair 方阵与明文(长密文更稳)
freqAnalysis 频率分析(n-gram) 单字母/双字母/三字母频率统计 + 出图数据(ASCII 条形图 + JSON 数据)
icAnalysis 重合指数 IC(含分组) 整体 IC + 分组 IC(判单表/多表替换 + Vigenère key 长估计,英语≈0.0667,随机≈0.0385)
kasiskiTest Kasiski 检验 重复 n-gram 间隔 GCD → Vigenère 密钥长度候选
chiSquareAnalysis 卡方检验(详细) 密文 vs 英语字母频率的卡方检验(字母级观测/期望对比表);mode=bytes 时为 CyberChef 同口径的 256 桶字节分布卡方值
subCipherSolver 单表替换自动求解 N-gram 适应度爬山(迭代局部搜索)自动破解单表替换密码,可锁定已知映射加速
caesarBrute 凯撒/ROT 自动求位移 对 0-25 位移逐一打分(卡方 + 四元组),自动找最佳位移并输出排名 + ROT47;bruteMode=rot13/rot47 时按 CyberChef 同口径枚举可能位移(可过滤 crib)
plausibaer 坐标公式求解(Plausibär) 枚举坐标中的未知变量与中间公式,输出所有合法经纬度/十进制坐标/地图链接(guballa.de Plausibär 本地复刻)
ecCurveIdent 椭圆曲线参数识别 识别 secp256k1/P-256/Curve25519 等曲线(输入曲线名 / 点分 OID / DER OID,输出域参数 p,a,b,G,n,h)
sstiKeyword SSTI 关键字识别 服务端模板注入(SSTI)静态特征扫描:识别 Jinja2/Twig/FreeMarker/Velocity/Smarty 等引擎的模板定界符、经典 RCE 利用链关键字与 7*7 探测 payload,给出引擎推断。只识别不执行
xorCribDrag XOR crib-drag 已知明文拖动 已知明文片段拖动异或:逐位置 C XOR crib 输出候选密钥/明文 + 可打印率
shaLengthExtend SHA 长度扩展 SHA-1/SHA-256 长度扩展攻击:已知 (hash, 原消息长度) 伪造追加内容后的哈希(MD5 版见 hashLengthExtension)
birthdayCollision 生日碰撞演示 截断 SHA-256 的生日碰撞(bitLen 位,期望 2^(b/2) 次):教学演示哈希碰撞的本质
dictGen 字典生成 字符集笛卡尔积 / 掩码(@小写 !大写 #数字 $符号)生成字典,上限 100 万条
formatSniff 格式嗅探 识别输入的格式/特征(JWT/URL/PEM/哈希/编码/密钥/坐标/时间戳等),给 CTF 惊喜提示
flagExtract flag 自动提取器 递归多编码解码 + flag{} 正则闭环:白名单 26 个常用 decode op 递归跑,命中即输出 flag + 解码链路(maxDepth 默认 3)
xorAnalyze xortool 一体化(重复密钥 XOR 分析) 汉明距离猜 key 长度 + 卡方打分逐字节恢复 key + bigram 组合择优 + 解密结果:纯前端 xortool,keylen 1-64 可配
spiralMatrix 螺旋矩阵读取 网格字符按螺旋顺序 ↔ 文本:顺/逆时针、左上起、逐圈内收。解码=读矩阵,编码=按螺旋填矩阵。单行输入可指定列数切块
nonogram 数织 / Nonogram 求解 给行/列连续块约束求解 0/1 点阵(图案常是二维码/字符/flag)。线求解器迭代收敛,两段输入用 --- 分隔,上限 40×40
randu RANDU 弱 LCG RANDU(x=65539·x mod 2^31)教学演示:生成序列 + 周期性说明,经典三维空间 15 平面弱随机数
truncLcgRecover 截断 LCG 种子恢复 mod 2^32 截断 LCG(x=a·x+c):已知连续输出高位(k 位)穷举低未知位恢复种子(未知 ≤24 位)
babaiCvp Babai 最近平面(CVP) LLL 归约 + Babai 最近平面:格上最近向量问题 CVP 的近似求解(「格基向量」框每行一个基向量,「目标向量」框填目标)
hnpRecover HNP 隐藏数问题 ECDSA 弱 nonce 攻击:m 个签名 nonce k_i = t_i + x(x 共享小未知量)时穷举 x 恢复私钥 d(输入:每行 h r s t)
spnAnalysis SPN 差分/线性分析 教学工具:4-bit S 盒的差分分布表(DDT)与线性逼近表(LAT)+ 最强差分/线性特征(默认 PRESENT S 盒)
md5CollisionShow MD5 截断碰撞演示 教学演示:截断 MD5(默认 32 位,16-48 整数)生日法找碰撞对(不同输入同截断哈希),按位精确截断(非整 nibble),展示哈希碰撞本质
crc32Reverse CRC32 反向碰撞 表驱动 CRC32 反向求解:给定目标 CRC32 直接反推 4 字节补丁(O(1) 查表不穷举),可加可打印字符前缀搜索得到可读碰撞串。CTF 伪造文件 CRC / ZIP 伪加密用
geffeGenerate Geffe 生成器 Geffe 组合生成器(Geffe 1973):3 个 LFSR + 非线性组合函数 f=x1x2⊕x2x3⊕x3 输出 keystream。已知 3 LFSR 抽头+初态+输出长度 → keystream(自验/构造测试用;可接「Geffe 相关攻击」验证还原初态)
geffeAttack Geffe 相关攻击 Geffe 生成器相关攻击(Siegenthaler 1984):f 与 x1/x3 相关性 P=3/4>1/2,穷举 2^L 初态按匹配率恢复 L1/L3(正确 ≈0.75,错误 ≈0.5);LFSR2 P=0.5 无相关性,可选 bruteL2 穷举+L1/L3 验证。输入 keystream + 3 LFSR 抽头
pcapRepair pcap 文件修复 诊断+修复损坏 pcap/pcapng:经典 pcap(非法/缺失 magic 按 record 链反推重写、全局头缺失前插标准头、字节序翻转、snaplen/version 修正、incl_len 越界截断);pcapng 块级保守修复(SHB magic/BOM 重写、SHB 缺失前插、块长首尾失配重写、链断裂自洽重同步,歧义只诊断不补造)。输出修复后 hex
lfsrRecover LFSR 序列恢复 Berlekamp-Massey 求二元序列最短 LFSR:线性复杂度 L + 反馈多项式 + 抽头 + 初始状态,可外推预测后续比特。输入一串 0/1(容忍空格/换行/逗号分隔)
xorshiftRecover xorshift 状态恢复 Marsaglia xorshift32/64/128 PRNG:喂入连续输出,恢复内部状态(单寄存器版反推初始种子)并预测后续输出。32/64 需 1 个输出,128 需 4 个连续输出。CTF 高频。
rc4Visualize RC4 KSA/PRGA 可视化 逐步展示 RC4 内部:KSA 打乱 S 表的 i/j/swap 明细 + 最终 S 表 + PRGA 密钥流生成过程,教学/逆向识别 KSA/PRGA 特征
extractAll 专用文本提取器 从文本批量提取 email/url/domain/ipv4/ipv6/mac/date/filepath/hash/flag/keyValue;去重保序、默认换行分隔;对 999.1.1.1、1.2.3.4.5、aa:bb:cc、monkey = banana、compass: north 等误报边界做了严格约束;超输入/匹配/输出预算直接可读拒绝,不截断。
haversine Haversine 球面距离 输入 lat1,lng1,lat2,lng2(逗号分隔四值),按 Haversine 公式与 R=6371000 m 输出两点球面距离(米)。口径同 CyberChef「Haversine distance」

密码攻击(33 ops)

opId 名称 说明
aeadNonceReuse AEAD nonce 重用(ChaCha20-Poly1305) 同一 key+nonce 下两条 ChaCha20-Poly1305 密文的已知明文攻击:主输入粘贴两组密文 hex(换行/竖线/逗号分隔,默认各含末尾 16B tag),再填其中一侧明文,即可恢复 ChaCha20 密钥流并解出另一侧明文;默认验证两条 tag。范围仅限 ChaCha20-Poly1305 的 keystream 重用,不含 GCM forbidden attack。
ecdsaReuseK ECDSA nonce 重用攻击 ECDSA nonce(k) 重用攻击(CTF 经典):同私钥同 k 签两条消息(共享 r)→ 由 (r,s1,s2,z1,z2,n) 纯数论恢复 k 与私钥 d。k=(z1-z2)/(s1-s2) mod n, d=(s1·k-z1)/r mod n。内置 secp256k1/P-256,填公钥 Qx/Qy 可自动校验并消除 s 符号歧义。
hashDictCrack 哈希字典爆破(小字典演示) MD5/SHA1/SHA256/NTLM/SM3 小字典验证,支持弱口令、数字和日期。SM3 需手动选择,最多 200 万次;auto 的 64 hex 仍默认 SHA-256。
rainbowQuery 彩虹表查询(本地演示小表) 本地弱口令演示小表:MD5/NTLM 预建,SHA/SM3 实时小字典比较;SM3 需手动选择。不下载外部彩虹表,未命中只表示不在此字典内。
hmacKeyBrute HMAC 密钥爆破(小字典演示) 给定消息与 HMAC 值,用内置弱口令/数字/日期字典验证 SHA-1/256/384/512 或 SM3 的弱密钥,最多尝试 200 万次。不是长度扩展攻击。
rsaSmallE RSA 小 e 攻击(整数开根) e 很小时对密文 c 开 e 次整数根恢复 m(含 c+k·n 试探应对 m^e 略大于 n)
rsaCommonModulus RSA 共模攻击 同一 n 同一明文 m,不同互质 e1/e2 加密 → 扩展欧几里得恢复 m(参数框填 c1 和 c2,十进制;主输入框不再使用)
rsaWiener RSA Wiener 攻击(连分数) 连分数展开 e/n 找收敛子,恢复小 d 密钥(适用 d < n^(1/4)/3;参数框填 e 和 n,十进制;主输入框不再使用)
rsaFermat 费马分解(p,q 相近) n = a²-b² = (a-b)(a+b),从 ceil(√n) 递增 a 找 b²(适用 |p-q| 较小;输入框填 n)
rsaPollard Pollard rho 分解 Floyd 环检测 + gcd 分解半素数 n(适合含较小因子;输入框填 n)
lllAttack 格基归约 LLL 攻击 LLL(Lenstra–Lenstra–Lovász)格基归约,精确 BigInt 有理数 GSO(δ=3/4 标准,可选 0.99)。应用A:背包低密度攻击(CJLOSS 构造,由公钥 β+密文恢复 0/1 明文,配 Merkle-Hellman);应用B:通用整数矩阵归约求短向量。
rsaDpDqLeak RSA dp/dq 泄露求 d 已知 e, n, dp(=d mod p-1) → 分解 n 求 d;可选 dq 验证(参数框填 e/n/dp,十进制,dq 可选;主输入框不再使用)
rsaLsbOracle RSA LSB Oracle 攻击 LSB Oracle 逐位二分恢复明文。两种用法:①oracleLog 粘贴逐轮 oracle 响应(0/1,每行一轮,共 n 位长轮数)按标准二分恢复 m;②填 m 进入本地模拟验证。参数框填 n/e/c(十进制)
rsaBleichenbacher RSA Bleichenbacher 攻击 PKCS#1 v1.5 padding oracle 区间归约攻击(真实现):serverKey 填 oracle 侧私钥(hex:d,或 p,q 逗号分隔)本地模拟判定,标准 Bleichenbacher 循环解出 m;maxS 护栏默认 100 万次查询,每 5000 次输出进度
rsaCoppersmith RSA Coppersmith 小根攻击 stereotyped message 小根恢复(真实现:Howgrave-Graham 构格 + BigInt LLL):已知明文前缀或后缀 + 未知字节数,构造 f(x)=(已知±x)^e−c mod n 求小根恢复完整明文;beta<1 支持根在 n 的因子上(命中给因子)
rsaBonehDurfee RSA Boneh-Durfee 提示 d < N^0.292 条件检查 + 格攻击方法说明(参数框填 n/e,十进制;主输入框不再使用)
bombe Bombe 图灵炸弹机 Enigma 已知明文 crib 攻击(3/4 转子),输出 rotor stops、部分接线板与解密预览
multipleBombe Multiple Bombe 批量炸弹机 未知转子组合时批量运行 Bombe,按预览/crib 匹配与接线板完整度评分排序输出候选
sm2KnownPlaintext SM2 已知明文攻击(随机数复用) 同一接收方公钥、相同 C1 的两条 SM2 密文,利用一侧已知明文片段恢复另一侧对应字节。无需私钥;仅恢复覆盖范围,不验证 C3,也不恢复私钥。
sm2NonceRecover SM2 签名随机数攻击(私钥恢复) 已知签名 k,或同一私钥两次签名复用 k,按 SM2 方程恢复私钥。输入 JSON 的 r1/s1/e1、r2/s2/e2 或 k 均为 hex;e=SM3(ZA||M)。校验签名方程,可选公钥交叉验证。
sm2LeakedK SM2 加密随机数泄露解密 已知加密临时随机数 k 与接收方公钥,无需私钥恢复 SM2 明文;核对 C1=[k]G 并验证 C3。
sm3LengthExtension SM3 长度扩展攻击 已知 SM3(secret||message) 与原始总字节数,续算追加数据后的摘要及 glue||append。适用于错误的前缀 MAC,不适用于 HMAC-SM3。
pbeAesBrute PBE-AES 口令爆破(小字典演示) PBKDF2+AES 弱口令小字典演示:input=密文(hex/base64),逐口令 PBKDF2 派生 key 解 AES,crib 命中或高可打印率即报,覆盖 openssl enc -pbkdf2 密文。本工具不做大规模爆破——正式爆破请把密文喂给 John the Ripper / hashcat 的 PBKDF2 格式(https://www.openwall.com/john、https://hashcat.net)
rsaBatchGcd RSA 公共因子分解(批量 GCD) 多个 RSA 模数 N 两两求 GCD,找公共素因子分解
rsaHastad RSA Hastad 广播攻击 同一明文用相同 e 和多个互质 n 加密,CRT 合并后开 e 次根恢复明文
rsaPollardPm1 RSA Pollard p-1 分解 Pollard p-1 算法分解 RSA 模数 N(适用 p-1 B-光滑;输入框填 N,每行一个或逗号分隔)
prngAttack PRNG 破解(LCG / MT19937) LCG 参数恢复(差分法推 a/c/m,可填已知模数)+ MT19937 状态恢复(624 输出 untemper + 预测下一值,Python random 标准)
hashLengthExtension 哈希长度扩展攻击(MD5/SHA1/SHA256) Merkle-Damgård 弱点:从 H(secret) 和 len(secret) 构造 H(secret||padding||append) 而不知 secret。MD5/SHA-1/SHA-256 全部纯 JS 落地(内部 state 反推 + 续压),无需 hashpump。输入按显式 hex 解析,任意非 hex 字符显式报错
sm4CtrReuse SM4-CTR/OFB 密钥流复用攻击 同一 SM4 key、相同 IV/计数器起点与流偏移;CTR/OFB raw ciphertext only。两条密文与一侧已知明文恢复另一侧覆盖字节;不恢复密钥,不验证 MAC。
zucNonceReuse ZUC 密钥流复用攻击 同一 ZUC key+IV 与流偏移;raw ciphertext only。两条密文与一侧已知明文恢复另一侧覆盖字节;不恢复密钥,不验证 MAC。
sm4CbcBitflip SM4-CBC 位翻转构造 已知一段明文,修改 IV 或前一密文块,构造同长度目标片段;无 MAC 的 CBC 才可用。修改非首块会破坏前一明文块。主输入 IV||ciphertext hex。
sm4EcbCodebook SM4-ECB 已知明文码本攻击 同一密钥下,完整 16B 明密文块组成码本,恢复目标密文中的已知块。未匹配块保留未知,不推测密钥或未知字节。主输入目标密文 hex。
sm4GcmForgery SM4-GCM nonce 重用认证伪造 同一 key+nonce 的至少两条 SM4-GCM 样本 aadHex|ctHex|tagHex,恢复 GHASH H 与认证掩码并伪造 tag;完整 16B tag,推荐第三条样本筛候选。不恢复 SM4 key。

压缩 / 归档(22 ops)

opId 名称 说明
gzipCodec Gzip 解压 / 压缩 gzip 流双向(浏览器 DecompressionStream;输入 hex/base64/UTF-8 自动识别)
zlibCodec Zlib 解压 / 压缩 zlib 流(含 2 字节头 + adler32 尾)双向;浏览器实测
deflateRawCodec Raw Deflate 解压 / 压缩 raw deflate(无 zlib 头)双向;浏览器实测
b64CompressedProbe Base64 内嵌压缩流探测 扫文本中 base64 段 → 解码 → magic 识别 → 尝试 gzip/zlib/deflate 解压
lznt1 LZNT1 解压 Windows LZNT1(RtlCompressBuffer / NTFS 压缩)LZ77 流解压:位标志 chunk + 反向引用(offset/length 位分割随块内位置变化)。仅解压单向;过本机 Windows 真样本 12 例 + 独立 Python 参考对拍
bzip2Enc bzip2 压缩 bzip2(libbzip2 1.0.8)WASM 压缩:块大小 1..9(默认 5),输出 base64/hex;完整输出不截断,输入上限 4 MiB、输出预算 12 MiB;与现有 bzip2Dec 可直接往返。
rle RLE 行程编码 游程编码:计前式 4A3B=AAAABB / 计后式 A4B3 / 打包式 count+value 字节对(hex);变长或定长计数,双向
lzw 标准 LZW(GIF/TIFF) 经典变长码本 LZW 三档——GIF 档:LSB-first 位流、初始 256 项字节字典、clear 256 / EOD 257、9→12 位变宽;TIFF 档:MSB-first 位流 + early change(码长在码本 511/1023/2047 项时切换)、clear 256 / EOI 257、首新码 258、码本满先发 clear,条带末尾无 EOI 也容忍,输出为字节流(合法 UTF-8 给文本,否则给完整 hex);定长档:MSB-first 定长 N 位,hex 呈现。≠ 既有 LZString op(JS 库变体,不等价)
elias Elias Gamma/Delta 编码 universal 前缀码:gamma = ⌊log₂x⌋ 个 0 + 二进制原码;delta = gamma(⌊log₂x⌋+1) + 尾段。正整数 ↔ 位串双向
lz4Dec LZ4 压缩 / 解压 dir=decompress(默认):块格式(token 高 4 位字面量/低 4 位匹配 + 255 续位 + 2 字节小端偏移)与帧格式(magic 0x184D2204、xxh32 头/块/内容校验)解压,支持帧外部字典;dir=compress:复用内部 lz4CompressBlock 产出裸块格式(block),不生成帧(frame),输出 hex/base64。hex/base64 输入自动识别
lz4Compress LZ4 Frame 压缩(CC 对齐) LZ4 Frame 压缩:与 CyberChef LZ4 Compress(lz4js)逐字节相同(FLG=0x40、BD=0x70、HC、uncompressed block 回退、EndMark),输出 hex/base64 或 .lz4 文件。
bzip2Dec bzip2 解压 完整解压链:BZh 头 + π/√2 magic + Huffman(MTF+RUNA/RUNB) + BWT 逆变换 + RLE1 尾游程 + 块/文件 CRC 校验;含 0.9.0 时代已废弃的 randomized 档(按参考实现 BZ2_rNums 表逐字节反随机化);纯 JS 自研,hex/base64 输入自动识别
lzstring LZString 压缩 / 解压 fmt=legacy(默认):原有原始 LZW → JSON 数字数组,仅 Latin-1;fmt=base64 / utf16 / default:pieroxy/lz-string 标准 compressToBase64 / compressToUTF16 / compress,逐位兼容参考实现;中文与 emoji 请用三种标准格式(JS 按 UTF-16 码元处理,往返原样);base64 最常用于网页/JS 题
sevenZipExtract 7z 归档解析 / 解压 识别 7z 签名 + 解析 SignatureHeader/StartHeader(CRC 校验);放置 public/wasm/7zz.js 后可真列表/解压(LZMA 等,wasm 缺失自动降级)
archiveUnified 压缩 / 归档归一分析 自动识别 gzip/zlib/bzip2/zip/rar/7z/tar/xz → 列结构 → 能解则解(gzip/zlib/bzip2 纯 JS;zip 含伪加密检测;rar/tar/xz/7z 走 7z-wasm 降级)
lzma LZMA 压缩 / 解压 LZMA1 .lzma / raw 解压与压缩;复用 7z-wasm,缺失时明确报错;支持 hex/base64/UTF-8 输入输出和 raw props/size。
tar Tar 创建 / 列表 / 提取 纯 JS Tar:列表、内存提取、JSON entries 创建;支持 ustar prefix/PAX/GNU 长名,拒绝路径穿越、条目数和大小超限,不写磁盘。
zipRepair ZIP 伪加密修复 清除中央目录与本地文件头通用位标志的加密位(bit0,可连带强加密位 bit6)。走 EOCD→中央目录→本地头精确路径,不误伤压缩数据。伪加密=标志位被置 1 但数据未加密,清位即可正常解压;输出修复后 base64
zipPseudoEncrypt ZIP 伪加密(置位) 把中央目录与本地文件头的加密位(bit0)置 1 而不动数据——制造「需要密码」假象,「ZIP 伪加密修复」的逆操作,可用于出题与演示;输出置位后 base64
zipEntries ZIP 条目列表 只读 ZIP 中央目录,逐条列出名称、压缩法(Stored/Deflate/其他)、压缩/原始大小、CRC32、加密标志(ZipCrypto/AES/伪加密)、DOS 时间与本地头偏移;同时标出 ../ 绝对路径等路径穿越风险。支持拖入文件或 hex/base64,不依赖 UI
zipExtract ZIP 条目提取 / 解密导出 按条目名(留空=全部)真解压 ZIP 的 Stored/Deflate 条目,逐条校验原始大小与 CRC32,返回文本预览 + 内存下载产物;ZipCrypto 条目可填 password 用 zipCrack 原语解密,伪加密自动识别;WinZip AES 条目如实报暂不支持,绝不伪造明文。路径穿越名只压平为安全下载名,不写磁盘
zipCreate ZIP 创建(出题) 把一段数据(文本/任意字节)打包成单文件 ZIP,可选内部文件名与压缩方式(Deflated/Stored);出 misc 题常接 ZIP 伪加密(置位)做伪加密题

口令 / 归档破解(12 ops)

opId 名称 说明
office2john Office 哈希提取(office2john) 从加密 Office 文档(.doc/.docx/.xls/.xlsx/.ppt/.pptx)提取 John/hashcat 格式 hash 串(只提取不爆破)。解析 CFB/OLE2 容器中的 EncryptionInfo 流,支持 Office 2007($office$2007, hashcat 9400)、2010($office$2010, hashcat 9500)、2013($office$2013, hashcat 9600)
crc32Collision CRC32 碰撞爆破 对目标 CRC32(标准 IEEE/zip CRC)穷举短明文反查原文。CTF misc 里 ZIP 存小文件、只知 CRC 时用。表驱动增量计算
zipBrute ZIP 弱口令爆破(小字典快验) ZIP 弱口令快速验证:ZipCrypto(传统 PKWARE)走 12 字节头快筛+CRC 全量校验;WinZip AES(AE-1/AE-2,method 99)走 PBKDF2-HMAC-SHA1 派生 + pwdVer 快筛 + HMAC-SHA1 确认。内置字典 + 自定义字典 + 纯数字掩码(默认 4 位,硬上限 6 位),仅验证密码不还原明文。本工具不做大规模爆破——更强算力请用本箱「ZIP 哈希提取(zip2john)」取出 hash 串,喂 John the Ripper(https://www.openwall.com/john)或 hashcat(-m 13600 / -m 17200-17230,https://hashcat.net)。输入 ZIP 的 hex/base64/拖入字节
zip2john ZIP 哈希提取(zip2john) 从加密 ZIP 提取 John/hashcat 格式 hash 串(只提取不爆破)。ZipCrypto→$pkzip2$ 格式(hashcat 17200-17230);WinZip AES→$zip2$ 格式(hashcat 13600)。输出可直接喂 john/hashcat 离线爆破
zipCrc32Brute ZIP CRC32 内容爆破 ZIP 里 Stored 小文件已知 CRC32 反查内容。对长度 ≤6 的所有可能内容穷举 CRC32,命中即输出。表驱动增量计算
sevenZip2john 7z 哈希提取(7z2john) 从加密 7z 提取 John/hashcat 格式 hash 串(只提取不爆破)。输出 $7z$ 格式(hashcat mode 11600)。支持 AES-256-SHA-256 加密的 7z 文件,提取 salt/IV/iterations/加密数据,输出可直接喂 john/hashcat 离线爆破
pdf2john PDF 哈希提取(pdf2john) 从加密 PDF 的 /Encrypt 字典提取 John/hashcat 格式 $pdf$ hash 串(只提取不爆破)。照 openwall john 官方 pdf2john 格式,支持 R2-R6(RC4 / AES-128 / AES-256)。输出可直接喂 john/hashcat 离线爆破
rar2john RAR 哈希提取(rar2john) 从 RAR3/RAR5 加密文件提取 hash 串($RAR3$/$rar5$),输出可直接喂给 john/hashcat。只提取不爆破
sshkey2john SSH 私钥哈希提取(sshkey2john) 从 SSH 私钥(OpenSSH 新格式 / PEM 传统 RSA/DSA/EC)提取 John $sshng$ 格式 hash 串(只提取不爆破)。OpenSSH 加密用 bcrypt+AES-256;PEM 用 DEK-Info 指定的 cipher+IV。输出可直接喂 john/hashcat 离线爆破
bkcrackAttack ZipCrypto 已知明文攻击 (bkcrack) ZIP 传统 ZipCrypto 加密的杀手锏(开源工具 bkcrack 的本地 WASM 封装,代码来源 kimci86/bkcrack,https://github.com/kimci86/bkcrack):给出某条目 ≥12 字节连续已知明文,恢复内部密钥态并解密全档,无视密码长度(非 AES)。四种模式:明文攻击求密钥 / 攻击+解密 / 已知密钥态解密(-k)/ 已知密钥态暴力恢复密码(-k -r)。放置 public/wasm/bkcrack.js 后启用,wasm 缺失自动降级。⚠ CPU 密集,数秒~几十分钟、峰值内存 300-500MB。并行线程默认 1(浏览器 wasm 多线程实测更慢;可按机器调高)。
gcmForbidden GCM nonce 重用攻击 AES-GCM nonce 重用攻击演示(SP 800-38D + Joux 2006 forbidden attack):①同一 key+nonce 两条密文 + 已知一侧明文 → 恢复 CTR 密钥流解另一侧;②≥2 条同 nonce 样本(aad|ct|tag)→ GHASH 多项式方程 q(H)=T1⊕T2 在 GF(2^128) 求根恢复认证子 H(对拍 E_K(0^128)),并恢复 E_K(J0) 掩码 → 对任意新 (aad,ct) 伪造可过验证的 tag。独立攻击 op;nonce 不重用即失效,教学演示非生产攻击
eccSubgroupAttack ECDH 小子群/无效曲线攻击 ECDH 点校验缺失攻击演示(RFC 7748 §6.8.1 + Biehl 2000 无效曲线):①X25519 小子群(真参数)——低阶点候选经运行时倍点链定阶+二次特征判边(不信任转抄常数),x-only 泄露上限如实演示:阶 8 点恢复 d mod 4(2 bit)、其余低阶点交叉印证,clamping 后全零共享密钥即防御;②无效曲线(玩具曲线 p=1000003 全流程)——光滑阶无效曲线确定性搜索、小阶点预言机查询、CRT 合成私钥。模拟预言机本地闭环,教学演示非远程攻击工具,全确定性零随机

取证 / 流量(30 ops)

opId 名称 说明
pcapParse pcap/pcapng 结构解析 解析 pcap/pcapng 流量文件:全局头+包记录+Ethernet/IPv4/IPv6/TCP/UDP/ICMP/HTTP/DNS 分帧,输出包摘要表+协议详情+载荷提取。纯前端零依赖
pcapTcpReassemble TCP 流重组 按 5 元组聚合 TCP 段,seq 排序去重,还原各方向完整字节流(HTTP 提取的基础)。纯前端零依赖,复用 pcapParse 分帧
pcapHttpExtract HTTP 对象提取 基于 TCP 重组解析 HTTP 请求/响应,处理 chunked 传输与 gzip/deflate 解压(纯 JS inflate),导出传输的文件/文本
pcapDnsTunnel DNS 隧道检测 提取 DNS query 子域名数据标签,拼接后尝试 base32/base64/hex 解码,检出 DNS 隧道外泄的隐藏数据。复用 pcapParse DNS 分帧
pcapIcmpPayload ICMP 载荷提取 提取 ICMP echo 载荷,按 id/seq 排序拼接,还原 ICMP 隐写/隧道外泄的数据。复用 pcapParse ICMP 分帧
pcapFieldExtract pcap 字段提取/过滤 逐包提取 ip.id / TTL / TCP urgent pointer / DNS qry-answer 等字段,支持协议与方向过滤(src:/dst:/port=),输出表格/TSV/纯值三档(纯值 TTL 列可直接接 TTL 隐写解码)
httpDechunk HTTP 分块解码(Dechunk) 同 CyberChef Dechunk HTTP response:输入 chunked 编码的 HTTP body(或整段 response),去掉 chunk 长度行与 CRLF,拼出原始响应体
oleExtract OLE/CFB 容器静态提取 OLE2/Compound File Binary 容器只读解析:目录树(storage/stream)、FAT 与 MiniFAT 双通道取流、Root CLSID、流字节 SHA-256 并附下载产物;若含 VBA 存储则进一步解析 dir 记录(模块名/类型/属性/偏移)并按 MS-OVBA 解压模块源码文本。适用于 .doc/.xls/.ppt/.msi/vbaProject.bin 等 Office 97-2003 与安装包容器。静态只读,绝不执行宏或文档内代码
mcLevelDat Minecraft level.dat 解析 解析 Minecraft Java 版世界存档 level.dat(gzip 压缩的 NBT):种子/出生点/GameRules/版本/DataVersion,高亮非常规 GameRule 与异常坐标等可疑字段。自写大端序 NBT 解析器,Long 用 BigInt,纯前端零外发
mcMapRender Minecraft 地图渲染 把 Minecraft Java 版地图物品 map_#.dat(gzip NBT,根下 data.colors 为 128×128 调色板索引)渲染成 PNG:内置 62 个 MapColor 基础色 + 4 档明暗,解码 16384 字节为 RGBA,手写最小 PNG 编码器(零 canvas 依赖)提供完整文件下载和缩略预览。CTF 常用地图画二维码/像素画/隐藏文字。支持最近邻放大便于看二维码。复用 mcSave 的 NBT 解析器,纯前端零外发
foremostCarve 文件雕刻(Foremost JS) 纯 JS 版 foremost:从混合二进制容器/磁盘镜像/流量 dump 里按头尾魔数雕刻内嵌文件。支持 JPEG/PNG/GIF/ZIP/PDF/WAV/MP3/RAR/7z,头尾配对+长度护栏防误切+截断标注+字节级去重,产物可直接下载
trailerCarve 文件附加数据剥离 识别载体正体结束偏移(PNG IEND/JPEG FFD9/GIF 3B/ZIP EOCD/BMP/RIFF/PDF %%EOF),剥出尾部附加字节并识别魔数;或 binwalk 式全文扫描内嵌文件
trafficReadable 流量可读结论 把 pcap/pcapng 流量包从一屏十六进制变成人能直接读的结论:USB 键盘还原按键序列并出打字节奏图、USB 鼠标还原轨迹并出真彩轨迹图 PNG、HTTP/DNS/TLS 协议摘要、MQTT 主题表,并自动挑出 flag 与明文线索。定位是新手题一把梭的基础取证(容器概览 / 协议统计 / 关键字段 / 键鼠还原 / flag 扫描);加密流量解密、DNS/ICMP 隧道文件重建等深度分析不在范围内——TLS 只提取 ClientHello 的 SNI,不解密内容
usbKeyboard USB 键盘流量解析 解析 USB 键盘 leftover capture data(8 字节 HID 报告:Modifier+Reserved+Keycodes 1-6),还原按键输入
usbMouse USB 鼠标流量解析 解析 USB 鼠标 leftover capture data(按钮+X/Y 位移,boot 协议 4 字节报告),还原鼠标轨迹
ftpExtract FTP 对象提取 FTP 控制/数据流配对:解析 USER/PASS/TYPE/PORT/PASV/EPSV/RETR/STOR 命令与 227/229 应答,按 5 元组配对数据连接,导出传输文件原字节(SHA-256 对拍)。主动/被动/扩展被动/多会话,纯前端零依赖
tlsDecrypt TLS1.2 已知密钥还原 TLS1.2 + AES-128-GCM 单档离线还原:TCP 重组→记录/握手解析→keylog CLIENT_RANDOM 命中→key_block 派生→GCM 认证解密,导出双向明文(SHA-256)。TLS1.3/SHA384/CBC 套件与无密钥场景显式拒绝,纯前端零外发
wpaDecrypt WPA2 握手校验/CCMP 解密 离线解析 radiotap/802.11:EAPOL 4 次握手(M1-M4/重放计数器)+ 已知 SSID/口令 PBKDF2→PTK→MIC 校验 + CCMP 数据帧认证解密并重建 Ethernet pcap 接现有流量链。TKIP 显式拒绝,不调网卡不注入,纯前端零外发
mcTextExtract Minecraft 文本情报提取 直接拖入 Minecraft Java 版世界存档 ZIP 整包(自动解压逐文件扫描 level.dat / playerdata / region / advancements / stats),或单个 region/*.mca(Anvil,chunk 内 zlib NBT)/ .dat/.nbt;抽取告示牌 / 成书 / 命令方块 / 实体与方块 CustomName / 物品 Name+Lore,并深度遍历全部 NBT 字符串高亮 flag{...} 及常见变体(含 §k 格式化代码剥离、base64 解码再扫)。复用 mcSave 的 NBT 解析器,纯前端零外发
mcNbtView Minecraft NBT 树查看器 浏览器版 NBTExplorer:把任意 Minecraft Java 版 NBT(level.dat / *.dat / playerdata / 结构 .nbt 等,gzip/zlib/裸均可)解压后完整转储为缩进折叠的可读文本树。显示每节点 tag 类型名 / key / 值,List 标元素类型与长度,Long/LongArray 用 BigInt 不丢精度,大数组截断显示。支持路径过滤定位子树。复用 mcSave 的 NBT 解析器,纯前端零外发
stripHttpHeaders 剥离 HTTP 头 按首个空行(CRLFCRLF 或 LFLF)截断,只保留 HTTP 请求/响应正文;无空行时原样返回。依据 RFC 7230 §3
defangIp Defang IP 地址 把 IPv4/IPv6 地址改写成不可直接点击的形式:IPv4 的 . → [.],IPv6 的 : → [:]。用于安全报告/IOC。口径同 CyberChef「Defang IP Addresses」
defangUrl Defang URL 把 URL/域名改写成不可直接点击的 IOC 形式:. → [.]、http → hxxp、:// → [://];可只处理完整 URL、域名或全文。口径同 CyberChef「Defang URL」
fangUrl Fang URL(还原) 把 Defang 后的 URL 还原:[.] → .、hxxp → http、[://] → ://;三项可分别开关。口径同 CyberChef「Fang URL」
stripIpv4 剥离 IPv4 头 按 IHL(首字节低 4 位 × 4)跳过 IPv4 头,输出载荷字节;不足最小 20 字节或不足 IHL 长度时报错。口径同 CyberChef「Strip IPv4 header」
stripTcp 剥离 TCP 头 按 Data Offset(第 12 字节高 4 位 × 4)跳过 TCP 头,输出载荷字节;不足 20 字节或不足数据偏移时报错。口径同 CyberChef「Strip TCP header」
stripUdp 剥离 UDP 头 跳过固定 8 字节 UDP 头,输出载荷字节;不足 8 字节报错。口径同 CyberChef「Strip UDP header」
yaraScan YARA 规则扫描 用 YARA 规则匹配字节:支持文本/十六进制/正则模式、meta 与 console 模块;报告格式与 CyberChef「YARA Rules」一致
disasmArm 反汇编 ARM 把 ARM / Thumb / ARM64 机器码反汇编为汇编;输入 hex/base64,可设起始地址。复用内置 Capstone wasm,零外发
disasmX86 反汇编 x86 把 x86 / x86-64 机器码反汇编为汇编;输入 hex/base64,可选 Intel/AT&T 语法与起始地址。复用内置 Capstone wasm,零外发

文件格式 / 结构(15 ops)

opId 名称 说明
pycExeDecompile pyc/exe 反编(本地桥) 拖入 .pyc 或 PyInstaller 打包 .exe,经本地 bridge.py 自动判 Python 版本并反编为源码(uncompyle6/decompyle3,3.9+ 走 pylingual 实验链路;仅 Windows,需先起 python bridge.py)
htmlCommentExtract HTML 注释提取 提取 HTML 源码里 注释域(HTML Living Standard 分词语义:第一个 -->/--!> 收口、 空注释急收、<!-- 不嵌套、EOF 未闭合仍取整段)。嵌套容错模式把 <!-- 按深度计数配对(非标准约定,应对出题人手写嵌套注释)。输出逐条注释+字符偏移+未闭合标记,可选最小长度过滤。取证排查被注释掉的 flag/隐藏表单/调试信息
zipCommentExtract ZIP 注释提取 提取 ZIP 注释域(APPNOTE 6.3.x):EOCD 档案注释(§4.3.16 偏移 20/22)+ 中央目录每条目注释(§4.3.7 偏移 32)。EOCD→CD 精确路径走查(不扫描压缩数据),支持拼接文件前缀修正(图片/垃圾字节+ZIP),UTF-8/EFS bit11 解码+latin1 回退+hex 原值。CTF 里 flag 藏 ZIP 注释、或注释提示后续步骤的直接取证点。无注释明示、非 ZIP/截断/RAR/ZIP64 中文报错
machoParse Mach-O 结构解析 Mach-O / universal(fat)结构解析(Apple mach-o/loader.h 口径,只解析展示不反编译):fat 头(cafebabe + 架构表)/单架构 slice(cputype/filetype/flags)、逐 load command(LC_SEGMENT_64 的 segments/sections、LC_MAIN 入口、LC_UUID、dylib、BUILD_VERSION 等,未知 cmd 按 cmdsize 跳过标注)。截断/越界/非法 magic 显式报错。输入文件字节或 hex
wasmParse WASM 结构解析 WebAssembly 二进制结构解析(W3C 规范 §5 Binary Format,只解析展示不反编译不执行):magic/version、逐 section(id/偏移/大小,custom 段解 name 子节)、type 签名、import/export 清单(模块.名字/kind/索引)、memory/table/起始函数。LEB128 严格校验(截断/越界/section 顺序违规显式报错)。输入 wasm 文件字节或 hex
scriptDecoder MS 脚本解码(.vbe/.jse) 还原 Microsoft 编码脚本(scrdec 算法):#@~^ 头 + 128×3 替换表按 64 步组合序列位置解码,@& @# @* @! @$ 逃逸还原;.vbe/.jse 取证常客,单向
adsTool NTFS ADS 备用数据流 检测/提取/删除/添加 ZIP 内嵌的 NTFS 备用数据流(ADS)。Windows 右键压缩会把 ADS 连同 NTFS 扩展字段一起打进 ZIP——「file.txt:secret」类 CTF 题的载体。纯 JS 实现替代原 ntfsstreams GUI exe。注意:浏览器拿不到主机文件系统上文件的真实 ADS,本工具作用于 ZIP 载体。
stringsExtract 字符串提取(strings) 任意字节流里提取连续可打印字符串(经典 strings 工具):ASCII / UTF-16LE / 双模式合并,最小长度阈值,可选偏移前缀。逆向取证起手动作,图片/文档/内存转储里快速捞 flag、路径、域名
pdfObjects PDF 对象解析 挖出 PDF 对象表:编号/偏移/长度/Type/Subtype/Filter/流长度逐对象列出,FlateDecode 流自动 zlib 解压并预览(页面内容流/隐藏文本/压缩 flag 藏身处)。词法容错扫描,xref 损坏、前置垃圾拼接、缺 endobj 截断件都能解
ooxmlMeta OOXML 元数据提取 docx/xlsx/pptx 的元数据一键挖出:docProps 下 core.xml(标题/作者/时间)·app.xml(程序/公司)·custom.xml(自定义属性)全部键值对。ZIP 容器直解(stored/deflate),拼接件前缀自动修正,作者名/公司名/隐藏备注常是取证线索
apkManifest APK Manifest 解析 Android 的 AndroidManifest.xml(二进制 AXML 或明文)直接解出:包名 package、权限 uses-permission/uses-permission-sdk-23、四大组件 activity/service/receiver/provider 全列出,附逐元素属性表。AXML 字符串池 UTF-8/UTF-16 双格式,typed 值(字符串/整型/布尔/资源引用/颜色)都还原
elfInfo ELF 可执行信息 ELF 头信息一览(格式/架构/位数/字节序/类型/入口点),并解出动态链接细节:PT_INTERP 解释器路径、DT_NEEDED 依赖库、是否共享库(ET_DYN≈.so/PIE)。拿到 ELF 先看架构/位数选引擎,再决定是否 PIE
peInfo PE 可执行信息 Windows PE(.exe/.dll)头信息一览(架构/位数/类型 EXE|DLL/子系统/入口 RVA/镜像基址)。拿到 PE 先看架构/位数选引擎,再判断 EXE 还是 DLL、GUI 还是控制台
kzgBlobParse EIP-4844 blob 解析 解析 EIP-4844 相关字段并展示结构:blob(131072 字节 = 4096 个 32B BLS12-381 标量域元素,逐块规范校验)、交易侧的 blob versioned hash 列表(32 字节 = 版本字节 0x01 + SHA-256(承诺) 截断 31 字节)、单个 48B KZG 承诺。只解析展示,不联网、不计算承诺(那归 KZG blob 承诺 op)
pkcs12Parse PKCS#12/PFX 解析 PKCS#12/PFX 容器解析(RFC 7292):版本/结构树、macData 口令完整性校验、口令解密 encryptedData 与 pkcs8ShroudedKeyBag(传统 pbeWithSHAAnd3-Key/2-KeyTripleDES、SHA/RC2-128/40 及 PBES2+PBKDF2+AES/3DES),证书列序列号/主题/有效期并输出 PEM,私钥输出 PKCS#8 PEM;不做证书链验证,口令只在本地处理零外发

数据结构 / 序列化(33 ops)

opId 名称 说明
stegoDetect 隐写检测(文本 / 文件) 统一隐写检测入口,mode 细分 11 种分析:文本侧零宽/不可见字符扫描、同形异义字、Unicode 规范化、空白隐写、双向控制符(Trojan Source)、字符属性透视、不可见字符可视化;文件侧 PNG/JPEG/GIF 结构快速分析、JPEG DCT 卡方检测、PNG/BMP LSB 全组合扫描。只分析不改写载体,纯前端零外发。
b64urlJson Base64url ↔ JSON Base64url 与 JSON 互转 + 美化(不验证签名)
pemParse PEM/DER 结构解析 识别 RSA/EC/Ed25519 公私钥、X.509 证书、CSR(输入 PEM 文本或 DER hex/base64)
asn1Parse ASN.1 TLV 解析 X.690 DER 递归解析(输入 DER hex 或 base64,输出标签/长度/值树 + OID 名称);可指定起始字节与长值截断长度;tlvMode=tlv 时按 CyberChef Parse TLV 解析通用 Key-Length-Value(可带 BER 长长度)
sshPubkeyParse SSH 公钥解析 解析 ssh-rsa / ssh-ed25519 / ecdsa-sha2-* 公钥(authorized_keys 格式,拆解 base64 blob 字段 + SHA256 指纹)
btcAddressIdent 比特币地址识别 识别 P2PKH / P2SH / P2WPKH / P2WSH / P2TR 地址类型 + 网络主测试 + Base58Check/Bech32 校验
ethAddressIdent 以太坊地址识别 识别 0x 地址并校验 EIP-55 混合大小写(Keccak-256 哈希逐位校验,输出标准校验地址)
protobufParse Protobuf Wire 解析 无 schema 解析 protobuf wire 格式(varint/64-bit/length-delimited/32-bit,自动尝试嵌套 message 与字符串)
msgpackParse MessagePack 解析 解析 MessagePack 二进制(全类型:nil/bool/int/float/str/bin/array/map/ext)
cborParse CBOR 解析 解析 CBOR 二进制(RFC 8949,含 major type 0-7、indefinite length、tag、half/float)
bsonParse BSON 文档解析 解析 BSON 文档(bsonspec.org:double/string/document/array/binary/ObjectId/bool/datetime/null/int32/int64 等)
phpSerializeParse PHP serialize 解析 解析 PHP serialize() 字符串(N/b/i/d/s/a/O/C/r/R 全类型,递归嵌套)
javaSerializeIdent Java 序列化识别 识别 Java Object Serialization magic(0xACED) + 扫描顶层 TC_* 标记(TC_STRING/TC_CLASSDESC/TC_BLOCKDATA 等关键信息)
hexRange Hex 区间提取 提取指定偏移区间的字节,多格式展示(hex/dec/oct/bin/ASCII/UTF-8)
hexStats 字节分布统计 字节值分布(256 桶密度网格/3 桶)+ 可打印率 + 全局/滑窗香农熵(曲线定位加密/压缩区)+ top-N 高频字节
diffTool 差异对比 两段输入逐字节 / 逐行 diff,定位差异区间(等长快速路径 + 不等长 LCS 对齐,CTF 找隐藏差异)
rison Rison 面向 URI 的紧凑 JSON:() 对象、!() 数组、!t/!f/!n、标识符免引号、引号串仅 !' 与 !! 转义、指数禁 +;JSON ↔ Rison 双向,支持 O-Rison / A-Rison / URI 引用变体
pickleDisasm Pickle 反汇编 Python pickle 字节码反汇编(协议 0-5,pickletools.dis 风格),高亮 GLOBAL/REDUCE 等危险 opcode 与 os.system 等 RCE 符号
cborEncode CBOR 编码 JSON → CBOR 二进制(RFC 8949:null/bool/uint/negint/float/string/array/map;浮点一律 float64;不做 indefinite/tag)
msgpackEncode MessagePack 编码 JSON → MessagePack 二进制(nil/bool/int/float/str/bin/array/map,整数按最小宽度)
bsonSerialize BSON 序列化 JSON → BSON 文档(document/array/string/int32/int64/double/bool/null;ObjectId 等未实现)
phpSerializeGenerate PHP serialize 生成 JSON → PHP serialize() 字符串(N/b/i/d/s/a;JSON 数组→list、对象→map;O/C/r/R 不出站)
protobufEncode Protobuf 编码 JSON + 简化 .proto schema → Protobuf wire(标量字段 + repeated;wire 0/1/2/5;不做 map/oneof/嵌套)
cryptoAddrUnified 加密货币地址解析 自动识别 BTC(P2PKH/P2SH/P2WPKH/P2WSH/P2TR) / ETH 地址类型 + 校验和验证 + 网络 + 编码方式(归一入口,只解析不生成私钥)
huffmanCodec 哈夫曼编解码(通用) 频率档(输入统计/权重表 → 确定性 canonical 码)与用户码表档双向编解码;MSB-first 位流(hex+bitLen);拒绝非前缀码/截断/未知符号;不定义私有文件格式
unitConv 单位换算 数据量 B/KB/MB/GB/TB/PB 与 KiB/MiB/GiB/TiB/PiB 两制并列(SI 1000 制 vs IEC 60027-2 1024 制,系数全部可溯源);速率 bps/Kbps/Mbps/Gbps ↔ B/s/KB/s/MB/s(bit×8);时间 nsd;纯数字触发时间戳纪元对照(Unix 秒/毫秒、FILETIME、Cocoa、Chrome μs、DOS 打包,数量级自动嗅探);频率 HzGHz;角度 deg/rad/gon。数据量全程 BigInt 有理数,PB 级零精度损失,精确小数与截断位明确标注。
dataConvert JSON / CSV / XML / YAML 转换 JSON 美化/压缩、JSON↔CSV、XML 结构美化、YAML 美化/压缩/JSON↔YAML。JSON→CSV 支持对象数组/对象/原始值数组/二维数组,嵌套对象或数组在单元格里写成 JSON 文本;CSV 按 RFC 4180 处理引号、双引号转义与字段内换行。XML 只重排缩进并校验标签配平,不改属性/CDATA/DOCTYPE 语义;YAML 用 JSON_SCHEMA 安全解析,锚点/别名按 js-yaml 行为展开或重新输出
fromHexContent SNORT Hex Content 解码 把 SNORT 规则里的 |41 42 3a| 十六进制内容段还原为字符;段外文本保持不变。口径同 CyberChef「From Hex Content」
toHexContent SNORT Hex Content 编码 把不可打印/特殊字节编码为 SNORT 的 |hh hh| 内容段;可选包含空格或全字符转 hex。口径同 CyberChef「To Hex Content」
cartesianProduct 笛卡尔积 把输入按样本分隔符分成多组、按元素分隔符切分,输出全部组合((a,b) 形式)。少于两组报错。口径同 CyberChef「Cartesian Product」
powerSet 幂集 按元素分隔符切分输入,列出全部子集(含空集),按长度排序、每行一个。口径同 CyberChef「Power Set」
jsonataQuery Jsonata 查询 用 Jsonata 表达式查询和转换 JSON 数据,输出 JSON 字符串(CyberChef #243)
jqQuery jq JSON 查询 用 jq 表达式查询 JSON(如 .foo.bar、.[] | .name);Raw 开时字符串结果不加引号。口径同 CyberChef「Jq」

图像 / 二维码(39 ops)

opId 名称 说明
pngChunkList PNG 全块解析 列举 PNG 所有 chunk(IHDR/PLTE/tEXt/zTXt/iTXt/bKGD/iCCP/IDAT/IEND 等),解析文本块与元数据(压缩文本经仓库内 inflate 解出,无需 pako);可导出逐块原字节(含长度/类型/CRC)、PLTE 调色板与调色板索引位流
jpegAppList JPEG APPn 段列举 列举 JPEG 所有 APP0-APP15 段及 marker 段(SOF/DQT/DHT/COM 等),标识段内容
gifComment GIF 注释扩展 提取 GIF 89a 注释扩展块(0x21 0xFE),拼接所有 sub-block 文本
gifFrames GIF 多帧提取 逐帧解码合成并压缩为 PNG,单 ZIP 下载;默认全部帧,受4096帧/128MiB ZIP及像素、时间预算约束,失败不交付不完整包
iccStrip ICC 剥离 剥离 ICC profile(PNG iCCP chunk / JPEG APP2 ICC_PROFILE 段),返回去 ICC 后的 base64
imageBasic 图像基础操作 反色/翻转/通道分离/位平面提取/纯色图制作等图像基础变换
splitChannels 拆分颜色通道(R/G/B/A) 同 CyberChef Split Colour Channels:输入图片 → 输出 4 张 PNG(R/G/B/A 各一张,其余通道置 0)
pngText PNG 文本块读写 PNG tEXt/zTXt/iTXt chunk 解析与写入(操作文件字节,base64 输入输出,不经 canvas)
pngHeight PNG 高度修改 修改 PNG IHDR 高度(CTF 隐藏图层经典手法;操作文件字节,base64 输入输出)
exifExtract EXIF 提取 解析 JPEG APP1 EXIF 元数据(Make/Model/DateTime/GPS 等;操作文件字节,base64 输入)
bitplaneSlicing 位平面分解 提取指定比特位的位平面(color 按 RGB 各通道,gray 按亮度)
imageDiff 图像差异对比 双图逐像素运算(XOR/差值/加/与/或),找隐藏层;第二张图从参数栏粘贴 base64/dataURL
pngSizeRecover PNG 宽高爆破恢复 检测 PNG IHDR CRC 篡改 + 爆破恢复真实宽高(CTF 改高度藏图经典;先只爆高度 O(N) 秒出,再爆宽度,最后双爆兜底;输出报告与修复后文件)
bmpSizeRecover BMP 宽高修复 检测 BMP 宽高与像素数据量不一致 + 反推真实宽高(BMP 无 CRC,用像素字节数整除 rowSize 反推;CTF 改 BMP 宽高藏图;输出报告与修复后文件)
qrGen QR 码生成 纯 JS QR 编码(数字/字母/字节模式 + L/M/Q/H 纠错),输出可扫描二维码 PNG(含静默区)+ 0/1 矩阵 JSON。核心移植自 Nayuki (MIT)
barcodeIdentify 条码类型判定 2D(QR/Aztec/DataMatrix 结构识别)+ 1D(EAN/UPC/ISBN/ITF/Code39/Codabar 校验位判定)
qrDecode QR 码解码 从 0/1 矩阵反解 QR 内容:finder 检测 + 格式信息 + 之字形取数 + 掩码还原 + RS 纠错 + 数字/字母/字节模式还原。开「诊断」输出版本/ECL/掩码/RS纠错数/分段模式全流程报告
qrFormatBrute QR 格式信息爆破 格式信息区损坏的 QR 抢救:枚举全部 32 组 (纠错级×掩码) 组合逐组取数去交织 RS 纠错解码,列出全部可解组合与原文(ISO/IEC 18004;能力对齐 QRazyBox)
qrScanImage 二维码 / 条形码扫描解析 二维码与条形码统一扫描入口:默认读全部可读格式(QR / Code128 / Code39 / EAN / UPC / ITF / Codabar / DataMatrix / PDF417 / Aztec)。粘贴图片自动扫描,粘贴文本矩阵自动解析。图片(PNG/JPEG/GIF/BMP/WebP)解出内容;0/1 矩阵或 ASCII art 给出版本/纠错级/掩码/finder 体检。定位符被抹掉或遮挡也能解(网格重建 + 穷举 + 擦除纠错)。「读码范围」放开后可一并读出图中的条码(Code128/EAN/UPC/ITF 等)与 DataMatrix/PDF417/Aztec,多枚符号在诊断报告里逐个列出;勾「诊断报告」失败时给出卡在哪一步与建议。全程本地计算。
barcodeGen 条码生成(1D/2D 八符号) 非 QR 条码生成:Code128(自动 B/C 码表 + mod-103 校验字符)、EAN-13、UPC-A、Code39、ITF-14(均自动补/验校验位)、DataMatrix、PDF417、Aztec(任意文本含中文)。auto 档 12/13 位纯数字走 EAN-13,其余走 Code128。输出 PNG(含静区),参数 0/留空=按符号默认。内核 bwip-js 4.11.4 / BWIPP 2026-05-28(双 MIT),可配合扫码功能读回验证
ocr OCR 文字识别(英文 / 简体中文) 图片转文字,支持 png/jpg/bmp/pbm。识别语言可选 英文(eng) / 简体中文(chi_sim) / 中英混合(eng+chi_sim)。引擎为 tesseract.js,worker/core/语言模型全部随包于 public/vendor/ocr/,浏览器本地运行,零外发、不上传图片;首次使用需加载约 7.9MB 引擎 + 对应语言模型(eng≈2.95MB / chi_sim≈1.72MB),之后走 IndexedDB 缓存。资源缺失时明确报错。默认输出首行为「Confidence: N%」。
imageStructUnified 图像结构分析(归一) 拖图/粘贴 base64 自动识别 PNG/JPG/GIF/BMP,统一输出文件头/尺寸/块结构/EXIF/XMP/尾部附加数据/宽高异常修复建议。归并 pngChunks/imgMeta/jpegSizeRead/gifSizeRead 四个 op;宽高修复动作仍由 pngSizeRecover/bmpSizeRecover/jpgSizeRecover 单独提供
bin2img 二进制转图片 0/1 位流 → 黑白点阵图(1=黑 0=白,可反色)。CTF 中一串二进制按宽度排布常构成 flag 文字/二维码。输出 PNG,可下载。宽度留空自动取近似正方形。
img2dataURI 图片转 Base64/dataURI 图片 → Base64 生成方向:拖入图片按文件头嗅探 MIME(PNG/JPG/GIF/BMP/WebP/ICO),输出 dataURI(可嵌 HTML/CSS)或裸 base64 串。支持 PNG/JPG/GIF/BMP/WebP/ICO/SVG。与「Base64 编码」op 的字节通道互为补充:本 op 自动带对 MIME。反向(dataURI/base64 → 图片)用「Base64/dataURI 转图片」
dataURIToImage Base64/dataURI 转图片 图片还原方向(「图片转 Base64/dataURI」的反向):粘贴 data:image/... URI 或图片 base64 串,按文件头识别真实格式(PNG/JPG/GIF/BMP/WebP/ICO/SVG)并还原为图片文件,输出内联预览 + 下载。URI 声明 MIME 与实际字节不符时显式告警(CTF 常见伪装:声明 jpg 实为 png)
img2bits 图片转二进制点阵 「二进制转图片」的反向:把黑白点阵图还原成 0/1 位流(暗=1、白=0,可反色)。按 scale 采样(编码时放大 N 倍就填 N),可按每行位数换行。PNG 纯 JS 解码,JPG/GIF/BMP/WebP 走浏览器解码
imageToData 图片还原数值数据 「数值数据渲染成图」的反向:把图片按像素采样还原成一行一个的 RGB/RGBA/灰度数值。scale 与出图时的放大倍数一致(放大 N 倍就填 N),scan/order 与出图参数一致。有损/归一化/调色板渲染无法精确逆推,只还原当前像素值
dataToImage 数值数据渲染成图 把「一行一个像素 / 一行一个坐标 / 一行一个数」的数值文本渲染成 PNG:自动判形态(RGB(A) 通道、坐标点集、标量网格、0/1 位流),自动推导宽高(平方根或按行数),可选放大、通道顺序、y 轴方向、点集连线。布局为显式声明,判定依据写进报告,可人工纠正。输出走产物协议直接下载。
bmpPalette BMP 调色板隐写分析 解析 1/4/8-bit 索引 BMP 调色板:dump 全部项 + 抽取 LSB/索引顺序/相邻差值隐写候选 + 未用索引统计,命中 flag 高亮
gifTiming GIF 帧时序隐写 读每帧图形控制扩展的 Delay Time(厘秒),映射为数字序列 / ASCII / 阈值二值化位流,解出藏在播放时长里的信息
jpgSizeRecover JPEG 宽高修复 基线 JPEG 数 MCU 反推真实高度(SOF 无校验和,熵解码扫描数据数块即得;CTF 改高度藏图的 JPEG 版)+ 手动强制宽高,输出修复后 base64
imageCompress 图片压缩 图片重编码压缩:质量档 0-100 + 可选目标最大宽(最近邻缩小)+ JPEG/PNG/WebP 输出格式;JPEG/WebP 走浏览器 canvas 编码,PNG 全环境可用。输出预览 + 下载
imageGray 图片黑白化 灰度化(Rec.601:0.299R+0.587G+0.114B,与 Pillow 'L' 模式同公式逐像素一致)或阈值二值化(0-255)。CTF 里把彩色载体压平后常露出位平面/纹路线索
imagePixelate 图片像素化 马赛克方块平均:按方块尺寸取块内像素均值(边缘不满块按实际面积收缩平均),输出放大回原尺寸观感即马赛克。块尺寸 1-512
imageFrosted 图片毛玻璃 盒模糊(box blur):水平+垂直两遍分离卷积近似高斯,边缘窗口按实际像素收缩平均,半径 1-20。观察低频结构/压掉高频隐写痕迹时用
imageSketch 图片转素描 铅笔素描两档:dodge=灰度反相盒模糊后颜色减淡混合(经典算法,出白纸黑线素描);edge=Sobel 算子边缘提取(白底黑线轮廓)。辅助辨认被色彩掩盖的图案
imageToText 图片文字化(字符画) 亮度→字符梯度映射的字符画:输出列数 20-400 可调(纵向步长取横向 2 倍,补偿字符高宽比),三档梯度表(classic/blocks/bits)+ 反色。输出纯文本,可直接粘贴
gifCompose GIF 合成 多张图片合成 GIF89a:等尺寸化到首帧(scale=拉伸 / pad=等比居中铺填充色)+ 每帧延时 + 循环次数;自实现 LZW 压缩与 NETSCAPE2.0 循环扩展,中位切分法量化 ≤256 色。GIF 多帧提取的反向闭环,出题/回炉两用
spriteSheet 精灵图互转 精灵图(等分网格)↔ 序列帧互转:拆帧把 N 列 × M 行网格图切成逐帧 PNG(行主序,frame_000 起);合成把多帧(主输入首帧 + 追加行每行一个 dataURL)按每行列数拼网格,末行空位补透明。纯 JS PNG 全环境可用

音频 / 音视频(7 ops)

opId 名称 说明
wavHeader WAV 头解析 解析 RIFF/WAVE 结构:遍历 chunk + fmt 块(采样率/位深/声道/格式码)+ data 块时长;输入 hex/base64/UTF-8 自动识别
sstvIdent SSTV 模式识别 检测 1200Hz 起始同步脉冲 + VIS 码,标注可能的 SSTV 模式(Robot/Scottie/Martin/PD);仅识别不解调图像
pcmTransforms PCM 波形变换 WAV 整数 PCM(8/16/24/32bit)逐样本变换五档:声道差 L-R(宽域计算,输出 32bit WAV + 饱和计数)、一阶差分、波形反相、时间倒放(保持原格式重建 WAV)与阈值位流(逐样本/分窗取 max,LSB-first 打包 + 游程统计)。IEEE float 与压缩格式显式拒绝。纯前端零外发
sstv SSTV 慢扫描电视 编/解 WAV 里的 SSTV 信号还原成图片:Martin M1 / Robot36 双向。decode 拖入整数 PCM WAV(FM 鉴频 + VIS 头 + 逐行再同步,抗 ±2% 时钟频偏),输出 PNG + VIS/校验/行同步诊断;encode 输入模式尺寸的 RGB hex 合成 WAV。其它模式(Scottie/PD 等)与浮点/压缩 WAV 显式拒绝
dtmfWav DTMF 拨号音 WAV 按键序列 ↔ 拨号音 WAV:encode 数字(0-9 A-D * #)→叠加行/列双正弦 16位单声道 WAV(base64);decode WAV(base64/hex)→Goertzel 检 8 基频→按键。解码支持整数 PCM(8/16/24/32bit)/IEEE float(32/64bit)/µ-law,对标并超越 dtmf2num。
morseWav 摩斯音频编解码 摩斯电码音频(WAV)双向(ITU-R M.1677-1)。encode: 明文或点划串 → 按 1/3/7 单位时间格合成 16 位单声道 WAV(base64 + 可下载 morse.wav),音调/采样率/幅度/升降沿可调;decode: WAV 音频 → 包络检测 → Otsu 自适应阈值 → 点划自适应分类 → 明文。解码支持整数 PCM 8/16/24/32 位、IEEE float 32/64 位、µ-law、单/多声道、任意采样率;单位时长自适应估计,可被 unit(ms) 或 wpm(PARIS) 覆盖;输出含点划计数、信噪判据与置信度,并附「明文再解一层」参考(复用一键解码引擎跑一层,不改变原结果)。
spectrogram 音频频谱图(STFT) WAV → 短时傅里叶变换频谱图 PNG:Hann 窗 + radix-2 FFT,magma 色阶渲染,肉眼读频域藏字(CTF 音频隐写把 flag 画进频谱)。纯前端免装 Audacity

文本隐写(13 ops)

opId 名称 说明
zeroWidth 零宽字符隐写 Kei Misawa MIT:载体文本夹带隐藏消息,radix-N 零宽字符。默认 U+200C/200D/202C/FEFF(radix-4),可切换扩展字符集缩短编码
zeroChar 零宽摩斯密码 明文→摩斯→零宽 U+200B(/)U+200C(.)U+200D(-),CJK 走 \uXXXX
zwTags Unicode Tag 走私 U+E0000 平面隐藏 ASCII/UTF-8 字节,LLM prompt 注入常用载体
zwVarSel 变体选择器隐写 Paul Butler 2024:U+FE00-FE0F / U+E0100-E01EF 附加任意字节流
emojiSubst emoji 替换隐写 emoji-aes 替换层:base64 字母表 ↔ 65 emoji 表 + rotation(不含 AES)
tadpole 蝌蚪文 蝌蚪文加解密(U+06D6-U+06EC 装饰符 + checksum + b64 双格式)
textBlindWatermark 文本盲水印 guofei9987/text_blind_watermark v1 JS 版格式:水印逐字符变长二进制(不补零),经单/双 U+200C 藏进掩护文本,每位消耗 1 个掩护字符;与「零宽字符隐写」(Misawa radix-4)互不兼容。encode: 水印+掩护文本→隐写文本;decode: 隐写文本→水印
snow SNOW 空白隐写 行尾空白隐写(原版 mattkwan/snow 格式):TAB 标记数据起点,每 3bit 编码为 TAB+空格串,行宽 8 列对齐。支持 -C Huffman 压缩与 -p ICE 加密,与 snow.exe 双向互通。encode: 消息+容器→隐写文本;decode: 隐写文本→消息
acrostic 藏头/藏尾/藏中 文本隐写:把隐藏消息字符放在载体每行/句/词的首/尾/中位。encode 需载体,decode 取对应位置字符拼接
everyN 等距取字隐写 文本隐写:每 N 字取一拼隐藏消息。encode 把 msg 字符按每 N 位置 1 个分散进载体,decode 每 N 取第 N 个
caseBitStego 大小写位隐写 文本隐写:用载体字母大小写承载比特(大写=1,小写=0)。msg→UTF-8→比特→改大小写。前 32 比特为长度前缀
nthChar 第 N 字隐写 文本隐写:每行/句/词第 N 字拼隐藏消息(藏头=N1,藏第2字=N2)。encode 替换第 N 字,decode 取第 N 字
wordSpacingBits 词距位隐写 文本隐写:用词间空格数承载比特(1空格=0,2空格=1)。msg→UTF-8→比特→改空格数。前 32 比特为长度前缀

文件隐写(32 ops)

opId 名称 说明
lsbImage LSB 像素隐写 最低有效位像素隐写(前 32 位存长度,支持 R/G/B/A 通道选择,多位深 1-3 位/通道)。提取时若图中不是本格式(位流无长度前缀),自动改按原始位流提取最长可读文本;两者都没有才报错并给出原因。
pixelJihad PixelJihad PixelJihad 隐写(SHA-256 种子 + 伪随机 LSB + 可选 AES-CCM 加密)
arnoldCat Arnold 猫脸变换 Arnold 猫脸变换置乱(支持正方形与任意矩形 M×N,参数化矩阵 [[1,a],[b,ab+1]],a=b=1 为标准版;矩形按行模/列模分置可逆)。行优先约定:对齐首坐标=行的参考实现(Python img[row][col] 类),勾选后 a/b 按原值填,无需换序。逐通道置乱:对齐流通脚本 R/G/B 各平面独立跑猫脸的语义,alpha 通道不动
arnoldCatBrute Arnold 猫脸暴破 全参数暴力破解:a/b/迭代次数三维范围遍历反向还原,候选缩略图网格拼图输出(随参数范围增大耗时线性增长)。可勾「枚举行优先约定」加约定枚举维:列优先∪行优先各跑一遍,行优先候选标签尾带 r
f5stego F5 JPEG 隐写 编/解 F5(f5stegojs 系) JPEG 隐写双向:encode 用密钥把消息经 (1,2^k-1,k) 矩阵编码+收缩写入亮度 DCT 系数并重打包 JPEG;decode 熵解码取系数 → 密钥置换 → 矩阵解码提取隐藏字节流,输出 hex/ASCII/UTF-8 + F5 容量诊断 + flag 命中。纯前端,零外发
audioLsb 音频 LSB 提取 从 WAV PCM 样本最低有效位提取隐藏比特流 → 文本/hex + 原字节下载;支持 8/16/24/32 位深、按声道选取、每样本多位
audioLsbEmbed 音频 LSB 嵌入(出题) 把载荷写进 WAV PCM 样本最低位(或每样本多位)生成隐写 WAV;位布局与 audioLsb 提取一一对应;输入非 WAV 时按原始 PCM 封装
jphswinLaunch JPHS · JPEG 隐写 JPHS for Windows(jphide/jpseek),把数据藏进 JPEG。 本工具为纯 GUI 程序(私有格式 / 无无人值守命令行),本功能仅「启动本机 exe」,点击后在弹出的窗口里手动操作,工具箱不代为喂输入或取结果。仅 Windows,需先起 python bridge.py。
openpuffLaunch OpenPuff · 多载体 OpenPuff 多载体隐写(图/音/视/PDF/flash 等),支持多层密码。 本工具为纯 GUI 程序(私有格式 / 无无人值守命令行),本功能仅「启动本机 exe」,点击后在弹出的窗口里手动操作,工具箱不代为喂输入或取结果。仅 Windows,需先起 python bridge.py。
oursecretLaunch OurSecret · 隐写 OurSecret GUI 隐写工具,私有格式无法纯前端复刻。 本工具为纯 GUI 程序(私有格式 / 无无人值守命令行),本功能仅「启动本机 exe」,点击后在弹出的窗口里手动操作,工具箱不代为喂输入或取结果。仅 Windows,需先起 python bridge.py。
jsteg jsteg JPEG 隐写 编/解 jsteg 隐写双向工具:encode 把消息顺序写入 DCT 系数 LSB(跳过 0 与 ±1,幅值翻转符号不变,避免产生 0),重新 Huffman 编码回写 JPEG(标记段原样保留);decode 顺序读 LSB 还原消息。封装 = "jsteg" 魔数 + LE32 长度,兼容原版 jsteg CLI 的 hide/reveal。仅基线单扫描 JPEG,渐进式报错。纯前端零外发
lsbDeep LSB 深度扫描(全通道 · 位平面) 对 PNG/BMP 枚举 通道组合 × 位平面 0-7 × 行/列优 × MSB/LSB 位序 × 起始偏移 0-7 的 LSB 提取,按 flag、Base64、URL 与可读性评分排前。与 zstegScan 的区别是列优先、位序和位偏移都参与;复用 R6 lsbDeepScan,大图自动缩短探测前缀并限额,不返回假结果。
rasterStego 光栅隐写拆图(zbRasterTerminator) 复刻 zbRasterTerminator:对 PNG/BMP 的宽/高枚举 2..maxDivisor 的因数,按 x/y 轴和相位拆出每张相位图 PNG(文件名如 x-5-1.png、y-5-1.png)。默认中灰 #808080 填充,黑/白笔画都可见,也可选深灰/黑/透明;用于把光栅图里的隐藏文字/图案拆出来;产物直接列入可下载文件,张数/单张/总像素均有上限,超限明确报错不静默截断。
mp3stego MP3Stego 解码(-X -P) 按 MP3Stego 1.1.19 源码复刻:读取 MPEG-1 Layer III 帧 side info 的 part2_3_length 奇偶位,用密码驱动的 SHA-1 比特流选出承载位,3DES-CBC 解密后 gunzip 还原隐藏文本/文件。密码错误、空密码、未嵌入、LSF 帧均明确失败;不调用外部 exe,不伪造成功。
imageThumb EXIF 缩略图提取 从 JPEG 的 APP0(JFIF) / APP1(EXIF IFD1) 与 PNG eXIf chunk 中提取内嵌缩略图,按原始编码输出可下载文件(JPEG 原样、JFIF 裸 RGB 转 PNG)。无缩略图时明确说明「未发现」,不把主图或尾部数据冒充缩略图;纯字节解析,零 DOM。
stegSolve StegSolve 图像分析 StegSolve 1.4 独立页面:42 种通道/位平面/颜色变换、Data Extract 任意通道位平面导出、Stereogram Solver、Frame Browser、Image Combiner 13 种模式、文件格式报告。支持 PNG/APNG/GIF/JPEG/BMP/WebP,全部本地计算。
dctWatermark DCT 盲水印 文本水印嵌入/提取(8×8 DCT 中频 QIM 量化)。嵌入方向输出带水印 PNG,提取方向输出文本,须同强度/通道。
dualFftWatermark 双图盲水印(F) 频域叠加 双图盲水印(半盲):载体图 + 水印图 → 合成图;给「原图 + 合成图」还原出水印图。2D FFT 域加性扩频 + 行列随机置乱(seed 即工具里的 key)+ 180° 镜像补齐。单张 base64 放不下两张图,第二张图从参数栏粘贴(同「图像差异对比」)。
outguess OutGuess 隐写(双向) OutGuess 0.4 隐写双向:encode 把消息嵌进载体,decode 用同一口令取回。JPEG 走量化 DCT 系数 LSB(系数域编辑,产物按质量重编码、非原图字节副本),PPM/PGM(P2/P3/P5/P6)走像素位;统计保真默认开启。载体按魔数分派(jpg/ppm/pnm),P1/P4 不支持。载荷无认证标签(无 MAC):取出字节不等于口令已认证。引擎为本地 WASM(单线程,无跨源隔离头要求),源码与许可见引擎目录 NOTICE。
steghide steghide 隐写(双向) steghide 0.5.1 隐写双向:把消息嵌入 JPEG(DCT 系数)或 WAV(样本 LSB),支持口令派生加密与可选压缩;extract 用同一口令取回。载体按魔数分派,仅支持 JPEG 与 WAV。载荷无独立认证标签:取出字节不等于口令已认证。引擎为本地 WASM(单线程)。
gifshuffle GifShuffle 调色板隐写 通过重排 GIF 全局调色板条目顺序藏比特(外观逐像素不变);兼容 gifshuffle 2.0 的 ICE 加密与内置 Huffman 压缩,支持透明色/动画/局部色表
watermarkhFft WaterMarkH 频域隐形水印 复刻 WaterMarkH(吾爱版 1.2.0.0)的隐形水印:把「黑底白字 + 中心对称镜像」的图案直接当作频谱,按 输出 = 256×|x + (α/√N)·DFT(W)| 叠加到三通道;提取取通道幅度谱,文字在频谱图上肉眼可读。需 2 的幂尺寸,故有 5 种几何方案。本版增强:图案可用文字(多行)或图片、可设位置,提取支持自动增益 / 去背景归一化 / 压制镜像副本。无密钥、无纠错码。
dwtSvdWatermark DWT-DCT-SVD 盲水印 真盲水印(只需含水印的单图即可提取):Haar 一级小波低频子带 → 4×4 块 DCT → 奇异值量化嵌入,password_img 决定块内置换、password_wm 决定水印序列洗牌,按 wmBits 做循环冗余 + 3 通道平均。文本模式嵌入/提取文本;图片模式嵌入一张水印图(宽×高即提取 key),提取方向还原出水印图。
mirageTank 幻影坦克 白底见表图、黑底见里图的 RGBA PNG(光影坦克=同物别名):α=1−(白−黑)/255、前景=黑/α;灰度档经典精确,彩色档黑底侧精确/白底侧拟合;解码反渲染出白/黑两张图
tomatoScramble 小番茄图片混淆 Gilbert 广义 Hilbert 曲线像素重排 + 黄金比例偏移 round((√5−1)/2×W×H);与流行网页版/桌面版同算法互解;RGBA 四字节整搬,输出无损 PNG;解码=精确逆映射
imgFft 图像 2D FFT 幅度谱 对 PNG/BMP 做 2D 傅里叶变换,输出 log 幅度谱(低频居中/fftshift)。CTF 频域隐写常在幅度谱里藏 flag 文字/图案(图片肉眼正常,频域现形)。重采样到 2 的幂(≤maxSize)。
ttlStego TTL 隐写(IP 包 TTL 序列) IP 包 TTL 值序列 ↔ 文本:4 锚点(0/64/128/255)各代表 2bit,4 个包拼 1 字节。解码容忍实测抖动值(按最近锚点归一)
stegosaurus Stegosaurus pyc 隐写检测 解析 .pyc 头定 Python 版本 + 递归解 marshal code object,扫描字符串常量藏的 flag、检测 co_lnotab 行号表异常并抽 LSB bit 流:纯前端静态分析,不执行 pyc
stegpy stegpy 隐写(stegv3) stegpy 工具兼容隐写:bit 平面交错 1/2/4 位 + 可选 PBKDF2-Fernet 密码加密,无损图像载体(stegv3 魔数帧)
stereogramSolver 立体图求解 Autostereogram 立体图隐写求解:图像与自身水平循环位移相减(roll+diff),正确 offset 下深度条纹显形。offset 单值精确解,留空自动扫描拼图
lsbEmbed LSB 嵌入(出题) 把载荷文本写进封面图(PNG/BMP)指定位平面的最低有效位,生成隐写图 PNG(通道顺序/位平面/位序与 zstegScan 一一对应,出 misc 题用)
deepsoundExtract DeepSound 提取 从 PCM WAV 载体的采样低位提取 DeepSound 隐藏文件(DSC2/DSCF · 明文/AES-256)

插件与 AI 接入

产品内统一称「扩展」,本节标题沿用「插件」以对应代码目录与 SDK 文档。

工具箱是声明式注册表驱动的:每个算法就是一条 {id, cat, name, params, encode/decode/run, detect} 记录,UI 全自动渲染。这套契约同样对第三方开放。

插件 SDK

第三方可零主项目改动写插件:一个插件 = 一个标准 ESM 模块,只面对宿主注入的受控 ctx,不 import 主项目内部模块。插件能注册算法 op(自动进菜单、搜索、一键解码)、新增分类、注入多语言文案、用命名空间隔离的本地存储。所有注册动作在卸载时精确回收。

  • 开发指南:src/plugin/README.md
  • 参考插件(活样板,照抄改名即起步):src/plugin/examples/hello-cipher/index.js
  • 官方扩展包(随发行包分发、默认不启用):addons/dcode-extras-2026-10/。在扩展面板「官方扩展」区直接点击启用(自动读取 official.json,同源 addons/ 目录发现兜底);不进主 op 计数、不进预缓存,首次在线加载后离线可用。当前 Beta 409 op(2026-11 批次),988 个 dCode 工具已逐条入账。

给外部 AI 用(MCP / Skills)

工具箱的能力面可暴露给支持 MCP 的 AI 客户端或 Agent,全程本地进程、零外发。能力面单一事实源在 src/plugin/mcpBridge.js,对外提供 6 个 MCP 工具(列分类、列 op、查 op 参数 schema、智能识别编码、跑指定 op、一键智能解码)与 3 个 MCP 资源(ebctf://ops 全量 op 清单、ebctf://categories 分类概览、ebctf://guide 解题引导)。浏览器内 AI 面板、Node stdio server、CLI Skill 三端复用同一份定义。

AI 的联网出口只有可选的 aiClient,且必须用户自备 endpoint + key,直连用户站点,主项目不中转、不记录。默认关闭。

贡献者

以下名单按工具箱「关于」页的「作者与贡献者」顺序列出。

创始人 · 作者

  • 恒烈 · EternalBlaze — 创始人 · 作者。

作者

  • 小布丁 — 作者。

贡献者

  • Enze:提出配方链交互优化方案。
  • yy2m1a0 — 内测员 · 一键多重解码评分算法优化。
  • 霍雅 — 内测员 · 昼夜切换优化。
  • 0x0off — 内测员 · 真题算法补充建议。
  • 懒羊羊大王 — 内测员 · 发现 fancy 系列算法判定过于严谨,促成宽松判定模式。
  • 风之暇想 — 内测员 · 新增多种现代加密算法提议。
  • jluvb — V0.1.2 部分编码转义错误纠正。
  • smile1110 — 提出 ECC 等现代密码算法扩充提议(v0.1.6 密钥生命周期与签名扩充方向即由此推进)。
  • 拉面:反馈千千秀字、佛曰、SNOW 的原版兼容性,Unicode 与 Twin-Hex 空白边界,以及 Whitespace 执行、Malbolge 识别问题;提出 Scytale 双密钥形式、零宽隐写字符集与格式扩充、科普和工具分类纠正、Brainfuck 非标准变体功能取舍建议。
  • qinling072:提出补充 OutGuess 等图像隐写算法。
  • cnui6:提出 Rabbit 兼容性修复,促成 CryptoJS 生态互解与口令支持。
  • 二月犬:提出补充哦齁编码(仙子曰)、哈基米加密(三进制)与杂鱼密语(官方版及 Base8 变体)。
  • 橙子:提出多个 Misc 逻辑代码修复。
  • Tokeii:贡献改版图标,项目下游优化作者。
  • Jason:提出增加国密攻击工具。

Community

  • Linux.Do — 本项目非常认可 LinuxDo 社区!

开源协议

本项目自有代码采用 Apache License 2.0,可自由使用、修改与再分发,详见根目录 LICENSE 全文。第三方资源按各自许可证使用。

第三方组件(如 vendored 的 abracadabra-cn、各 WASM 库等)各自遵循其原始许可证。

第三方资源与许可

本项目自身代码依 Apache License 2.0 授权。使用的第三方资源如下:

宽松许可组件

  • noble curves / noble hashes(MIT © Paul Miller)— 椭圆曲线与哈希,随包 src/core/lib/noble/(含 LICENSE.txt)。
  • bwip-js 4.11.4 + BWIPP 2026-05-28(双 MIT)— 条形码生成。
  • material-color-utilities 0.4.0(Apache-2.0)— 动态取色。
  • zxing-wasm(MIT © 2023 Ze-Zheng Wu;上游 ZXing-C++ 为 Apache-2.0)— 二维码/条码解码。
  • CodeMirror 6(MIT)— 自定义算法编辑器内核。
  • KaTeX 0.16.11(MIT,字体 OFL)— 数学公式渲染。
  • wubi-code-data 1.0.2(ISC;98 表上游 wubi-lex,MIT)— 五笔 86/98 单字全码。
  • Chinese-characters-code-table(BSD-2-Clause)— 20,902 字五笔/郑码字表(本工具只用郑码列)。
  • zhengma_for_rime(Apache-2.0)— 郑码 Rime 单字表,用于补全多码与生僻字。
  • Unicode Unihan 18.0.0(Unicode License v3)— 中文电码、四角号码、仓颉码字段。
  • node-ctc(MIT)— 中文电码补缺与交叉核对。
  • hanziDB.csv(MIT;字频源自 Jun Da 现代汉语字频表)— 同码候选的词频排序。

以上汉字码表的完整许可文本见 src/core/data/README.md。

图标 · Material Symbols Rounded

  • 来源:Google Material Symbols(@material-symbols/svg-400)
  • 许可:Apache License 2.0,可自由商用 / 修改 / 再分发。
  • 用法:官方 SVG path 内联进 src/ui/icons.js,零请求、零 CDN。

字体 · 天珩全字库(全字堂)

  • 来源:沈天珩「全字堂」 http://cheonhyeong.com/index.html
  • 版本:天珩全字库 V5.0.0(编译日期 2025-09-25)
  • 覆盖:全 Unicode,支持 15 万余汉字及 Unicode 17.0 所定义的各类符号、小语种等。
  • 文件:public/fonts/th/th-ctf-subset.woff2(首屏子集)、th-p0.woff2(平面 0 BMP)、th-p1.woff2(平面 1 SMP)、th-p2.woff2(平面 2 SIP)、th-p16.woff2(平面 3+)。
  • 许可与使用声明:天珩官方说明第六条载明「为保护字库之版权(包括各大公司的字形版权和本人的整理制作)……请勿用于商业用途」。本项目为开源、非商业的 CTF 学习工具,仅在本地引用天珩字库用于显示生僻字符,不对字库本身做任何商业利用,符合上述使用边界。天珩字库的版权归沈天珩及相关字形原始版权方所有;如需商用请联系原作者获取授权,或替换为可商用字体(如思源黑体 / 花园明朝 HanaMin,均为 SIL OFL 许可)。

隐私

零外发是本工具的招牌,准确含义是程序自身不主动外发:核心算法默认不上传用户输入;PWA 与检查更新只下载本站资源;本地桥只访问 127.0.0.1;外部 AI 仅在用户主动配置 endpoint 与密钥后直连该地址,主项目不做中转或记录。

用户显式启用的「随机数服务器」、以及在「自定义实现」里自行编写的 fetch / XMLHttpRequest / WebSocket 等网络调用,属于用户授权外发:数据由用户决定,全部在本机浏览器里发出,主项目不代发、不中转。部署到服务器上的后端(MCP / 本地桥)不代用户外发,也不应作为公网多用户服务暴露。

安全说明(2026-10)

  • 运行时面:本体是纯前端,不依赖 PHP / Java / Go / Rust;MCP stdio 服务器用 Node。Node 26.4.0 命中 2026-07 安全公告(CVE-2026-58043 / 58044 / 56848:权限模型越权、HTTP/2 UAF 等),MCP 启动时对受影响版本在 stderr 提示;建议 Node ≥ 26.5.1(或 24.18.1 / 22.23.2)。MCP 只走 stdio,不监听 HTTP/2。
  • OpenPGP.js:已从 5.11.2 升级到 5.11.3,修复 CVE-2025-47934(内联签名/加密签名可伪造,High)。
  • JSFuck / JJEncode:解码会用 new Function 执行输入里的 JS。已从 MCP 工具面隐藏,并从一键解码自动池排除(noAuto);仍可在浏览器 UI 手动运行。
  • RSA 弱参数:验签/参数计算统一拒绝 e<3 或偶数 e;证书/CSR 解析对 e=3、小模数给出警告。证书解析只做结构展示,不验证签名/信任链。
  • 7-Zip WASM:随包 7zz 24.09 在 CVE-2025-11001 / 11002(目录穿越 RCE,修复 25.00)版本范围内;本工具只在本地 Emscripten MEMFS 解压用户主动选择的 CTF 文件,不暴露网络服务,风险受限;升级到 7-Zip ≥25.00 已列入后续项。
  • eMudhra 事件:2026-10 印度 CA eMudhra 的中间 CA 使用极小 ECDSA 私钥标量(媒体称“私钥为 4”),Chrome / Firefox / Apple / Microsoft 已阻断。本项目不内置 CA 信任库、不引用 eMudhra,证书验证交给浏览器/系统信任库,不受该事件直接影响。
  • PWA 缓存:tools/gen_sw_assets.mjs 的 revision 现已覆盖按需资产(WASM / KaTeX / 语言包等)内容哈希,旧库不会因缓存名不变而长期滞留。

关键词 / Keywords

以下为多语言检索关键词,方便不同语言的用户搜到本项目。关键词仅用于检索,不代表界面语言清单(界面语言以应用内「语言」页为准)。

语言 关键词
简体中文 CTF 工具箱、CTF 编码工具箱、在线编解码、加解密工具、密码学工具、古典密码、现代密码、一键解码、隐写分析、二维码识别、哈希校验、进制转换、Base64 解码、离线工具、本地优先、零外发
English CTF toolbox, encoder decoder, cipher identifier, cryptography toolkit, classical ciphers, modern ciphers, one-click decode, steganography analysis, QR code reader, hash calculator, base64 decode, offline tool, local-first, no upload
日本語 CTF ツール、エンコード・デコード、暗号化・復号、古典暗号、現代暗号、暗号解析、ステガノグラフィ、QR コード読み取り、ハッシュ計算、基数変換、オフライン
한국어 CTF 도구, 인코딩 디코딩, 암호화 복호화, 고전 암호, 현대 암호, 암호 분석, 스테가노그래피, QR 코드 인식, 해시 계산, 진법 변환, 오프라인
Русский CTF инструменты, кодирование и декодирование, шифрование и дешифрование, классические шифры, современные шифры, криптоанализ, стеганография, распознавание QR-кодов, хеширование, системы счисления, офлайн
Français boîte à outils CTF, encodage et décodage, chiffrement et déchiffrement, chiffres classiques, chiffres modernes, cryptanalyse, stéganographie, lecture de QR code, calcul de hachage, conversion de base, hors ligne
Deutsch CTF-Werkzeug, Kodierung und Dekodierung, Ver- und Entschlüsselung, klassische Chiffren, moderne Chiffren, Kryptoanalyse, Steganographie, QR-Code lesen, Hash berechnen, Zahlensysteme, offline
Español herramientas CTF, codificación y decodificación, cifrado y descifrado, cifrados clásicos, cifrados modernos, criptoanálisis, esteganografía, lector de códigos QR, cálculo de hash, conversión de base, sin conexión

About

跨平台 CTF 编解码工具箱/密码学工具箱,几百个算法全在浏览器本地运行,零外发。支持一把梭智能解码、配方链、图形编码图鉴、隐写分析与全 Unicode 显示。

Resources

Contributing

Stars

346 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages