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

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

16 hours ago

恒烈 CTF 编码工具箱

恒烈 CTF 编码工具箱 · EBCTFCodeBox

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

!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.7。源码始终以 GitHub 仓库为准:github.com/Henglie/EBCTFCodeBox

更新日志

v0.1.7

新增功能

【族滑块大合并】同系列算法在导航里合并为一个族条目:RSA 九档、RSA 攻击十三档、JWT 令牌、ZIP 工具、二维码、千千秀字等 44 个族。左侧导航从 726 项瘦到 561 项,族内点滑块直接换档,参数和说明跟着换。

【右键收藏】在任意算法上点右键即可添加或取消收藏,族条目会列出全部档位分别收藏,搜索结果也能右键。算法页星标改成 48px 正圆,好点好认。

【主题直达】新渐变主题下,原预设配色、自定义颜色、恢复默认同屏可见,点一下直接切换,不用先切昼夜模式,当前明暗保持不变。

【搜索懂口语】搜「3DES 解密」「JWT 伪造」这类说法现在全能命中——自动忽略“加密/解密/破解”等动作词。补齐 17 个算法的俗称(24字、魔数、嗷呜、圆柱密码、转轮机、九键……)。

【拼音首字母搜索】ksmm → 凯撒密码:6763 字全拼音表索引,全拼/首字母双命中。

【别名全展示】每个算法的科普卡底部新增全部可搜别名标签,这个算法有哪些叫法一目了然。

【结果查找筛选】一键解码结果区增加紧凑的文字查找、筛选、匹配计数与清空,只筛已有结果,不重复计算。

【弹簧动画】弹层开合与族滑块换上新动画:中途打断不跳变、不重播,跟手丝滑。总开关可一键回退旧版。

【未收录算法大补 26 件】按 dCode 全站工具清单交叉对照补齐 26 个操作,覆盖古典密码、编码映射、压缩校验、工程编码四类。全部过权威对拍(官方示例/标准向量逐字节一致)。现在共 753 个注册操作。

【Malbolge 执行】深奥语言 Malbolge 解释器落地:执行程序、规范形互转,官方 7 样例逐字节对拍全过。

【文本盲水印】新增一种与零宽隐写互不兼容的文本盲水印格式,与原作者开源实现双向互通;QR 格式信息爆破枚举 32 组合,撕掉格式区的二维码也能救回来。

【想曰加密】补上加密方向:中文/日文/韩文/象形/Emoji/零宽/Base64 七种外观任选,输出可直接复制回解密验证;同时修复星面 Emoji 密文无法解开的问题。

【NTFS 隐写数据流】新增 ADS 备用数据流工具:检测、提取、删除、添加 ZIP 内嵌的 NTFS 备用数据流,纯 JS 实现,替代原 Windows 图形工具。

【Scytale 兼容开关】新增 dCode 口径三开关(补位符、剥空格、裁尾填充),默认关闭不改变原行为,开启后与 dCode.fr 逐字节一致。

【18 语言统一】20 种语言全部与英文基线同构(1471 键);藏文、壮文、蒙文三门民族语言完成翻译,四门 RTL 语言零隐形控制字符。

修复 BUG

【Whitespace 语义重写】旧实现是自创方言,与官方指令集互不兼容;现已按 esolangs 官方指令表重写,并新增程序输入支持。

【Brainfuck 兼容变体】“交换重跑”变体(ReverseFuck)默认开启,自动识别自动执行,经真实 CTF 原题验证互通。

【佛曰原版协议】旧实现只是换字表、没有加密;现已换成 keyfc 原版 AES-256-CBC 协议,与 Python 原版实现双向互通。

【千千秀字丢字】修复增补平面字符截断、盲文高位丢位、汉字标点整句报错、音乐三位数越界;密码规则对齐原版。

【零宽字符集】支持自定义 2~36 进制字符集,与原作者源码对拍通过。

【Scytale 修复】空输入、超大密钥、双密钥模式全部正确处理,不再删除真实竖线。

【文件输出四连修】尾部剥离和 7z 解压产物提供下载;拖图进 stegv3 不再报错;gzip 解压出的二进制可直接存文件。

【空文件误报】拖入 0 字节文件不再被误判成“格式不支持”。

