AES 加密與解密

自訂 AES 參數,加密與解密文字或位元組。

安全與密碼學
正在準備工作區…

輸入

正在準備工作區…

輸出
結果將顯示於此。

使用方法

  1. 選擇加密或解密、密文格式及相符的 AES 設定。
  2. 輸入資料、金鑰或通關密語,以及所需的 IV、salt 與驗證參數。
  3. 執行操作,檢查結果並保留解密所需的相符參數。

AES 加密與解密

使用匹配的模式、金鑰、IV 和編碼進行加解密。預設使用具驗證功能的 GCM 模式。

請連同密文保留 IV、鹽值及匹配參數。輸入的金鑰和通關密語不會包含在匯出結果中。

輸入與操作

AES-128、192、256 的金鑰必須分別為 16、24、32 位元組,不會自動補齊或截斷。

GCM:12–64 位元組,建議 12 位元組。CBC、CTR、CFB:必須為 16 位元組。ECB 不使用 IV。 預設每次加密產生新的隨機 IV 與 salt,因此相同明文可能產生不同密文。手動參數用於相容性測試;必須遵守所選模式對 IV/nonce 的要求。

範例
輸入
Plaintext: Hello, encrypted world! 🌐
Passphrase: DevToolsy-demo-passphrase
結果
{
  "format": "devtoolsy-aes",
  "version": 2,
  "mode": "GCM",
  "keyBits": 256,
  "keySource": "passphrase",
  "padding": "none",
  "iv": "EBESExQVFhcYGRob",
  "ciphertext": "QdSMophe/cqRY/7qS1tHMemEKsgTwgzhEdCmOixECYc6+/X/mfq9f9Wq0CE=",
  "kdf": {
    "name": "PBKDF2",
    "hash": "SHA-256",
    "iterations": 600000,
    "salt": "AAECAwQFBgcICQoLDA0ODw=="
  },
  "authentication": {
    "tagLength": 128,
    "aad": ""
  }
}

僅供示範。請勿將範例金鑰或密碼用作真實憑證。

行為與限制

GCM 支援 96/104/112/120/128-bit Tag、AAD,以及原始密文的串接或獨立 Tag。CBC/ECB 支援 PKCS#7 或 NoPadding;後者要求完整的 16 位元組區塊。CFB 使用 128-bit 回饋區段;CTR 的計數器為 1–128 bit。明文限 1 MiB;二進位結果可用 Hex/Base64 或原始位元組下載,無效 UTF-8 會報錯。

此模式不驗證資料真實性。金鑰錯誤時也可能產生輸出;需要偵測竄改時請使用 GCM。

ECB 僅用於舊系統相容:相同的明文區塊會產生相同的密文區塊。

複製與使用

JSON v2 保存非秘密參數,並相容讀取舊版 v1 的 AES-256-GCM / PBKDF2-SHA256 / 600,000 次迭代設定。JSON 只是容器,不會為其他模式增加驗證。「將結果用作輸入」會帶入實際參數;切回加密時恢復隨機 IV/salt 預設值。

原始密文可與 Node.js、Python、OpenSSL 等實作互通,但模式、金鑰位元組、IV、padding、編碼及 GCM Tag/AAD 必須相同。不會自動解析 OpenSSL Salted__ 或 CryptoJS 通關密語封裝;請使用實際衍生的金鑰與 IV。 請連同密文保留 IV、鹽值及匹配參數。輸入的金鑰和通關密語不會包含在匯出結果中。

處理限制

輸入: 1 MiB; 金鑰: 64 KiB; 檔案: 1 GiB; 密碼: 4–128 (長度), 1–100 (數量); bcrypt: 1–72 個 UTF-8 位元組 · 成本 4–14 · 預設 10; AES: 明文 1 MiB, 加密通行片語 1 KiB, GCM / CBC / CTR / CFB / ECB, 128/192/256-bit; PBKDF2 / HKDF: 通關密語 / 輸入位元組 64 KiB, 鹽值 / info 1 KiB, 輸出長度(位元組) 1–256; 輸出 1–256 位元組 · PBKDF2 最多 2,000,000 次迭代 · 輸入保留在裝置上; 耗時: 30 s; 檔案: 120 s.

?

常見問題

日後解密需要保留什麼?

請連同密文保留 IV、鹽值及匹配參數。輸入的金鑰和通關密語不會包含在匯出結果中。

為什麼每次加密結果都不同?

預設每次加密產生新的隨機 IV 與 salt,因此相同明文可能產生不同密文。手動參數用於相容性測試;必須遵守所選模式對 IV/nonce 的要求。

輸入內容會傳送給 DevToolsy 嗎?

不會。本工具在本機處理資料。金鑰等敏感資訊、檔案名稱和結果不會放入頁面 URL,也不會儲存至工具歷史記錄。

「清除」會移除哪些內容?

「清除」會移除頁面中可見的工作內容,但不保證記憶體中的資料已安全抹除;剪貼簿副本和下載檔案由你的裝置另行管理。

可以解密任意 OpenSSL 或 CryptoJS 輸出嗎?

原始密文可與 Node.js、Python、OpenSSL 等實作互通,但模式、金鑰位元組、IV、padding、編碼及 GCM Tag/AAD 必須相同。不會自動解析 OpenSSL Salted__ 或 CryptoJS 通關密語封裝;請使用實際衍生的金鑰與 IV。

應該選擇哪種模式?

使用匹配的模式、金鑰、IV 和編碼進行加解密。預設使用具驗證功能的 GCM 模式。 此模式不驗證資料真實性。金鑰錯誤時也可能產生輸出;需要偵測竄改時請使用 GCM。 ECB 僅用於舊系統相容:相同的明文區塊會產生相同的密文區塊。

尋找下一個實用工具

語言

要切換語言嗎?目前頁面的內容將被清空。請先複製或下載需要保留的資料。