跳至主要內容
Lizely

XOR 加密線上工具

對 UTF-8 之文字施以重複鍵 XOR 轉換,並將可逆之密文以驗證過的十六進位或 Base64 形式交換,全部過程皆在瀏覽器中執行。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.選擇加密,輸入明文與完全相同的重複鍵,並執行本機 XOR 轉換。
  2. 2.複製主要的十六進位或 Base64 結果,並告知接收方使用的是哪一種表示方式。
  3. 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 驗證會捕捉許多錯誤結果,但隨機位元組仍可能組成合法字元。必須透過獨立方式確認明文內容是否合理。

編碼與加密 使用指南

查看全部