【连续点击误杀】自定义算法排队等待时不再被误判“疑似死循环”并强制终止,改为明确提示稍后再试。

【英文科普回落】修复切英文后科普回落中文,以及切换语言瞬间当前页短暂显示旧语言的问题。

【科普卡公式渲染】68 分片 201 处补渲染定界;行内解析先取代码段——$7z$… 哈希串不再误入公式。

【滑块溢出】超长族滑块改为平滑横向滚动,不再溢出屏幕或压住参数区。

【二维码搜索】“QR 结构解析”现在能被“QR码”搜到。

优化功能

【移除操作历史】按用户要求彻底删除历史功能:入口、面板、记录、导出整条链全部移除,不留隐藏开关。

【移除冗余算法】CAST-128 的两套字节级等价实现合并保留功能完整的一套;Brainfuck 交换重跑并入主算法选项。

【精简本地桥】命令行型空壳桥全部移除,纯 JS 版承接已有能力;仅保留 4 个无替代的图形界面工具启动桥。

【编码图鉴去伪】图鉴页与清单元数据中不实的来源声明全部移除;关于页参考项目新增 dCode。

【控件统一】下载提醒弹窗、万能查看器开关、插件页触摸热区等跨页面控件统一为同套 M3 样式;“减少动效”改为标准 M3 开关行。

【性能实测】首屏加载 702ms、搜索建索引 48ms、753 个操作注册 417ms;发布终检 1292 项断言零回归、全站 754 页零报错。

完整历史见 CHANGELOG.md

项目简介

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

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

核心设计:

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

特点

  • 本地优先 · 零外发:原生 ES module,无框架、无构建步骤。核心编解码在浏览器本地执行,不上传用户输入;「外链」只生成 URL。PWA 更新仅下载本站资源,本地桥只访问 127.0.0.1,外部 AI 仅在用户主动配置 endpoint 后启用。
  • 一把梭智能解码:粘贴或拖入内容,自动识别可能的编码链并给出候选解码结果,支持 crib 目标特征过滤与深度爆破。
  • 753 个注册操作 · 18 分类:覆盖 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 均可正常显示。
  • Material 3 温和红主题,暗/亮色切换,20 种语言。
想看完整的功能介绍与场景演示,见 介绍文章.md

界面预览

一把梭 · 智能解码

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

文件解析演示

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

配方链演示

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

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

运行

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

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

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

或直接用任意静态服务器指向项目根目录。首版无需 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):首次在线访问后预缓存 584 项核心运行资源,支持安装到桌面和核心功能完全断网运行;大体积按需资产(天珩字库四平面、WASM、IDS 拼字数据、编码对照图、KaTeX)首次用到后即缓存、之后同样离线可用。顶栏“检查更新”会下载完整新版本后再询问刷新。

平台兼容性

| 平台 | 前端功能 | 本地桥(exe 工具) | 启动方式 | |---|---|---|---| | Windows | 全功能(主平台) | watermarkH / JPHS / OpenPuff / OurSecret(GUI 启动)+ pyc/exe 本地反编 + 系统强调色同步 | py 点我启动.py | | macOS | 全功能 | 不可用(无 .exe),桥自动跳过,相关 op 灰置提示 | python3 点我启动.py | | Linux | 全功能 | 同 macOS,桥自动跳过 | 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 在页面加载后后台安装。

目录结构

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

编解码全清单(753 ops · 18 分类)

本节由 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 | 标准 / URL-safe(含 base64url,可选 padding)/ 自定义码表 | | base85 | Base85 / Ascii85 | Adobe Ascii85(<~ ~> 包裹,z 压缩零组) | | 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) | | crockford32 | Crockford Base32 | 人类可读 Base32(排 I/L/O/U,o→0 i/l→1 容错,- 忽略;可选 mod 37 校验位 * ~ $ = U);位流与 Base32 op 的 crockford 档同口径 | | modhex | Modhex(YubiKey) | YubiKey 键盘布局无关十六进制:字母表 cbdefghijklnrtuv ↔ 0-9a-f 逐位替换(UTF-8 字节流),双向;大小写不敏感,解码自动容忍常见分隔符 | | citrixCtx1 | Citrix CTX1 | Citrix 密码编码(.ica/思杰凭据常见):UTF-16LE 字节链式异或 0xA5,每个结果的两个半字节各 +0x41 映射为 A-P 字符;双向 | | dxBase64 | DXBase64 | 风之暇想 DXBase64:raw deflate + 随机 salt 循环 XOR + CRC16 校验的 Base64 变体(带校验、每次密文不同、无需密钥,防和谐) |

