ROT13密碼
ROT13 — 13 個字母的凱撒密碼。每個字母都被字母表中後面的 13 個位置替換。編碼和解碼是相同的操作。
Hello World → Uryyb Jbeyq
ROT13 — 13 個字母的凱撒密碼。每個字母都被字母表中後面的 13 個位置替換。編碼和解碼是相同的操作。
Hello World → Uryyb Jbeyq
ROT13(“旋轉 13”)是一種凱撒密碼,它將字母表中的每個字母移動 13 個位置。由於英文字母有 26 個字母,因此應用 ROT13 兩次將返回原始文字 - 編碼和解碼是相同的操作。
它不是真正的密碼學(任何人都可以立即解碼),但自 20 世紀 80 年代以來,它一直是在 Usenet、論壇和聊天平台上隱藏劇透、妙語和答案的標準方法。
ROT13 是凱撒密碼的特殊情況,移位為 13。此演算法迭代輸入字串中的每個字元。如果字元是大寫 ASCII 字母 (A–Z,Unicode 代碼點 65–90),它被映射到 13 個位置之後的字符,環繞: new_code = ((old_code - 65 + 13) % 26) + 65。同樣,小寫字母 (a–z,代碼點 97–122) 使用 new_code = ((old_code - 97 + 13) % 26) + 97。所有其他字元(數字、標點符號、空格、非 ASCII 字母)保持不變。由於字母表有 26 個字母,因此應用 ROT13 兩次即可得到原始文字;因此,加密和解密是相同的操作。此實作處理 UTF-8 輸入,但轉換僅影響拉丁字母範圍。
ROT13 基本上是可逆的,但有不同的方法來實現相同的結果。
| 這個工具 | Python 單行程式碼 | tr指令 | |
|---|---|---|---|
| 易於使用 | 無需設置,即時結果 | 需要安裝 Python 和命令列 | 需要 Unix shell 和 tr 實用程式 |
| 案件保存 | 自動儲存 | 使用單獨的映射進行處理 | 使用適當的字元類別時保留 |
| 非英語支持 | 僅 ASCII 拉丁字母 | 可以擴展到其他字母 | 僅限於 ASCII;需要額外的腳本 |
ROT13 於 20 世紀 80 年代初出現在 Usenet(一個去中心化的公告板系統)上。它被用來掩蓋潛在的冒犯性笑話、劇透或謎題答案,讓讀者選擇是否解密。選擇數字 13 是因為它恰好是 26 的一半,使得加密和解密相同,這對用户來説很方便。雖然 ROT13 不是一個安全的密碼,但它早於現代內容警告系統,成為早期線上社羣的文化產物。
發布電影或電視情節? ROT13 對其進行編碼。想要劇透的讀者可以解密;其他人都看到亂碼並跳過。
用純文字設定一個笑話,ROT13 是個笑話。想要的讀者解碼一下;其餘的繼續前進。
測驗答案、謎題解決方案、謎語揭曉 — ROT13 允許您在問題下方發布答案,而瀏覽器不會看到它。
替換密碼的最簡單的範例。演示原理而不會讓學習者不知所措。
評論中的 ROT13 內容無法以純文字形式搜尋 - 可用作自我註釋區域或繞過粗略的內容過濾器。
不,不是為了任何真正的隱私目的——任何人都可以在幾秒鐘內解碼它。僅將其用於隨意隱藏內容以免意外查看。
否 — 僅移動 A–Z 和 a–z。數字、空格、標點符號和其他字元不變地通過。
13 + 13 = 26,26 mod 26 = 0 — 回到開始。 ROT13 是它自己的逆,這就是編碼和解碼使用相同操作的原因。
ROT13 是 25 種可能的凱撒密碼之一(移位 1 到 25)。由於對稱編碼/解碼特性,ROT13 非常有用。