跳到正文
BCBinary Code Translator
菜单

古典替换密码

凯撒密码编码 / 解码器

按可配置位移向前或向后移动英文字母 A-Z,保留大小写和所有非字母,并可一键切换 ROT13;该方法不具备现代安全性。

字母替换在本地完成,但本地处理并不会让凯撒密码变得安全。

转换方向

转换仅在当前浏览器本地执行,输入不会上传。

什么是凯撒密码

凯撒密码是一种单表替换:每个字母由固定距离后的字母代替。位移 3 时 A 变 D,X、Y、Z 会回绕为 A、B、C;解码按相同位移向反方向移动。

本实现精确定义字母表为 26 个 ASCII 英文字母 A-Z 和 a-z。保留大小写,数字、空格、标点、重音字符、中文和 emoji 原样复制。任意整数位移按模 26 规范化。

它绝不是安全加密。包括不变位移在内只有 26 种可能,语言模式也保持明显。适合教学、谜题和历史示例,不得用于密码、令牌、个人数据或任何需要保密的内容。

如何编码或解码凯撒位移

  1. 向前移动选择编码,向后恢复选择解码。
  2. 输入整数位移,超出 0-25 的值按模 26 处理。
  3. 输入文本,结果会保留大小写和所有非 ASCII 字母。
  4. 点击 ROT13 把位移设为 13;编码与解码效果相同。
  5. 位移未知时可尝试全部 26 种结果,这正说明其安全性极弱。

凯撒位移与 ROT13 示例

示例覆盖字母回绕、大小写、等价的大位移、非英文字符、解码方向和 ROT13 的自反性质。

经典位移 3

输入: Attack at Dawn!

输出: Dwwdfn dw Gdzq!

大小写分别移动,空格与标点保持不变。

解码位移 3

输入: Dwwdfn dw Gdzq!

输出: Attack at Dawn!

解码会减去规范化位移,无需手动输入负数。

字母表回绕

输入: xyz XYZ

输出: abc ABC

超过 z 或 Z 后回到同一大小写字母表开头。

ROT13

输入: Hello, World!

输出: Uryyb, Jbeyq!

13 加 13 等于 26,因此执行两次恢复原文。

大位移规范化

输入: abc

输出: def

位移 29 按模 26 等价于位移 3。

保留非字母

输入: Hello, 世界! 123

输出: Khoor, 世界! 123

只移动 ASCII A-Z/a-z,其他字符原样保留。

位移范围与字符行为

位移必须是有限整数,通过正模运算变为 0-25。解码位移 3 等价于编码位移 23。

只转换 ASCII A-Z/a-z。扩展到其他语言必须先定义有序字母表和语言规则,本工具不会随意旋转 Unicode。

  • 位移 0 与 26 的倍数返回原文。
  • 位移 13 是 ROT13,执行两次恢复。
  • 大写保持大写,小写保持小写。
  • 空格、标点、数字、emoji 和非拉丁文字原样保留。
  • 小数、无穷大或非数字位移非法。

模 26 字母旋转原理

每个 ASCII 字母先转成 0-25 的索引。编码加上规范化位移并取模 26,再转换回相同大小写字符。

解码可直接减位移,也可加上 26-shift 的补数;后者避免负中间值。回绕来自模运算,不需要为 X、Y、Z 单独写规则。

函数按 Unicode 码点遍历,但只处理 ASCII 字母。没有密钥扩展、随机数、nonce、认证标签或秘密状态,全部“密钥空间”就是可见位移。

凯撒密码的合理用途

它用极少规则展示替换和模运算,弱点本身就是教学内容。

课堂练习

演示字母索引、回绕、频率分析和编码与安全加密的区别。

谜题与密室

制作本来就允许通过少量尝试恢复的线索。

ROT13 社区惯例

在明确不保密的场景轻度遮挡剧透或笑点。

编程练习

测试字符串遍历、大小写、负数取模和可逆变换。

历史演示

说明人工时代的方法为何无法抵抗现代计算。

凯撒密码限制与常见误用

最大错误是把结果当机密。遍历所有位移几乎不耗时,语言评分还能自动找出最可能原文;重复字母、词长和标点也完全保留。

操作错误通常是方向或位移不匹配。编码 23 与解码 3 等价,规范化规则有助于解释这些看似不同的设置。

  • 错误位移只产生另一种可逆替换,不会出现完整性错误。
  • 密码本身无法判断解码文本是否正确。
  • 非英文字母不会被放入虚构字母表。
  • ROT13 只是混淆。
  • 不要用于秘密、认证、存储保护或安全传输。

凯撒、ROT13 与现代加密

ROT13 就是位移 13 的凯撒密码,因为 13+13=26,所以编码和解码相同。Atbash 则反转字母表,不是固定旋转,但同样不安全。

AES-GCM、ChaCha20-Poly1305 等现代认证加密使用大密钥、nonce 和完整性标签,并假设攻击者知道算法。凯撒只有 26 个位移且无认证。

ROT13

固定 13 位移,用于轻度混淆,安全性与其他凯撒位移相同。

Atbash

A 对 Z、B 对 Y 的固定替换,同样不安全。

认证加密

使用真实秘密密钥和完整性验证,应调用维护中的密码学库。

凯撒密码常见问题

凯撒密码是安全加密吗?

不是。只有 26 个位移,语言模式明显,只适合学习和谜题。

位移大于 25 会怎样?

所有整数按模 26 规范化:29 变 3,26 变 0,-1 编码时变 25。

会保留标点和数字吗?

会。只移动 ASCII A-Z/a-z,其他字符完全不变。

ROT13 与凯撒密码不同吗?

ROT13 是固定 13 位移的凯撒密码,具有自反性。

不知道位移怎么解码?

尝试 26 种结果即可,通常可读单词会立即暴露正确答案。

为什么不移动重音或非拉丁字母?

这些文字需要明确有序字母表和语言规则,本工具选择精确 ASCII 范围。

相关编码与字符工具

查看全部工具

Cookie 偏好设置

管理你的 Cookie 偏好。必要 Cookie 无法关闭。

必要 Cookie

必要

用于语言选择、隐私选择和网站基础功能,属于必需项。

Cookie: NEXT_LOCALE

分析 Cookie

可选的分析 Cookie 可帮助我们了解访问情况并改进网站。

Cookie: _ga, _gid, _gat, _clck, _clsk

广告 Cookie

可选的广告 Cookie 可能用于展示相关广告并衡量广告效果。

Cookie: __gads, _gcl_au, IDE