# Encrypt File

> 在瀏覽器裡用密碼加密或解密檔案。AES-256-GCM 寫成 compact JWE，容器是 RFC 7516 開放格式，不是自創的，什麼都不上傳。密碼一丟，檔案就永遠打不開，沒人救得了。

- URL: https://bytescope.dev/zh-Hant/encrypt-file/
- Locale: zh-Hant · Also: [en](https://bytescope.dev/en/encrypt-file.md) · [ja](https://bytescope.dev/ja/encrypt-file.md)
- Runs: 檔案不會離開你的瀏覽器 — 全部在本機處理。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

密碼留在這個分頁。內容用 AES-256-GCM 加密，內容金鑰用 PBES2-HS256+A256KW（PBKDF2-HMAC-SHA256，60 萬次）包起來。容器不是自創的，是 RFC 7516 / 7518 的 compact JWE。同一個頁面解開 `.jwe`。沒有上傳，也沒有能幫你留救援金鑰的帳號。

### 為什麼不是來路不明的 `.enc`

私有容器的下場，就是網站一關檔就卡住。compact JWE 是既有開放格式，官方測試向量也公開（A256GCM 見 RFC 7516 附錄 A.1，PBES2 金鑰包裝見 RFC 7517 附錄 C，256 位元的包裝見 RFC 3394 §4.6）。實作同一組 `alg` / `enc` 的其他 JWE 工具讀得懂；這一頁不發明檔頭。

### 密碼丟了，檔案就沒了

沒有重設信、沒有安全提問、沒有「我們可以幫你打開」。在瀏覽器做這件事的意義就在這裡：我們沒看過密碼，也就還不了你。刪掉明文之前，先寫到明年還找得到的地方。

## Limits

Does not recover a lost password and does not share or store files; it encrypts and decrypts with a password locally.

密碼丟了，檔案就永遠打不開。我們無法救援。沒有重設、沒有寄信、沒有後門。

## FAQ

### 檔案或密碼會上傳嗎？

不會。PBKDF2、AES 金鑰包裝、AES-GCM 都在這個分頁用 Web Cryptography API 跑。沒有收檔的端點。

### 密碼丟了，你們能幫我打開嗎？

不能。密碼丟了，檔案就永遠打不開。我們無法救援。這不是之後可以放寬的政策；金鑰從來沒在伺服器上存在過。

### 加密後是什麼格式？

compact JWE（五段 base64url）。檔頭 `alg` 是 `PBES2-HS256+A256KW`，`enc` 是 `A256GCM`。請留著 `.jwe` 副檔名，之後才找得到。

### 別的程式解得開嗎？

只要實作同一組 JWE `alg` / `enc`，原則上可以。這一頁不是鎖死你。只會 age 或 zip-AES 的工具打不開——那是別的格式。

### 密碼要算多久才變成金鑰？

PBKDF2-HMAC-SHA256 做 60 萬次，是 OWASP 2023 給 SHA-256 的數字。加密跟解密都要等一下，是為了不要放一個很好暴破的金鑰。

## Related tools

- [File Hash Calculator](https://bytescope.dev/zh-Hant/file-hash.md) — 之後要核對的話，加密前先算雜湊。
