文字加密/解密(AES-256-GCM 密碼加密)

在瀏覽器內以密碼產生金鑰,用 AES-256-GCM 加密與解密文字。使用隨機 salt 與 nonce,可偵測竄改;文字與密碼都不會傳送或儲存。

  • 在瀏覽器內處理(不上傳)
選擇操作

建議使用較長的通關片語(12 個字元以上,最好由多個單字組成)。忘記密碼就沒有人能解密。

產生金鑰(PBKDF2-HMAC-SHA-256,60 萬次迭代)可能需要幾秒鐘。

使用方式

  1. 選擇「加密」,輸入文字,並輸入兩次密碼。
  2. 按下「加密」會產生以「YT1.」開頭的密文。複製或儲存後,請用其他管道把密碼告訴對方。
  3. 要閱讀時選擇「解密」,貼上密文、輸入密碼後按「解密」。

常見問題

文字或密碼會被傳送出去嗎?

不會。加密與解密都在這台裝置上由瀏覽器內建的 Web Crypto API 完成,文字、密碼與密文都不會被傳送、儲存或記錄;關閉頁面後輸入內容就會消失。

忘記密碼還能解密嗎?

不能。沒有任何找回密碼的機制或後門。重要內容請先把密碼存放在安全的地方(例如密碼管理工具)再加密。

安全性如何?

使用具驗證功能的 AES-256-GCM 加密;金鑰由密碼與隨機 16 位元組的 salt,經 PBKDF2-HMAC-SHA-256 迭代 600,000 次(OWASP 建議值)產生,每次加密的 nonce 也都是隨機的。不過安全性仍取決於密碼:太短或常見的密碼,取得密文的人可能猜得出來。

為什麼解密失敗?

可能是密碼不同(大小寫、空白、全形半形都算),或密文被修改、被截斷。AES-GCM 的驗證連一個字元的變更都能偵測,此時不會顯示任何內容。

密文的格式是什麼?

格式為「YT1.標頭.salt.nonce.密文」,各部分都是不含填充的 base64url。標頭 6 位元組(加密方式 1=AES-256-GCM、金鑰衍生 1=PBKDF2-HMAC-SHA-256、迭代次數為 32 位元大端序),salt 16 位元組、nonce 12 位元組,密文結尾是 16 位元組的驗證標籤。最後一個「.」之前的字串作為附加驗證資料;密碼為經 NFC 正規化的 UTF-8,內文為 UTF-8。

和 OpenSSL 或 GPG 相容嗎?

這是本工具專用的格式,無法直接相容。不過只使用標準演算法,依照上面的說明實作,就能在其他環境解密。

注意事項與限制

  • 你輸入的內容只在此頁面處理,不會傳送到 YUCTS 的伺服器。
  • 忘記密碼就沒有人能解密。
  • 每次最多加密 100,000 個字元的文字,不支援檔案加密。
  • 安全性取決於密碼強度,無法防範裝置上的惡意程式、鍵盤側錄或他人偷看螢幕。
  • 密文為本工具專用格式(YT1),與 OpenSSL、GPG 沒有直接相容性。
  • 文字與密碼只在瀏覽器內處理,不會傳送、儲存或記錄。

資料來源