编码加密 · 古典密码

ROT13/ROT47

经典字母移位

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 103 次使用
ROT 字母移位self-inverse rotation cipher
输入plaintext / ciphertext
输出real-time
映射示意character mapping
高亮列为正在移位的字符集;其余字符(空格 / 标点等)原样保留。
第一节

关于本工具

About

在论坛里看到一串“Uryyb, Jbeyq!”,想回帖却得先拿纸笔一个个字母往回推。这个工具把字母表对折:ROT13 将 A↔N、B↔O 循环移位 13 位,ROT47 则覆盖 ASCII 可打印字符,连标点和数字一起转。输入文本,结果即时显示在右侧——全在浏览器本地运算,字符不离开设备。适合快速解码论坛谜语、保护社交平台上的剧透内容,或验证自己手算的移位结果。

使用场景

论坛帖子藏签名

在需要遵守版规的论坛发帖,想留个人联系方式或特定暗号,但签名栏被屏蔽。发帖前将暗号文本用 ROT13 编码,告知对方“用 ROT13 解码看”。本工具纯浏览器运行,编码结果即时显示,无需提交服务器,避免敏感词被论坛后台拦截。

游戏攻略防剧透

游戏社区里讨论最终 BOSS 打法,不想让未通关的玩家一眼看到关键弱点。发帖时将 BOSS 名称和击杀步骤用 ROT13 编码,只在回复中提示“选中灰色文字或解码可见”。ROT13 不改变字母长度,不影响排版,且解码无需额外软件。

代码注释藏密钥

项目代码托管在公开仓库,调试阶段需临时在注释里写入测试数据库 IP。为避免被爬虫直接抓取敏感信息,用 ROT13 对 IP 字符串做移位。本工具支持批量处理,整段注释粘贴进去,几毫秒出结果,且不联网,防止密钥在传输途中泄露。

邮件末尾留暗号

商务邮件末尾需附上内部工单编号,但不想让客户直接看到。将工单号用 ROT13 编码后放在签名档,收件方同事用本工具解码即可。ROT13 只影响字母,数字和标点不变,不影响邮件正文的可读性,且不依赖任何第三方邮件插件。

聊天记录防截屏

在即时通讯工具里讨论投标底价,担心对方截屏后截图流出。将关键数字用 ROT13 编码发送,约定“只看不存,看完即删”。ROT47 可同时处理数字和符号,比 ROT13 覆盖更广,截屏者即使拿到图片也无法直接读取明文。

对比矩阵

维度本工具竞品 A(在线密码站)传统方法(手工/脚本)
隐私纯浏览器处理,输入内容不上传服务器部分站点需提交到后端处理完全本地,但需自行编写或运行脚本
速度即时输出,无网络延迟依赖网络请求,可能因服务器负载变慢取决于脚本执行效率,通常较快但需环境准备
离线可用浏览器加载后断网仍可用必须联网才能使用完全离线,但需提前安装解释器或工具
大小限制无输入长度限制部分站点限制单次输入字符数(如 10KB)受限于脚本内存,通常无实际限制
易用性打开即用,无需安装或配置需访问网站、粘贴内容、点击按钮需掌握命令行或编程基础,学习成本高
第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框键入或粘贴文本,右侧预览区同步显示 ROT13 移位结果,无需点击按钮
  2. 2点击「ROT47」标签切换模式,预览区立即更新为对应字符集移位后的内容
  3. 3点结果区任意字符段自动复制,底部状态栏提示「已复制到剪贴板」
  4. 4勾选「保留数字与符号」复选框,预览区中非字母字符保持原样不参与移位

输入输出示例

输入输出说明
Hello, World!Uryyb, Jbeyq!常规:英文字母大小写混合,ROT13 只移位字母,标点符号不变
abc123XYZnop123KLM常规:数字不参与移位,验证字母循环(a→n, Z→M)
The quick brown fox jumps over the lazy dog.Gur dhvpx oebja sbk whzcf bire gur ynml qbt.常规:包含所有英文字母的经典句子,验证全字母移位正确性
边界:空输入,工具应返回空字符串而非报错
AN边界:单字符输入,验证最小处理单元
中文测试中文测试边界:非英文字符(中文)不参与移位,原样输出
an易错:小写字母 a 的移位结果,与大写 A 的 N 容易混淆,需注意大小写保留
ZM易错:大写 Z 的移位结果,验证循环绕回(Z 不是变 A,而是变 M)

常见错误对照

1.ROT13 对数字和符号不做处理,用户误以为加密失败

✗ 错误输入 'Hello123!',输出 'Uryyb123!' 后认为工具坏了
✓ 修复输入 'Hello World',输出 'Uryyb Jbeyq'

ROT13 仅对 A-Z / a-z 移位 13 位,数字和标点原样保留。这是 RFC 标准定义的行为,非工具缺陷。

2.ROT47 误用于纯英文文本,以为加密强度更高

✗ 错误对 'Hello' 用 ROT47 得到 'w6==@',认为更安全
✓ 修复对 'Hello World' 用 ROT13 得到 'Uryyb Jbeyq',用 ROT47 得到 'w6==@ (@C=5'

ROT47 移位 47 位,覆盖 ASCII 33-126,适合含符号的文本。纯字母用 ROT13 更直观,ROT47 输出含大量符号反而增加阅读负担。

3.把 ROT13 当成可逆加密,误以为能保护密码

✗ 错误用 ROT13 加密密码 'MyP@ss123' 得到 'ZlC@ff123' 并保存
✓ 修复用 bcrypt / Argon2 等密码哈希函数处理密码

