AES Encryption Online 是一款瀏覽器端的 AES-256-GCM 工具,它會將你的明文包裝在一個有版本編號的 JSON 套件中,內含 salt、initialization vector 以及 128 位元鑑別標籤。加密金鑰是透過 PBKDF2-SHA-256 搭配 210,000 次迭代從你的密碼衍生而來,並且保留在 Web Crypto 內而無法匯出,而 salt 與 IV 則在每次加密時重新產生。由於加密輸出是一個自給自足的 JSON envelope,而非不透明的十六進位字串,因此接收者需要這個 JSON 套件加上密碼——而密碼會透過另一個管道傳送。解密時會先驗證宣告的標籤、欄位長度以及 base64url 語法,然後才嘗試鑑別,因此密碼錯誤或套件遭到竄改時,會產生一個乾淨的失敗,不會洩漏任何部分明文。由於所有操作都在當前頁面本機執行,因此明文、密碼、衍生金鑰或解密結果都不會被傳送到任何伺服器。JSON 結構會宣告版本 1、AES-256-GCM、PBKDF2-SHA-256 以及迭代次數,加上 salt、IV 和已鑑別密文的 base64url 欄位。

aes encryption online hex
AES Encryption Online:以 JSON 套件呈現的加密文字

AES Encryption Online 套件實際上承載了什麼

當你搜尋「AES encryption online hex」卻進入一個以十六進位為主的計算工具時,結果通常是一串以十六進位編碼的原始位元組。AES Encryption Online 刻意採取不同的路線:輸出是一個結構化、自我描述的 JSON envelope,而非一團十六進位的 blob。這個 envelope 會標明版本、演算法、金鑰衍生函式、迭代次數,以及 salt、initialization vector 和已鑑別密文的 base64url 欄位。接收者無需透過外部協商,就能確切知道執行了哪個 cipher 以及使用了哪些參數,這也是為什麼這個工具會以 JSON 結構作為輸出格式。

欄位宣告值用途
version1識別此工具所使用的套件結構
cipherAES-256-GCM機密性加上 128 位元鑑別標籤
kdfPBKDF2-SHA-256將密碼延伸為 256 位元 AES 金鑰
iterations210,000提高密碼猜測成本的代價因子
salt16 個隨機位元組,base64url每次加密皆不同;非機密
iv12 個隨機位元組,base64url每次加密皆更新;AES-GCM 必須保持唯一
ciphertextAES-GCM 輸出加上 128 位元標籤,base64url加密後的明文加上鑑別標籤

base64url 編碼遵循 RFC 4648:字母、數字、連字號與底線,無填補字元。Web Crypto 所回傳的 128 位元鑑別標籤位於 ciphertext 欄位的尾端。任何其他 AES 工具都必須重現這些精確的選擇——UTF-8 密碼處理、210,000 次迭代、16 位元組 salt、12 位元組 IV、128 位元標籤,以及無填補的 base64url——才能與這個套件互通。JSON 欄位結構本身是這個工具特有的:密碼學要素是標準化的,但外層的 envelope 並非通用的檔案格式。

使用 AES Encryption Online 工具加密文字

工作流程中的加密端只需要兩個輸入,就會產生一個可攜的產物。在任何支援 Web Cryptography API 的現代瀏覽器中,直接從 AES Encryption Online 頁面執行即可。

  1. 選擇 Encrypt 並輸入你想要保護的明文。頁面會將輸入視為 UTF-8 文字。
  2. 輸入至少 12 個 UTF-8 位元組的唯一密碼。來自值得信賴的密碼管理工具的高熵值 passphrase,是系統中唯一的機密。
  3. 執行加密。工具會產生一個全新的 16 位元組隨機 salt 以及一個全新的 12 位元組隨機 initialization vector,以 PBKDF2-SHA-256 在 210,000 次迭代下衍生出無法匯出的 256 位元 AES 金鑰,接著使用 AES-GCM 加密並附加 128 位元鑑別標籤。
  4. 從結果區複製完整的 JSON 套件,並透過你掌控的管道儲存或傳送。明文、密碼、衍生金鑰以及中間值都不會離開當前頁面。
  5. 透過另一條獨立的安全管道,將密碼傳遞給預定的接收者。JSON 套件與密碼必須分開傳送。

由於 salt 和 IV 每次執行都會改變,使用相同密碼加密相同明文兩次,會產生兩個不同的 JSON 套件。這是預期中的行為,能防止接收者透過比對密文來推斷內容是否相同。