文本 / 传输编码(38 ops)

| opId | 名称 | 说明 | |---|---|---| | 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(数据叉,空资源叉)。 | | bubblebabble | BubbleBabble 编码 | Antti Huima 2000 防误读编码:2 字节 → 6 字符,x 包裹 + - 分隔(如 ping → xisak-nerek-loxix)。CTF 指纹/校验和可读展示用 | | gbCharset | GBK / GB2312 / GB18030 | 中文字符集 ↔ UTF-8(TextDecoder 解码 + 运行时反向建表编码) | | gb2312QuWei | GB2312 区位码 | 汉字 ↔ 4 位区位码(区01-94 位01-94,字节=区位+0xA0;ASCII 透传) | | 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 码表,TextDecoder 不支持) | | utf16 | UTF-16 BE/LE | UTF-16 编解码 + BOM 处理(encode 可加 BOM,decode 自动识别 BOM) | | mojibakeFix | 乱码修复 (Mojibake) | 常见字符集错配还原(decode=修复,encode=制造乱码样例);部分方向有损 | | fullwidth | 全角密码 | ASCII 半角 ↔ 全角(含空格),偏移 0xFEE0 | | jsEscape | JS escape 编码 | 旧版 JavaScript escape()/unescape() 编码:ASCII 字母数字与 @*_+-./ 不编码,其他 ASCII → %XX,非 ASCII → %uXXXX(UTF-16 code unit)。与 encodeURI/encodeURIComponent 语义不同,CTF 偶考老式 escape 题 | | mimeMultipart | MIME multipart 解析 | 解析 multipart/mixed 邮件/HTTP 体:boundary 分 part,识别 Content-Type/Transfer-Encoding(base64/QP/7bit)并解码正文;encode 方向按 \| 分隔组合 | | urlQueryParse | URL Query 解析 | 解析 URL 查询串(? 后的 k=v&k=v),percent-decode + '+' 转空格,逐行列出键值。支持传入完整 URL。 | | 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 + 内容。 | | magnetParse | Magnet 链接解析 | 解析 magnet:? 链接:xt 精确主题(提取 BTIH 哈希)、dn 显示名、tr Tracker 列表、xl 文件大小等。 | | ppencode | ppencode | Perl 关键字编码(PPEncode):字节 → perl 关键字伪程序(256 关键字字典 + 随机候选),运行即输出原文 | | url | URL 编码 | RFC 3986 百分号编码(standard/full/plus 三模式) | | htmlEntity | HTML 实体 | 命名实体(& 等)+ 数字型(&#NN; / &#xHH;) | | unicodeEscape | Unicode 转义 | \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 符号 | | yenc | yEnc 编 / 解码 | yEnc(Usenet 二进制传输编码,yEnc-1.3 规范):每字节 +42 mod 256,关键字节 NUL/CR/LF/'=' 用 '=' 转义 +64。行首 TAB/空格/'.' 保守转义。encode 取 UTF-8 字节,decode 自动跳过 =ybegin/=yend 控制行。 |

花式 / CTF 编码(71 ops)

| opId | 名称 | 说明 | |---|---|---| | albam | Albam 码 | 希伯来 Albam 置换的拉丁版:26 字母平分两半对位互换(A↔N..M↔Z),对合,数值等价 ROT13 | | carbonaro | Carbonaro 码 | 那不勒斯烧炭党单表替换,意大利语 21 字母对位互换(对合表,J K W X Y 透传) | | morse | 摩斯电码 | ITU-R M.1677(字母/数字/标点,/ 分词) | | bacon | 培根密码 | 5 位 a/b(24/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) | | kenny | Kenny 语 | South Park Kenny 语:M=0/P=1/F=2 三进制,A=MMM … Z=FFP 每字母三音节;FFF 可作空格(扩展档) | | clockCipher | 表盘码 / 时钟码 | 12 小时制表盘 + 5 分钟刻度时钟码。字母 A-Z / 数字 0-9 / 常用标点 → "H:MM"(如 A=1:00, B=1:05, M=2:00)。空格分隔。通用可逆方案(非对齐对标工具具体变体)。 | | 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,空格分隔)。解码取相邻差值还原。 | | emojiAes | emoji-aes 加密 | emoji-aes 完整版:AES-256-CBC(OpenSSL) 加密后 base64 → 65 emoji 表替换(对标 Aaron Horler emoji-aes) | | 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 | | 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 卦象映射 | | pigpen | 猪圈密码 Pigpen | 3 区栅格 26 字母(token 文字描述版 1A-3H) | | keyboardShift | 键盘漂移 | QWERTY 三行循环移位(参数:位移量 + 方向) | | 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 字符表) | | fracmorse | 分数摩斯 FracMorse | 明文转摩斯后按三元组分块,映射到 26 字母密钥表(pycipher FracMorse) | | jjencode | JJEncode | JavaScript 符号混淆编码(Yosuke Hasegawa),源码 → 仅 []()!+$_ 符号 | | keyCode | JS keyCode 表 | JS event.keyCode 8-222 → 键名(支持空格/逗号/分号分隔多个) | | shiftKey | 上档键符号 | Shift+数字/符号 ↔ 符号/数字(自反双向) | | keyword9 | T9 九宫格 | 手机 T9 键盘四模式:二位数字 / 重复数字 / 数字+\\|/ / 字母+长度 | | keyboardSurround | 键盘包围键 | 相邻键集合→中心键 或 数字坐标→字符(nliqwerty) | | qweAbc | QWERTY→ABC | QWERTY/QWERTZ/AZERTY 键盘 → ABC 标准字母表 | | 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 字母理论,A-Z ↔ 单 stroke,空格分词) | | arrowKey | 方向键编码 | ↑↓←→ ↔ WASD / UDLR / 数字小键盘(参数选方案,同方案往返无损) | | lolcode | LOLCODE | LOLCODE 语言字符移位编码(-3 后 >69 +5 否则 +2,非双射 H/I/J 不可逆) | | 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 | 摩斯节奏规范化 | 摩斯点划符号规范化(· − ↔ . -,支持多种点划变体) | | musicNotation | 音乐记号互转 | 音名(C4)/MIDI(60)/简谱(1)/唱名(do) 四向互转。支持 15 个大调调号,A4=440Hz。encode=from→to,decode=to→from | | musicInfo | 音符全息信息 | 输入音名/MIDI/简谱/唱名,输出全部四种格式 + 频率 + 八度 + 半音偏移 | | 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 项符号表 + 三种前缀后缀) | | roar | 兽音译者(嗷呜啊~) | 兽音译者 roar 4 字符 codec 变体:Unicode 码点 → 4 位 hex → 按位偏移 → codec 2 字符映射 + 前后缀包裹。codec 可自定义(4 个不重复字符)。与 yygq(就这¿/不会吧?)是不同算法 | | rot8000 | ROT8000 | Unicode 版 ROT13:BMP 有效码位表旋转半程(自反);offset 参数可切 31753 全字符平移兼容版(仅空格除外),auto 自动检测 | | 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 硬件流可视化常见。 | | spoon | Spoon | Brainfuck 的前缀码二进制变体(8 指令映射为霍夫曼式 0/1 串,双向严格往返) | | txtmoji | txtmoji emoji 加密 | txtmoji.com emoji 加密(AES-256-CBC OpenSSL + 65 emoji 表替换 + 切固定前缀)。密码为十进制/任意口令。CTF 常见「标题即密码」的表情符号密文 | | wabun | Wabun 和文摩尔斯 | 日语假名 ↔ 摩尔斯(和文モールス符号标准表,含浊点 ゛半浊点 ゜长音 ー;假名点划间空格、词间 / 分隔) |

