跳到主内容
UniKit

四方密码

用两个关键词生成四方密码的 5×5 方阵,加密或解密英文二合字母文本,并展示四个方阵与规整后的明文。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

关键词预设
密文
四个方阵
左上(标准字母表)
ABCDEFGHIKLMNOPQRSTUVWXYZ
右上(关键词 1)
EXAMPLBCDFGHIKNOQRSTUVWYZ
左下(关键词 2)
KEYWORDABCFGHILMNPQSTUVXZ
右下(标准字母表)
ABCDEFGHIKLMNOPQRSTUVWXYZ

这个工具能做什么

  • 做古典密码练习或 CTF 入门题:给定两个关键词,直接加密一段英文并看到每一步的结果。
  • 核对四方密码的手算过程:工具会列出四个 5×5 方阵,以及把明文规整成二合字母后的样子。
  • 解密别人给的密文:粘进密文并保持关键词一致,就能拿回明文,还能选择是否去掉填充字母 X。
  • 讲清楚「为什么同字母之间要插 X」:看规整后的明文 HELLO WORLD → HE LX LO WO RL DX,比自己解释直观。

示例

输入

明文 HELLO WORLD,关键词 EXAMPLE / KEYWORD,加密模式

输出

FY IT KF YG OG AX(连续写法为 FYITKFYGOGAX);规整后的明文为 HE LX LO WO RL DX

字母表合并 I/J,重复字母之间与奇数末尾都会补填充字母 X;解密结果末尾的 X 无法与原文中的 X 区分,所以「去掉填充字母」只会删掉两个相同字母之间的那个 X。

常见问题

为什么明文里的 HELLO 变成了 HELXLO?

四方密码按两个字母一组加密,如果一组里两个字母相同(LL),加密后仍是同一对字母,等于没加密,所以要在中间插入填充字母 X。同理明文长度为奇数时末尾也要补一个 X 凑成整组。

字母表里为什么没有 J?

这是古典密码的惯例:5×5 只有 25 格,放不下 26 个字母,于是把 I 和 J 合并(统一按 I 处理)。所以关键词里写 J 会被当成 I,密文里也不会出现 J。

关键词随便填什么都行吗?

至少要有 1 个字母。关键词里的非字母会被忽略、重复字母会去重、大小写不敏感,剩下不够的格子按标准字母表顺序补齐。两个关键词相同也能用,但安全性更低,建议用两个不同的词。

解密后末尾的 X 能去掉吗?

去不掉,工具也不会去猜。末尾为凑偶数补的 X 和原文里本来就有的 X 完全一样,勾选「去掉填充字母 X」只处理「两个相同字母之间的 X」这一种情况,剩下的需要你自己判断。

四方密码现在还有安全性吗?

没有。它是手工时代的古典密码,二合字母频率分析就能破,只适合教学、谜题和非关键场景的娱乐用途,千万不要用来保护真实数据。

关键词:four squarecipherencryptdecrypt四方密码加密解密digraph古典密码keyword

同类工具