Atbash密码工具

Atbash 是希伯来字母表首尾互换的古老替换法,落到拉丁字母上就是 A 换 Z、B 换 Y。本页把一段文字双向转换,同一颗按钮既能加密也能解密。

Atbash 字母对照表(A 到 L,码位之和恒为 155)
明文字母密文字母明文码位密文码位码位之和
AZ6590155
BY6689155
CX6788155
DW6887155
EV6986155
FU7085155
GT7184155
HS7283155
IR7382155
JQ7481155
KP7580155
LO7679155

口径:大写走 155 − 码位(A=65、Z=90);小写走 219 − 码位(a=97、z=122);数字、空格、标点原样保留。输入框里按 Ctrl / Cmd + Enter 可直接转换。

使用方法

Atbash 密码工具只有一颗按钮,但方向是双向的,三步:

  1. 在「输入文本」里贴明文字符串,示例已预填 Attack at dawn。
  2. 点「转换」(或在输入框里按 Ctrl / Cmd + Enter),下方「转换结果」立刻出现 Zggzxp zg wzdm。
  3. 把结果整段复制回输入框再点一次转换,就会变回 Attack at dawn——这就是它的自逆特性。

大小写会各自保持:大写字母换成大写,小写字母换成小写;数字、空格与标点不参与替换。

Atbash密码工具能解决什么

它适合三类需求:

  • 解谜与谜题:不少寻宝、ARG 与密室谜题用 Atbash 藏线索,把整段谜面贴进来即可还原。
  • 古典密码教学:它是理解「替换密码」最省事的样本——无密钥、映射固定、且天然自逆,适合课堂上演示频率分析为什么能破它。
  • 轻量挡眼:发一段不想被一眼读懂的文字(比如剧透、题面提示),转一道就够挡住扫视。

需要说明的是,它不是加密:没有密钥,任何人都能用同一颗按钮还原,面对频率分析几乎不设防。

原理和变量

① 用了哪个公式:对每个字母取 charCodeAt(0),大写输出 155 − code,小写输出 219 − code,再用 fromCharCode 还原成字符。155 来自 65 + 90,219 来自 97 + 122。

② 为什么它是自逆的:映射是两两配对的对换——A 与 Z 互换、B 与 Y 互换,没有任何字母指向第三个字母。做一次把 A 变成 Z,再做一次把 Z 换回 A,所以加密与解密是同一个操作,不需要单独的解密模式。

③ 遵循哪个定义:Atbash 源自希伯来字母表,把第 1 个字母与第 22 个字母对调、第 2 个与第 21 个对调。拉丁化后就是本页用的首尾对调。它与 ROT13 同属「对合替换」,区别在映射:ROT13 是整体位移 13 位,Atbash 是首尾镜像。

④ 输入怎么变成输出:Attack at dawn 逐字母处理——A 变 Z、t 变 g、t 变 g、a 变 z、c 变 x、k 变 p,得到 Zggzxp;中间的空格原样保留;第二段 a 变 z、t 变 g 得 zg;第三段 d 变 w、a 变 z、w 变 d、n 变 m 得 wzdm,最终是 Zggzxp zg wzdm。

⑤ 边界与阈值:只处理 ASCII 的 A–Z 与 a–z;中文、日文、数字、空格、标点、emoji 全部原样透传;输入为空时提示「请先输入要转换的文本」而不是返回空串。

⑥ 常见误用的正确解释:一是把 Atbash 当加密用来保护真实密码——无密钥意味着零安全性;二是以为大小写会混掉,实际上大小写各自独立映射;三是以为要分「加密」「解密」两个按钮,其实同一颗按钮转两次就是还原。

完整示例

演示输入:Attack at dawn

  • 逐字母映射后输出 Zggzxp zg wzdm
  • 把输出再转换一次,回到 Attack at dawn,验证自逆
  • 另一组:Hello, World! → Svool, Dliow!,逗号与感叹号原样保留
  • 混合内容:Secret 42 → 转换两次仍等于 Secret 42,数字 42 全程没变

对照表前 12 行可以逐行手验:A 的码位 65 加上 Z 的码位 90 恒等于 155,B 的 66 加 Y 的 89 也是 155,一直到 L 的 76 加 O 的 79 同样 155。

输入范围与对照表

下表列出 A 到 L 的 12 组映射,其余字母遵循同一规律(X 对 C、Y 对 B、Z 对 A):

Atbash 字母对照表(前 12 组)
明文字母密文字母明文码位密文码位码位之和
AZ6590155
BY6689155
CX6788155
DW6887155
EV6986155
FU7085155
GT7184155
HS7283155
IR7382155
JQ7481155
KP7580155
LO7679155

输入范围:单次最长 5000 个字符。超出会被截断并提示;本页只做纯字母映射,不处理希伯来文原文。

结果边界和舍入

三条边界:

  • 只认 26 个拉丁字母:带重音的 é、德语 ß、全角 A 都不在映射内,会原样输出。需要处理它们应先做归一化。
  • 长度不变:Atbash 是逐字符替换,输出字符数恒等于输入字符数,不会变长或变短。
  • 不构成保密:由于没有密钥,任何人重跑一次即可还原。真实需要保密请用带密钥的加密方案,本页只承担「古典替换演示与谜题解码」的角色。

常见问题

Atbash 和 ROT13 有什么区别?

两者都是自逆替换。ROT13 把每个字母整体位移 13 位,Atbash 把字母表首尾对调,映射不同但都能用同一个操作来回转。

为什么不用两个按钮分别加密解密?

因为 Atbash 的映射两两配对,加密与解密是同一个变换,同一颗按钮连点两次即还原。

中文和数字会被改吗?

不会。只有 A 到 Z 与 a 到 z 参与映射,中文、数字、空格与标点都原样保留。

这能当作加密使用吗?

不能。它没有密钥,任何人都能一键还原,破解成本几乎为零。仅适合谜题与演示。

大小写会混乱吗?

不会。大写换成大写、小写换成小写,各自在自己的码位区间内做镜像。

最长能处理多少字符?

单次最多 5000 个字符,超过会截断并给出提示。

输出长度会变吗?

不会。逐字符替换,输出字符数与输入完全一致。

会上传我输入的内容吗?

不会。转换全部在浏览器本地完成,文本不会离开你的设备。

相关工具