深奥编程语言(11 ops)

| opId | 名称 | 说明 | |---|---|---| | 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 执行。 | | deadfish | Deadfish | 累加器语言(i/d/s/o 四指令,加减平方输出,步数上限保护) | | befunge | Befunge-93 执行 | 2D 栈式深奥语言执行器(> < ^ v 方向,@ 结束,网格环绕,步数上限 100 万) | | emojicodeIdent | Emojicode 识别 | emoji 关键字语言识别(🏁🍇🍉🔤🍮 等特征,仅识别标注) | | pietIdent | Piet 识别 | 图像色块深奥语言识别(需图像本体,仅识别标注说明) | | brainfuck | BrainFuck | 8 指令 BF(执行/生成,步数上限 500 万;默认兼容括号反向的字符交换题) | | whitespace | Whitespace | space/tab/newline 栈机语言(栈/算术/堆/流控/IO,100 万步上限,整数绝对值不超过 2^53-1) | | malbolge | Malbolge 识别 | 深奥语言装载形式检查(忽略空白,按位置校验指令;仅识别不执行) | | malbolgeExec | Malbolge 执行 | Malbolge 解释器(Ben Olmstead 1998 三进制虚机):执行程序输出结果,附 normalize/assemble 规范形转换;步数上限护栏防死循环,EOF 读 59048 | | pietExec | Piet 执行 | Piet 图形语言解释器(DP/CC 状态机执行→输出)。支持真图像输入(PNG 拖入/粘贴 base64,npiet 补齐路径)与色块网格文本(色码 Rl/Y/Gd/C/B/M + K黑 W白 或 6 位 hex)。执行语义对齐 npiet v1.3,仅执行。 |

