UTILS.
100% 浏览器内运行
🏛️

列换位密码

关键词驱动的列换位:按行填入网格,然后按关键词字母的字母顺序读出各列。支持完整或不完整变体。

— 输出将显示在这里 —

关于此工具

列换位密码工具是一款免费的浏览器内编码器和解码器,用于处理一种关键词驱动的换位密码,历史上曾被军队使用,如今在 CTF 中也很常见。明文从左到右写入一个宽度等于关键词长度的网格。然后每一列按其上方关键词字母的字母排名编号——同名字母按从左到右打破平局——密文则通过按升序排名读出各列而生成。例如对于关键词 ZEBRAS,先读 A 列,然后是 B、E、R、S、Z。

支持两种变体。在完整(填充)变体中,最后一行不足处用你选择的填充字符补齐,使每列高度相同。在不完整(不规则)变体中不添加填充,留下参差不齐的末行;解码时会仔细计算每列的真实长度,使字母回到正确的单元格。所有计算都在你的浏览器本地完成,没有任何内容被上传。

解码逆转此过程:工具根据密文长度和关键词确定每列容纳多少字母,按密钥排名顺序将密文块分配到各列,然后逐行读回重建的网格。在填充变体中,任何尾部的填充字符都会从还原的文本中修剪掉。由于换位只改变字母位置而不改变其身份,列换位常与替换密码叠加使用以增强强度。

常见问题

列的读取顺序是如何确定的?
每一列按其上方关键词字母的字母顺序排名,同名字母按从左到右打破平局。然后各列从最低排名到最高排名读出。对于 ZEBRAS,顺序是 A、B、E、R、S、Z。
完整和不完整有什么区别?
完整用填充字符补齐末行,使所有列等高;不完整则让末行参差不齐、不作填充。解码时会考虑不完整变体中不均等的列长度。
填充字符是做什么的?
在完整变体中,它填补末行中任何空单元格,使每列拥有相同数量的字母。它应是消息中不太可能出现的字母,例如 X;解码时会被修剪掉。
关键词的拼写重要,还是只有其字母重要?
只有字母的字母顺序重要,因此排序后字母模式相同的关键词会产生相同的置换。重复字母按它们出现的顺序从左到右排名。

更多工具