XOR 加密線上工具
對 UTF-8 之文字施以重複鍵 XOR 轉換,並將可逆之密文以驗證過的十六進位或 Base64 形式交換,全部過程皆在瀏覽器中執行。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.選擇加密,輸入明文與完全相同的重複鍵,並執行本機 XOR 轉換。
- 2.複製主要的十六進位或 Base64 結果,並告知接收方使用的是哪一種表示方式。
- 3.若要恢復明文,請選擇解密,選擇匹配的格式,貼上密文並輸入完全相同的鍵值。
關於XOR 加密線上工具
XOR 加密線上工具對 UTF-8 位元組執行重複鍵排他或(XOR)運算。輸入明文與鍵值,產生相同之密文,以十六進位與 Base64 顯示,或選擇解密模式以從任一表示方式恢復明文。所有運算皆在瀏覽器中執行,頁面不會上傳訊息、鍵值或輸出內容。
此規則刻意明確。明文與鍵值皆以 UTF-8 編碼。每一個明文字元位元組皆與對應的鍵位元組使用 XOR 運算,當輸入長度超過鍵值長度時,鍵值會重新開始。這通常稱為重複鍵 XOR。兩方必須完全遵循相同的位元組編碼與鍵值重複規則,才能取得相同結果。
十六進位與 Base64 只是結果位元組的表示方式。十六進位每字元寫兩個十六進位數字,方便檢視。Base64 更短,且較易在文字欄位中傳遞。切換輸出格式不會改變 XOR 密文字身。加密模式同時顯示兩種形式,以便接收方可選擇其所需的格式使用。
解密模式會嚴格解析所選的表示方式。十六進位必須包含完整的字元對,且僅含十六進位數字,雖然空白字元會被忽略。Base64 必須使用標準字母表並正確補位。解析出的位元組會與 UTF-8 鍵值進行 XOR 運算,然後以致命的 UTF-8 驗證解碼。錯誤的鍵值通常會產生無意義的文字,因此會顯示明顯錯誤,而非靜默替換為不可見字元。
成功解碼 UTF-8 不代表鍵值正確。某些錯誤的位元組序列恰好會產生合法字元,特別是對於短的 ASCII 訊息。請透過獨立通訊渠道確認明文內容是否合理。此工具沒有校驗和、認證標籤、鹽值、非重複性、密碼擴充套件或金鑰管理系統。
重複鍵 XOR 不是現代加密方法。重複會暴露模式,已知明文可揭露鍵值,短鍵特別脆弱,且攻擊者可修改密文而不被察覺。請勿使用此頁面來保護密碼、個人記錄、付款資訊、私密鍵或任何需要保密性或完整性的資訊。對於敏感資料,應使用經過審查的認證加密系統。
鍵值欄位以文字形式處理,而非十六進位鍵值。例如,鍵字「key」會轉為 UTF-8 位元組 6B 65 79。輸入 6B6579 則會使用該字串中的六個可見字元。此區別在與命令列程式或程式庫結果對比時至關重要。
Unicode 文字每個可見字元可能佔用多個位元組。表情符號與許多非拉丁文字因此會消耗多個鍵值位置。此實現對位元組進行 XOR 運算,而非 JavaScript UTF-16 位元組單位,亦非使用者感知的圖形字元群組。固定的定義確保多語言結果在符合標準的瀏覽器中可重現。
輸入與鍵值資料限制為 100,000 位元組,以維持轉換、顯示與複製的響應性。明文中之空白字元具有意義。加密密文中之空白字元僅為方便換行而被忽略,但不會進行其他清理或猜測。空輸入或空鍵值將被拒絕。
獨立測試涵蓋固定 ASCII 與 Unicode 向量、精確的十六進位與 Base64 輸出、兩種解密格式、錯誤的編碼、空鍵值以及解密後的無效 UTF-8。額外的 Unicode 迴圈測試進一步確認位元組邊界在加密與解密過程中得以保留。這些測試確立了本頁面所宣告的規範,並非加密安全性。
若要交換一個無害的謎題,雙方應先同意完全相同的鍵文字,加密訊息並傳送任一種密文形式。接收方選擇相同的表示方式,輸入完全相同的鍵值,包括大小寫與空白,並進行解密。若結果失敗,請比對鍵值的每一個字元,確認傳輸過程未裁剪或修改密文。
將結果視為可逆的混淆,僅用於教育、互操作性測試與捕獲旗標活動。此警告是產品行為的一部分:一個熟悉加密標籤不應被視為提供保護,因為重複鍵 XOR 無法提供此功能。若需真正安全,請選擇經審查的認證加密方式,並使用經過驗證的應用程式以安全處理金鑰。
方法與來源
文字與金鑰使用 TextEncoder 進行編碼。每一個輸入的位元組會與 keyBytes[index modulo keyLength] 進行 XOR 迴圈運算,然後以小寫十六進位表示,並標準補位為 Base64。解密過程嚴格解析位元組,重複相同操作,且必須正確解碼為 UTF-8。
常見問題
- 重複鍵 XOR 是安全的加密方式嗎?
- 不。重複鍵會暴露模式,且輸出無認證。對於敏感資訊,應使用經過審查的認證加密。
- 為何相同的鍵在另一個工具中看起來不同?
- 本頁面將鍵值視為 UTF-8 文字,並對 UTF-8 明文位元組執行 XOR。另一工具若將鍵值視為十六進位或以 UTF-16 單位運作,則遵循的是不同的規範。
- 為何錯誤的鍵值偶爾會產生可讀文字?
- 致命的 UTF-8 驗證會捕捉許多錯誤結果,但隨機位元組仍可能組成合法字元。必須透過獨立方式確認明文內容是否合理。
相關工具
- 文字轉為十六進位將文字編碼為精確的 UTF-8 十六進位字串,支援連續、間隔或 0x 預設輸出格式,並明確顯示 Unicode 替換警告。
- Base64 編碼 / 解碼立即在瀏覽器中編碼或解碼 Base64,完整支援 UTF-8 — 表情符號和重音字元都能使用。
- 維吉尼亞密碼解碼器在瀏覽器中加密或解密經典維吉尼亞文字,使用已知的重複 A–Z 關鍵,全部處理都在你的瀏覽器中完成。
- AES 線上加密完全在瀏覽器中把文字加密為可攜、具驗證能力的 AES-256-GCM JSON 封裝,或使用密碼解密封裝。
- A1Z26 字母數字密碼轉換器把英文字母轉為明確的 A=1 至 Z=26 益智格式,並在不混淆單字邊界的情況下解碼經驗證的數字組。
- ASCII 轉換器將標準 7 位 ASCII 文字轉換為十進位碼,或將十進位碼解碼為精確的 ASCII 字元本機執行。
編碼與加密 使用指南
查看全部- Run an XOR Cipher Online and Pick the Output Format (英文原文)
- XOR Cipher Calculator: Encrypt and Decrypt Text Online (英文原文)
- Is XOR Encryption Secure? A Repeating-Key Reality Check (英文原文)
- Compare Approaches to Use a ROT47 Encoder Decoder (英文原文)
- Rail Fence Cipher Decoder Alternative for Exact Text (英文原文)
- Convert Punycode to Unicode: Read xn-- Labels (英文原文)
- Check Password Strength in Python Without the Regex Trap (英文原文)
- Translate Morse Code to English: A Practical Workflow (英文原文)
- HTML Escape Cheat Sheet: Reserved Characters (英文原文)
- HMAC-SHA256 Tag Generator: Hex and Base64 Guide (英文原文)
- Hill Cipher Decoder Alternative: Skip the Matrix Math (英文原文)
- Convert Hex Format to Text: A Strict UTF-8 Workflow (英文原文)
- Convert File to Base64 for C# Code: Local Browser Steps (英文原文)
- Calculate CRC32 Checksum and Match the 8 Hex Digits (英文原文)
- BCC Checksum API Alternative: Compute Locally (英文原文)
- Caesar Cipher Decoder API Alternative Without Signup (英文原文)
- Binary to Text Encoding: A UTF-8 Guide (英文原文)
- Base64 to Hex Cheat Sheet: RFC 4648 Quick Reference (英文原文)
- Base58 Decode: Command Line vs Browser (英文原文)
- Decode Base32 in C#: Browser Tool or Library (英文原文)