中文 / 本土编码(20 ops)

| opId | 名称 | 说明 | |---|---|---| | stemBranch | 天干地支 | 六十甲子编码(mode 切 base60 大整数 / era 编号映射;era 兼容参考实现错别字字典并自动检测) | | baiJiaXing | 百家姓 | 汉字 ↔ base64 字符映射(赵钱孙李…) | | element | 元素周期表 | 元素符号 ↔ 序号 ↔ 字符(H=1…Og=118) | | foyu | 佛曰 | keyfc 与佛论禅 V1:UTF-16LE + 固定密钥 AES-256-CBC + 咒字映射;不支持如是我闻V2及旧自创方言 | | countingRods | 算筹数字 | 中国算筹记数:个百十万位用纵式 𝍩-𝍱、十千万位用横式 𝍠-𝍨(一纵十横),0 用〇;空格分隔多个数,双向 | | shzyhxjzg | 社会主义核心价值观 | UTF-8 hex → duo(10/11 前缀)→ 富强民主…友善 12 对字 | | makkaPakka | 玛卡巴卡 | 字符 → 玛卡巴卡/阿巴雅卡/咿呀呦…轰 段(玛卡巴卡语言) | | pawnshop | 当铺密码 | 汉字出头封闭区域数 ↔ 数字(当铺密码经典版) | | yueChang | 曰唱 | 风之暇想 曰唱:deflate + PBKDF2-SHA256(10万次) + AES-GCM-256,Base64 逐字符映射为中文拟声字(前缀「唱:」,口令可空则用默认 YueChang) | | fuyouyue | 佛又曰 | 与佛论禅V2(AES-256-CBC + 心经字符映射,完整版) | | tianshu | 天书 | 天书曰(AES-256-CBC + 道经字符映射,佛又曰变体) | | huoxingwen | 火星文 | 简体/繁体/火星文三向转换(转火星文模式) | | jianfan | 简繁转换 | 简体↔繁体转换(charPYStr/ftPYStr 映射表) | | moyue | 魔曰 | Abracadabra 中文版(文言仿真 / 传统两模式,AES-256-CTR + 压缩 + 字表替换,需密钥) | | numToPinyin | 数字转拼音 | 数字读拼音。逐位读(1 可选 yāo)或数值读(中文数字读法,支持到兆)。调号可切换 | | hanziToPinyin | 汉字转拼音 | 汉字转拼音(内置约300高频常用字,多音字取常见读音,表外字原样/标?)。调号可切换 | | suiYanSuiYu | 随言随语 | 字符 ord 转 4 进制 → 字典映射 + 长度前缀(cn 花式编码) | | xiangyue | 想曰 XiangYue | 想曰全流程解密:中文/Emoji/零宽/日/韩/象形密文 → Argon2id/PBKDF2 + ChaCha20-Poly1305 + AES-CTR + zlib(默认口令内置;format1 派生较慢约数秒) | | xiangyueEnc | 想曰 XiangYue 加密 | 想曰加密方向:明文 → zlib + AES-CTR + ChaCha20-Poly1305 → 中文/日文/韩文/象形/Emoji/零宽/Base64 密文,可被本工具箱「想曰」解密自动识别还原(format2 快;format1 Argon2id 64MiB 单次数秒) | | xiongyue | 熊曰 | zlib压缩+base91+熊语字典(前缀 熊曰:呋) |

