栅栏密码

输入
栏数越多越难猜,但穷举 2—10 栏几乎总能还原明文,因此不适合保护真实数据。
栅栏密码属于换位密码:不改变字符本身,只打乱顺序。 中文语境里的「栅栏密码」通常指分组栅栏(把文本按栏数横着摆、竖着读), 英文 rail fence 更多指之字形栅栏。本工具两种都支持。
转换结果
在左侧输入文本,这里会实时转换
下方为 2—10 栏的穷举结果

穷举:2—10 栏解密结果

不知道栏数时,把 2 到 10 栏挨个试一遍,能读出通顺内容的那个就是答案。 点「用这个」可把该栏数应用到左侧。
在线栅栏密码加解密工具,支持分组栅栏与之字形栅栏两种算法,栏数可调,附摆法示意与 2—10 栏的穷举解密面板。

工具简介

在线栅栏密码(Rail Fence Cipher)加解密工具,同时支持分组栅栏*(中文语境里常说的「栅栏密码」)与*之字形栅栏(英文 rail fence)两种算法,栏数可调,并附带 2—10 栏的穷举面板。

使用步骤

  1. 选择转换方向:加密或解密。
  2. 选择算法:分组栅栏或之字形栅栏。
  3. 设置栏数(2—64)。
  4. 在左侧输入文本,右侧实时显示结果;下方还有「摆法示意」帮你理解重排过程。
  5. 不知道栏数时,看下方穷举列表,找到读得通的那一行点「用这个」。

两种栅栏的区别

分组栅栏(横排竖读)

把文本按栏数从左到右、从上到下摆成表格,然后按列从上到下读出。以 HELLOWORLD、3 栏为例:

H E L
L O W
O R L
D

按列读出:HLOD + EOR + LWL = HLODEORLWL

之字形栅栏

把字符沿 1→N→1 的之字形路线依次写到各栏上,再按栏从上到下读出。以 HELLOWORLD、3 栏为例:

H . . . O . . . L . .
. E . L . W . R . D .
. . L . . . O . . . .

按栏读出:HOL + ELWRD + LO = HOLELWRDLO

为什么叫「栅栏」

传统实现里,把纸条斜着绕在一排栅栏柱上写字,展开后就得到了密文——栏数就是栅栏的柱子数量。

它安全吗

不安全*。栅栏密码属于*换位密码(只打乱顺序,不改变字符本身),有两个致命弱点:

  1. 密钥空间极小:栏数最多试 10 次左右就能还原,本工具直接列出了 2—10 栏的结果。
  2. 字符频率不变:字母的出现次数完全不变,频率分析照样有效,英文里 E 还是最多的那个。

所以它只能作为古典密码的入门示例,不能用于真实加密。

实用技巧

  • 如果解密出来是乱码,多半是栏数不对,换个栏数再试。
  • 文本长度小于栏数时无法有效重排,结果与原文相同,工具会给出提示。
  • 想更「隐蔽」一点,可以先用凯撒密码替换字符,再用栅栏密码打乱顺序——这叫乘积密码,但安全性依然很低。
  • 中文文本也能用栅栏密码(按字符处理),不过中文没有字母频率特征,肉眼更难判断是否还原正确。

适用场景

  • 学习换位密码原理
  • 解谜游戏、CTF 入门题
  • 教学演示「打乱顺序」与「替换字符」两类密码的区别

注意事项

  • 工具按字符处理,一个汉字算一个字符,一个 emoji 可能算两个字符(取决于其编码)。
  • 勾选「忽略空格」会先去掉所有空白再加密,解密时无法还原原始空格位置。
  • 勾选「统一转为大写」是经典电报风格,会让原始大小写信息丢失。

常见问题 FAQ

可以用于真实加密吗?

不可以。它只是教学与解谜用的古典密码,真实加密请使用 AES 等现代算法。

emoji 会被正确加密吗?

会按字符处理,但 emoji 在 JavaScript 里可能占两个代码单元,加解密仍能保持一致,只是字数统计可能偏大。

能和凯撒密码一起用吗?

可以。先用凯撒密码替换字符,再用栅栏密码打乱顺序,这叫乘积密码,安全性比单独使用略高,但依然很低。

摆法示意是什么?

用输入文本的前几个字符画出表格,直观展示字符是怎么摆放和读出的,方便理解算法。

为什么文本很短时结果和原文一样?

文本长度小于栏数时无法有效重排,工具会给出提示,这时请减小栏数。

「忽略空格」选项有什么用?

勾选后会先去掉所有空白再重排,输出更紧凑。但解密时无法还原原始空格位置,只适合不在意格式的场景。

中文可以用栅栏密码吗?

可以,工具按字符处理,一个汉字算一个字符。不过中文没有字母频率特征,肉眼判断是否还原正确会更难。

加密和解密是对称的吗?

是。同一个栏数下,解密就是加密的逆操作,所以工具用同一个栏数设置即可完成两个方向。

栅栏密码安全吗?

不安全。它属于换位密码,只打乱顺序、不改变字符本身,字符频率完全不变,栏数最多试十几次就能还原。

不知道栏数怎么解密?

看下方的穷举面板,2—10 栏的结果全部列出,读得通的那一行就是正确栏数,点「用这个」应用。

栏数怎么选?

栏数就是栅栏的柱子数量,2—64 均可。栏数越多打乱得越厉害,但都逃不过穷举。

分组栅栏和之字形栅栏有什么区别?

分组栅栏是把文本横着摆成 N 栏的表格再按列读出,中文语境说的「栅栏密码」通常指这个;之字形栅栏是沿 1→N→1 的之字形路线摆放字符,是英文 rail fence 的经典形式。