適用於 Kali Linux 的 ROT13 解碼器可讓你在瀏覽器中解碼 ROT13 文字:貼上字串、套用 ROT13,再複製還原後的輸出。ROT13 Encoder Decoder 只會將 ASCII 字母 A–Z 和 a–z 旋轉 13 個位置,保留大小寫,並讓其他所有程式碼單元保持不變。位移 13 個位置套用兩次,就會走遍字母表中的全部 26 個位置,因此同一個控制項既能編碼也能解碼。貼上純文字即可加以混淆,或貼上現有的 ROT13 字串即可還原內容。所有處理都在作用中的瀏覽器分頁內完成;不會有任何輸入、輸出或剪貼簿內容上傳至 Lizely。結果面板也會顯示已對應的 ASCII 字母數量,讓你在複製任何內容前快速檢查一致性。這種特定方法不需要任何終端機套件或 shell 指令,因此也適用於以瀏覽器為核心的 Kali 桌面工作流程。本指南會提供完整的 Kali Linux 瀏覽器工作流程、說明確切字元規則,並指出輸入限制以及不適合使用 ROT13 的情況。對於安全敏感資料,這種方法只能視為輕鬆的可逆混淆。

在 Kali Linux 中解碼 ROT13
如果你想在 Kali Linux 上解碼字串,又不想建立 shell 管線,可以使用基於瀏覽器的方式。由於 ROT13 是自我反轉的,同一個控制項也能編碼純文字。
- 在 Kali Linux 系統上開啟瀏覽器,並載入 ROT13 Encoder Decoder。
- 將 ROT13 文字貼到輸入區域。確實包含混合大小寫、標點符號及其前後的字元,並保持原樣。
- 選擇 Apply ROT13。轉換後的輸出與已變更 ASCII 字母的數量會一併顯示。
- 讀取輸出。如果輸入是 ROT13 文字,這就是還原後的純文字;如果輸入是純文字,這就是編碼後的 ROT13。
- 使用工具的複製控制項複製結果。如果剪貼簿存取遭拒,仍可使用完整的唯讀輸出進行手動選取。
- 若要從純文字轉換結果還原原始內容,請將轉換後的輸出貼回輸入欄位,再次選擇 Apply ROT13。第二次處理會還原確切的來源內容。
此工作流程完全在作用中的分頁內執行,不需要任何額外的 Kali 套件。想將這種瀏覽器方式與 shell 處理方式比較的讀者,也可以閱讀 ROT13 Decoder Bash: Browser Alternative to the tr Command。
ROT13 控制項會變更哪些內容
此處的 ROT13 刻意比一般 Unicode 轉寫更受限。此工具會分別使用 ASCII 大寫和小寫字母表,因此不會交換字母大小寫,也不會套用依語系而異的字母表。
| 輸入類別 | ROT13 處理方式 | 結果 |
|---|---|---|
| ASCII 大寫字母 | 位移 13 個位置並保留大寫 | A 變成 N,N 變成 A,Z 變成 M |
| ASCII 小寫字母 | 位移 13 個位置並保留小寫 | a 變成 n,n 變成 a,z 變成 m |
| 數字、標點符號與空白字元 | 保持不變 | 數字、符號、空格、分頁與換行都維持不變 |
| 非 ASCII 字母 | 保持不變 | 希臘文、西里爾文、阿拉伯文與 CJK 字元都維持不變 |
| 預先組合的重音字元 | 保持不變 | 在 café 中,只有 c、a 和 f 會旋轉,產生 pnsé |
| 組合字元序列 | 只轉換相符的 ASCII 字母 | ASCII e 後接 U+0301 時,會變更 e,同時保留組合記號 |
| 表情符號 | 保留完整的代理項配對 | 表情符號維持不變 |
| NUL | 視為一般字串資料 | NUL 字元維持不變 |
當字串混合包含英文字母、數字、符號、空白字元與國際文字時,這種受限範圍會很有用。這也表示,未變更的數字或非 ASCII 字元不會增加已變更字母的計數。
為什麼一個控制項就能還原文字
對於每個支援的字母,實作會在所對應的 26 字母字母表中計算新位置。大寫字母使用 ASCII 基準值 65,小寫字母則使用基準值 97。兩種情況都是將 13 加到數值上,並以 26 取模。再次套用相同函式會再加上 13,產生總位移 26,使字母回到起始位置。因此,ROT13 無須分別使用不同金鑰或模式,就能以單一操作進行編碼與解碼。
已變更計數不是信賴度分數。它會精確報告已對應多少個 ASCII 字母。每個已對應字母都會變成不同的 ASCII 字母,因此此計數也等於值發生變更的 UTF-16 程式碼單元位置數量。
若要進行獨立的技術交叉檢查,Python 官方的 codecs 文件會將 rot_13 說明為字串對字串的文字轉換,而 CPython rot_13 codec 原始碼則提供直接的字母表。此工具遵循相同的受限 ASCII 字母行為。
輸入限制與邊緣情況
此瀏覽器工具可接受相當大量的文字,但會 enforce 精確界限,並在嘗試轉換前回報無效輸入。
- 最大大小:輸入限制為 1,000,000 個 UTF-16 程式碼單元。恰好達到上限的文字會被接受並完整轉換。超過上限 1 個程式碼單元時,會在轉換前以明確訊息拒絕。內容不會遭到切片、取樣、縮短或默默設上限。
- 空白與不含字母的輸入:空白輸入會回報錯誤。非空白且不含 ASCII 字母的輸入是有效的,會產生未變更的輸出,並回報已變更計數為零。
- 輸出長度:輸出長度永遠等於輸入的 UTF-16 程式碼單元長度。每個已轉換的 ASCII 字母都會由 1 個 ASCII 字母取代,其他每個程式碼單元都會保留。輔助平面表情符號可能佔用 2 個程式碼單元,因此可見字元數量可能與測得的單元數量不同。
- NUL 處理:NUL 是一般字串資料,而不是 C 樣式的終止符號,因此它會保留為文字的一部分,而不會終止輸入。
- 編輯與重新執行:編輯來源內容時,會清除先前的結果、驗證錯誤、統計資料與複製狀態。執行另一次轉換時,也會先清除先前輸出,再發布新輸出。
如果無法存取剪貼簿,複製操作可能會失敗,但完整的轉換後輸出仍可供手動選取。
ROT13 用於混淆,而非保護機密
ROT13 是沒有金鑰的公開替換。任何認出此格式的人都能再次套用 ROT13,立即將其還原。它不提供機密性、驗證、完整性保護、雜湊或存取控制。請勿將它用於密碼、權杖、個人資訊、私人訊息、生產環境設定或其他機密資料。它歷史上用來混淆劇透的做法,屬於輕鬆的可逆混淆,而非安全性措施。
| 任務 | 適當方式 | 關鍵差異 |
|---|---|---|
| 編碼或解碼傳統 ROT13 | ROT13 Encoder Decoder | 使用固定的公開 ASCII 字母 13 位置位移,且可自我還原 |
| 使用不同的 Caesar 位移 | Caesar Cipher Decoder | 支援可設定的 ASCII 位移,而非固定的 ROT13 數量 |
| 以 ROT5 旋轉數字,或結合 ROT5 與 ROT13 | 專為此目的打造的工作流程 | ROT13 Encoder Decoder 會讓每個數字維持不變 |
| 保護機密資料 | 成熟且經過審查的加密系統 | ROT13 沒有秘密金鑰,也不提供機密性 |
ROT13 Encoder Decoder 不會實作任意 Caesar 位移、ROT5、ROT18、ROT47、Unicode 轉寫、依語言而異的替換、壓縮或加密。當任務需要真正的保護,而非輕鬆混淆時,請選擇專為此目的打造的加密工具。
複製前的快速檢查
- 如果已變更計數為零,表示輸入中沒有可供轉換對應的 ASCII A–Z 或 a–z 字母。
- 如果某個字母看起來未變更,請檢查它是否屬於 ASCII 範圍;帶重音的拉丁字母、希臘文、西里爾文、阿拉伯文與 CJK 字元都刻意排除在外。
- 如果輸出看起來仍是編碼內容,請判斷你最初輸入的是否為純文字。將目前結果貼回輸入欄位,再套用一次 ROT13,即可還原原始內容。
- 如果貼上大量內容後沒有結果,請確認輸入並非空白,且長度不超過 1,000,000 個 UTF-16 程式碼單元。
- 如果複製未完成,請改為手動選取完整的唯讀輸出,不要重複進行轉換。
對於 Kali Linux 上的傳統 ROT13,核心規則很簡單:套用 1 次可還原現有的 ROT13 字串,而純文字往返轉換則需要 2 次。當這種固定替換正是你需要的功能時,請使用瀏覽器工具;任何機密內容則應使用 proper 加密系統。