古典密码(55 ops)

| opId | 名称 | 说明 | |---|---|---| | alberti | Alberti 圆盘 | 1467 多表替换圆盘:外盘 A-Z,内盘混合表,可周期转动 | | bazeries | Bazeries 密码 | 5×5 方阵替换 + 数字 key 分组反转(key 转英文单词构造密钥矩阵,I/J 合并,古典密码) | | chaocipher | Chaocipher | Chaocipher 双转子置换密码(Byrne 1918,2010 年公开)。左=密文盘 / 右=明文盘,每加密一字符后按 zenith/nadir 规则动态置换两盘。默认盘为官方展品字母表,可自定义。仅处理 A-Z。 | | 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 渐进) | | otp | 一次一密 OTP | 模 26 密钥流加减(字母表,非字节异或);密钥须 ≥ 明文字母数 | | keywordcipher | 关键字密码 | 关键字去重打头 + 剩余字母顺补,构造单表替换(caseMode=upper 即原「单表置换密码」编大写/解小写行为) | | simplesub | 简单替换 | 自定义 26 字母置换表单表替换(A-Z 依次映射到密钥表) | | runningkey | 滚动密钥 | 长文本作密钥的维吉尼亚(密钥流按明文字母推进) | | railFence | 栅栏密码 | W 型 zigzag(参数:栏数) | | caesar | 凯撒密码 | 指定位移量(encode +shift,decode -shift);mode 可切递增/递减凯撒(第 x 字符位移 shift±x) | | 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 孔 | | caesarBox | 凯撒箱换位 Caesar Box | 箱型(列)换位:去空格后按指定列宽逐行写入网格、再逐列读出。解密用转置列宽再走一次。注意仅当长度为列宽整数倍时可完整还原(残格时转置不是逆运算,此为算法固有性质);空格在编码时被去除,不可还原。 | | curveCipher | 曲路密码 Curve Cipher | 蛇形(曲路)换位:row×col 网格按列蛇形读取,奇偶列方向相反,末尾整体反转。需 row×col = 文本长度。 | | cardanGrille | 卡丹格 Cardan | 固定格栅掩模取字(不旋转,区别于转动格栅):X 实格 _ 孔;fill 档孔位藏明文+随机字母补实位(dCode 主形态),hide 档掩护文本补实位(Richelieu 形态);解密取孔位 | | enigma | Enigma 恩尼格玛机 | 德军 Enigma I 三转子密码机(转子 I-V + 反射器 B/C + 环设置 + 插线板,自反) | | yuanYin | 元音密码 | 数字 → 字母(1/2/3/4/5=a/e/i/o/u,辅音两位) | | columnReplace | 列置换密码 | 按密钥字母序读列(明文补空格至 keylen 整数倍) | | rowsReplace | 行置换密码 | 每 keylen 一块块内按密钥字母序重排 | | scytale | Scytale 密码棒 | 栅格转置;密钥可按栏数或每栏字数解释。编码补 \|,解码保留完整格子,不删除真实竖线;原长与补位无法自动区分。dCode 兼容三开关(补位符 _/剥非字母数字/裁尾填充)默认关闭,开启即与 dCode.fr 逐字节同口径(T502 三源对拍 36/36) | | fenham | Fenham 密码 | A-Z 字母转 7 位 ASCII 二进制,与密钥逐位 XOR(二进制输出) | | gematria | Gematria 数值 | 字母↔数值:Ordinal/Pythagorean/Simple×6/Reverse/希伯来/希腊,逐字母序列+可选总和 Σ | | goldbug | GoldBug 金甲虫密码 | 爱伦坡《金甲虫》Kidd 密码符号替换(26 字母各一唯一符号,可逆教学版) | | kamasutra | Kamasutra 爱经密码 | 配对表替换(自反:A↔B, C↔D...,加密=解密) | | ls47 | LS47 字母牌密码 | ElsieFour/LC4 的 7×7 扩展(49 字符含小写字母/数字/常用符号):牌面行列随每字符旋转 + marker 混合位,状态自同步。密钥支持 49 字符排列或口令派生。对照官方参考实现 ls47.py 逐字对拍 | | m209 | M-209 转轮密码机 | 二战美军 M-209(Hagelin)机械密码机(6 密钥轮 + 27 杆笼 lug + pin 设置,Beaufort 自反) | | nihilistCipher | Nihilist 密码 | Polybius 方阵 + 关键词加数古典密码(5×5 方阵 I/J 合并,明文/密钥编码为两位数后逐位置整数相加,俄国民意党 1880s) | | pizzini | Pizzini 密码 | A-Z → 数字替换(A=4..F=9, G=10..Z=29,无分隔数字串) | | rotSpecial | Rot 任意位移 | 任意位移量 N 的循环移位(letters/alnum/ascii94),decode 反向 | | routeCipher | 曲路密码 | 明文填入 W 列矩阵,按蛇形/垂直路由读出(置换密码) | | solitaire | Solitaire 扑克流密码 | Schneier 的手工流密码(又名 Pontifex),54 张牌演化生成密钥流,可用 keyword 排牌 | | 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。 | | straddleCheckerboard | 跨界棋盘 | Straddling checkerboard 跨界棋盘:变长编码棋盘。8 个高频字母占单数字、两空列前缀引出双数字行,自定界无需分隔符即可解码。默认照 Wikipedia 经典配置(ATONESIR + 前缀 2/6)。棋盘外字符编码时跳过。 |