解密 AES 套件並讀取結果

解密流程完全在瀏覽器內反轉整個工作流程,不會離開你的瀏覽器。開啟 AES Encryption Online 工具,切換到 Decrypt,逐字貼上整個 JSON 套件,然後輸入對應的密碼。

頁面會先驗證 JSON 的結構:宣告的標籤、數值限制、精確的 salt 與 IV 長度,以及最低 ciphertext 長度,都必須在嘗試任何密碼學運算之前全部通過檢查。接著 Web Crypto 才會從密碼與套件中儲存的 salt 重新衍生 AES 金鑰,然後鑑別並解密內容。如果密碼錯誤、套件遭到編輯,或鑑別標籤無法驗證,工具會回報鑑別失敗,而不會回傳任何部分明文。完整性檢查正是使用 GCM 模式而非 CBC 或 ECB 的全部意義。

由於套件是傳送端與接收端之間唯一流動的產物,請將它視為唯一的真相來源。當你把套件貼回工具時,如果看起來有任何截斷——缺少右大括號、換行被去掉,或是原本應為普通引號的位置出現了智慧引號字元——Web Crypto 會拒絕這個內容,並顯示驗證錯誤而非解密後的明文。在認定是密碼錯誤之前,請從原始來源重新複製套件再試一次,這次不要做任何行尾正規化。

為什麼 Salt、IV 和標籤要放在套件內部

有些讀者來到這個工具時,預期會看到像雜湊產生器那樣的原始十六進位輸出。AES-GCM 比單純的雜湊函式更為嚴格,因此還原訊息需要不只一個數字——而每個數字都扮演特定的角色。

  • Salt(16 位元組,公開):防止兩個使用相同密碼的接收者衍生出相同的金鑰,並阻止預先計算的彩虹表針對這個工具的結構進行攻擊。
  • IV(12 位元組,公開):AES-GCM 要求每個金鑰搭配唯一的 initialization vector。每次執行使用全新的隨機 IV,是保證這個特性的最簡單方式。
  • 鑑別標籤(128 位元,公開):儲存在 ciphertext 欄位的尾端,這個標籤讓解密者能證明密碼正確,且套件在傳輸過程中未遭到修改。

這些值都不是機密。它們的任務是唯一性與完整性,而非機密性。系統中唯一的機密是密碼本身,而 JSON 套件中從未包含密碼。AES-GCM 定義於 NIST SP 800-38D;Web Crypto 實作遵循 W3C Web Cryptography Level 2 規格,base64url 編碼則遵循 RFC 4648。Salt 不是機密、IV 不是機密、標籤也不是機密——但密碼仍然是機密。

瀏覽器端工具的限制與運作邊界

AES Encryption Online 是為受控的文字交換與示範而設計,並非要取代企業級金鑰管理。了解邊界在哪裡,才能讓這個工具保持有用而非誤導。

這個頁面是為小型文字片段設計的——密碼、API 金鑰、設定片段、JSON 片段以及簡短訊息。它沒有檔案上傳、沒有串流、沒有分段處理,也沒有加密備份流程。PBKDF2 搭配 210,000 次迭代能提高密碼猜測的成本,但無法拯救一個過短、重複使用、外洩或可預測的密碼。唯一能保護你的套件免於被持有密文的攻擊者破解的,只有獨特且高熵值的 passphrase。此工具要求至少 12 個 UTF-8 位元組的密碼,並允許更長的 passphrase;越長對抗猜測的效果就越好。

這裡沒有伺服器端的託管、沒有帳號復原機制,Lizely 也無法恢復遺失的密碼,因為密碼從一開始就未曾離開過這個頁面。密碼永遠不會寫入輸出,也沒有任何密碼復原、託管、帳號備份或伺服器端金鑰管理。

瀏覽器擴充功能、剪貼簿管理工具、截圖工具、共用電腦,以及套件最終貼上的目的地,全都落在密碼學邊界之外。請清除敏感內容、關閉分頁,並將套件的任何其他複本視為與明文本身需要同等保護。實作已對照 NIST AES-GCM 向量進行檢驗,包括空明文鑑別案例與完整零區塊加密案例,再加上 RFC 4648 base64url fixtures。這些檢驗確認了已定義的轉換與套件不變式;它們並未認證外圍的瀏覽器、裝置、密碼選擇或更廣泛的工作流程。