什麼是 AES 加密?
AES 是對稱分組密碼,加密和解密使用同一把金鑰。128、192、256 表示金鑰位數,而不是文字字元數;三種金鑰都使用 128 位分組。模式決定訊息如何處理,以及是否提供認證。本工具支援 GCM、CBC、CTR,不代表能相容所有標註 AES 的網站。
預設密碼模式使用 PBKDF2-HMAC-SHA256、600000 次迭代和每次新產生的 16 位元組 salt,衍生 256 位金鑰;隨後採用 12 位元組 nonce 和 128 位 tag 的 AES-GCM。這是本站明確定義的 v1 協定,並不是通用的 AES 密碼檔案格式。
如何加密並驗證還原
- 輸入準確文字;工具不會主動去掉空格或轉換換行。
- 選擇密碼模式並輸入密碼。公開範例僅供測試,不是推薦密碼。
- 加密後下載完整 JSON 封裝,將密碼單獨儲存。只複製 ciphertext 欄位不足以還原。
- 切換到解密,貼上完整封裝並輸入同一密碼。認證失敗時不會輸出部分明文。
包中儲存版本、衍生參數、salt、nonce、tag 長度和末尾帶 tag 的密文,不儲存密碼或衍生金鑰。每次加密產生新的 salt 和 nonce,所以同樣的文字與密碼也通常產生不同結果。
什麼時候使用原始金鑰
只有對方系統提供準確的金鑰、模式及參數時,才使用相容模式。AES-128/192/256 的 Hex 金鑰分別為 32/48/64 個字元;Base64 解碼後為 16/24/32 位元組。UTF-8 必須按位元組計算,不能直接數漢字個數。
GCM 輸出末尾附加 16 位元組 tag;CBC 使用 PKCS7 和 16 位元組 IV;CTR 使用 16 位元組初始計數器,計數長度固定為 64 位。CBC 與 CTR 不自帶認證。原始金鑰模式下載會儲存密文與非秘密參數的 JSON 描述,金鑰應另存;該檔案不是 OpenSSL 或 CryptoJS 的密碼封裝。
相關工具與閱讀
技術參考
更新於 2026 年 10 月 16 日