现代密码·分组(31 ops)

| opId | 名称 | 说明 | |---|---|---| | aria | ARIA(RFC 5794) | 韩国标准 ARIA 分组密码:128 位分组,密钥 128/192/256 位(12/14/16 轮)。SL1/SL2 交替替换层 + 对合扩散层 A,RFC 5794 密钥调度。ECB 多块,明文/密文/密钥均 hex。encode 加密 / decode 解密。过 RFC 5794 附录 A 三组向量。 | | 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。 | | 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 三向量。 | | aes | AES | 高级加密标准(ECB/CBC/CFB/OFB/CTR 纯 JS + GCM WebCrypto,key 16/24/32 字节) | | des | DES | 数据加密标准(FIPS-46-3,key 8 字节,块 8 字节) | | des3 | 3DES / TripleDES | 三重 DES(EDE,key 16 或 24 字节,块 8 字节) | | tea | TEA | Tiny Encryption Algorithm(64位块,128位密钥,32轮 Feistel,Wheeler 1994;支持 ECB/CBC/CFB/OFB/CTR) | | xtea | XTEA | 扩展 TEA(改进密钥调度,64位块,128位密钥,32轮,Needham 1997;支持 ECB/CBC/CFB/OFB/CTR) | | 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 认证加密) | | aesCmac | AES-CMAC | AES-CMAC 消息认证码(RFC 4493,AES-128) | | sm4Cmac | SM4-CMAC | SM4-CMAC 消息认证码(SM4 块 + ISO/IEC 9797-1 结构) | | seed | SEED(RFC 4269) | 韩国 KISA 标准 SEED 分组密码:128 位分组 / 128 位密钥 / 16 轮 Feistel,两个 8x8 S 盒 + 掩码线性混合(等价 4 个扩展 SS 盒)。ECB 多块,明文/密文/密钥均 hex。encode 加密 / decode 解密。过 RFC 4269 附录 B 两组向量。 | | rc5 | RC5 | RC5-32/12/16 分组密码(RFC 2040,64位块,12轮,可变密钥;支持 ECB/CBC/CFB/OFB/CTR) | | idea | IDEA | 国际数据加密算法(Lai 1991,64位块,128位密钥,8.5轮,mod 2^16+1 乘法 + mod 2^16 加法 + XOR) | | blowfish | Blowfish | Blowfish 分组密码(Schneier 1993,64位块,可变密钥4-56字节,16轮Feistel;支持 ECB/CBC/CFB/OFB/CTR) | | rc6 | RC6 | RC6 分组密码(RFC 2276,128位块,可变密钥1-255字节,20轮;支持 ECB/CBC/CFB/OFB/CTR) | | cast5 | CAST-128 | CAST-128/CAST5 分组密码(RFC 2144,64位块,可变密钥5-16字节,12/16轮;支持 ECB/CBC/CF

... (README truncated for length)

Chat with me