ROT13 是凯撒密码变体,无密钥、无盐值,同一输入永远输出相同结果。任何知道算法的人可瞬间还原,不能用于密码存储。

4.对中文/Unicode 字符使用 ROT13,以为会混淆

✗ 错误输入 '你好世界',期望输出乱码或加密结果
✓ 修复输入 'ni hao shi jie' 拼音,或用 ROT47 处理含中文的混合文本

ROT13 只处理英文字母,中文字符在 Unicode 中不落在 A-Z 范围,原样输出。若需混淆中文,应使用 ROT47(处理 ASCII 33-126)或专用编码。

5.连续两次 ROT13 后以为数据损坏

✗ 错误对 'Hello' 做 ROT13 得 'Uryyb',再做一次 ROT13 得 'Hello',认为工具循环错误
✓ 修复ROT13 是对合运算:应用两次恢复原文,这是设计特性

ROT13 移位 13 位,字母表共 26 位,两次移位等于 26 位即回到原点。这不是 bug,而是凯撒密码的数学性质。

6.ROT47 处理后复制到不支持 ASCII 33-126 的系统导致显示异常

✗ 错误在 ROT47 工具得到 'w6==@',粘贴到纯文本编辑器显示为乱码
✓ 修复确认目标系统支持完整 ASCII 可打印字符,或改用 ROT13

ROT47 输出含 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 等符号,部分老旧系统或数据库字段(如 VARCHAR(50))可能截断或转义这些字符。

7.误以为 ROT13 和 ROT47 可以混用解密

✗ 错误用 ROT13 加密得到 'Uryyb',再用 ROT47 解密得到 'w6==@' 而非原文
✓ 修复加密和解密必须使用同一算法:ROT13 加密 → ROT13 解密;ROT47 加密 → ROT47 解密

两种算法移位量不同(13 vs 47),字符映射表完全独立。混用相当于用凯撒密码的密钥 13 去解密钥 47 的密文,数学上不成立。

第三节

工作原理

How It Works

核心公式

ROT13: c = (p + 13) mod 26;ROT47: c = (p + 47) mod 94

变量说明

  • p明文字符在字符集中的序号
  • c密文字符在字符集中的序号
  • 26英文字母总数(A-Z)
  • 94可打印ASCII字符数(33-126)

示例

明文 'H'(ASCII 72,字母序号 8):ROT13 加密 c = (8 + 13) mod 26 = 21 → 字母 'U';ROT47 加密 c = (72 - 33 + 47) mod 94 + 33 = 86 + 33 = 119 → 字符 'w'。

输入文本逐字符移位(A-Z / a-z / 0-9 等)输出密文选择 ROT13(仅字母)选择 ROT47(ASCII 33-126)输出密文
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
ROT13 和 ROT47 到底有什么区别,我该用哪个?

ROT13 只处理英文字母(a-z, A-Z),其他字符(数字、标点、空格)原样保留,所以常用于隐藏英文文本(如论坛剧透)。ROT47 处理 ASCII 码 33 至 126 之间的所有可打印字符,包括数字、符号和标点,覆盖范围更广,适合混淆包含符号的文本(如密码片段)。简单判断:如果内容只有英文单词,用 ROT13;如果包含数字或特殊符号(如邮箱、URL),用 ROT47。

这个工具是纯前端处理的吗,我的内容会不会被上传到服务器?

本工具完全在浏览器本地运行,代码是纯 JavaScript,不向任何服务器发送数据。输入的内容只在当前页面内存中完成移位运算,关闭页面或刷新后数据自动消失。如果对隐私有严格要求,可以在输入后断开网络再点击转换验证是否仍然可用——结果依然正常,因为所有逻辑都在本地执行。

为什么我输入中文后点转换,结果还是原来的中文,没变化?

这不是工具出错了。ROT13 只针对英文字母(a-z, A-Z)移位,中文属于 Unicode 字符,不在 ROT13 的处理范围内,所以原样输出。ROT47 也只处理 ASCII 33-126 的字符,中文同样不在此范围。要加密中文内容,需要改用其他工具(如 Base64 或 AES 加密)。本工具的定位就是快速处理纯英文或符号文本。

我有一段带换行和空格的文本,用这个工具转换后格式会乱吗?

不会。ROT13 和 ROT47 都只对每个字符独立移位,不改变文本的结构信息——包括换行符(\n)、回车符(\r)、空格、制表符等空白字符全部原样保留。转换后的文本行数、段落间距、缩进样式与输入完全一致,可以直接复制粘贴到原文位置替换使用。

ROT13 转出来的结果怎么看起来像乱码?怎么确认我转对了?

ROT13 是凯撒密码的变体,移位后的结果通常是一串无意义的字母组合,看起来像乱码是正常现象。验证方法很简单:把转换后的结果再次粘贴回输入框,点击转换(同一个按钮),如果还原回原来的文字,说明转换正确。因为 ROT13 是对称算法,加密和解密是同一个操作。如果无法还原,检查是否误用了 ROT47 或输入中混入了非英文字符。

这个工具有输入长度限制吗?我有一段几千字的文章能一次处理吗?

本工具基于浏览器 JavaScript 引擎,理论上没有人为设置的长度限制。实际能处理的文本长度取决于浏览器可用内存和设备性能。对于几千字的普通文章(约 10-50 KB),现代浏览器完全无压力,通常几毫秒内完成。如果遇到超长文本(数 MB),建议分批处理或检查浏览器是否提示页面无响应。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