跳至主要內容
Lizely

AES 線上加密

完全在瀏覽器中把文字加密為可攜、具驗證能力的 AES-256-GCM JSON 封裝,或使用密碼解密封裝。

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

使用方式

  1. 1.選擇加密,輸入純文字及至少 12 個 UTF-8 bytes 的唯一密碼,再執行 AES-256-GCM 加密。
  2. 2.完整複製並保留 JSON 封裝,同時透過另一個安全管道保存或傳遞密碼。
  3. 3.選擇解密,貼上未修改封裝、輸入相同密碼並執行解密;驗證失敗時不會回傳部分純文字。

關於AES 線上加密

AES 線上加密會把文字加密成完整 JSON 封裝,也能以相同密碼解密該封裝。兩種操作都透過瀏覽器 Web Crypto API 執行。純文字、密碼、衍生金鑰與解密結果都留在目前頁面,不會提交至 Lizely。輸出可複製成文字,以受控方式傳輸或儲存,但密碼必須透過不同管道傳遞並妥善保護。

加密採用 256-bit 金鑰的 Galois/Counter Mode AES。AES-GCM 同時提供機密性與驗證標籤,因此密碼錯誤或受保護位元組遭修改時,解密會拒絕封裝。每次加密都會要求新的 16-byte 隨機 salt 與 12-byte 隨機初始化向量。即使純文字與密碼相同,重複執行也應產生不同封裝,避免確定性密文洩漏內容是否相同。

密碼會轉成 UTF-8,並以 SHA-256、210,000 次迭代的 PBKDF2 衍生 AES 金鑰。隨機 salt 不是秘密,會儲存在封裝中。PBKDF2 能提高猜測密碼的成本,但無法把過短、重複使用、已外洩或可預測的密碼變成強秘密。介面要求至少 12 個 UTF-8 bytes,也允許更長的密碼片語。若要取得有意義的保護,請使用可信密碼管理器產生的唯一高熵密碼片語。

JSON 封裝會宣告版本 1、AES-256-GCM、PBKDF2-SHA-256 與迭代次數,也包含 salt、初始化向量及已驗證密文的 base64url 欄位;密文包含 Web Crypto 回傳的 128-bit GCM 標籤。解密會先驗證這些標籤、數值限制、欄位語法、精確 salt 與 IV 長度,以及最低密文長度,再要求 Web Crypto 驗證並解密內容。

這個格式是本工具專用格式。密碼學元件有標準定義,但外層 JSON 欄位配置不是通用檔案格式。其他系統只有在重現相同 UTF-8 處理、PBKDF2 參數、AES-GCM 標籤位置、base64url 編碼與 JSON 欄位時才能互通。請完整保留封裝;移除欄位、錯誤正規化文字,或在預期 base64url 的位置插入一般含 padding 的 Base64,都會使驗證失敗。

AES-GCM 要求同一金鑰下的初始化向量保持唯一。本工具會產生新隨機值,不要求使用者自行編造。切勿編輯封裝以重用舊 IV、salt 或密文。這些隨機值會公開儲存,因為用途是確保唯一性與衍生金鑰,不是保密。密碼絕不寫入輸出,也沒有密碼復原、託管、帳戶備份或伺服器端金鑰管理。

本頁適合小段文字、示範、受控交換與相容性實驗。它不是受管理保險庫、企業金鑰管理服務、加密備份系統,也不能取代經審查的應用層密碼學設計。瀏覽器擴充功能、受感染裝置、剪貼簿管理器、螢幕擷取、共用電腦及封裝複製目的地,都在密碼學邊界之外。若周遭裝置不可信,請清除敏感內容並關閉分頁。

實作會依 NIST AES-GCM 向量檢查,包括空白純文字驗證案例與完整零區塊加密案例。base64url 測試依循 RFC 4648;AES-GCM、PBKDF2、金鑰匯入、衍生、加密與解密則使用 Web Cryptography 規範。這些檢查能證明明確轉換與封裝不變量,但不會認證瀏覽器、裝置、密碼選擇、儲存位置或整體工作流程。

方法與來源

Web Crypto 以 PBKDF2-SHA-256、16-byte salt 與 210,000 次迭代衍生不可匯出的 256-bit AES 金鑰,再使用每次新建的 12-byte IV 與 128-bit 標籤執行 AES-GCM 加密。具版本的 JSON 封裝採用無 padding 的 base64url。

常見問題

salt 與 IV 本來就可以看見嗎?
可以。它們會儲存在封裝中供金鑰衍生與解密使用,不需要保密;密碼必須保持秘密。
為什麼同一段文字加密兩次會得到不同輸出?
每次都會產生新的隨機 salt 與 12-byte IV。這是預期行為,可避免相同密碼下出現確定性密文。
Lizely 可以復原遺失的密碼嗎?
不行。加密與解密都在本機執行,密碼不會上傳或儲存,也沒有復原或託管服務。

編碼與加密 使用指南

查看全部