文件加密解密
用密码对任意文件进行 AES-256-GCM 加密,解密 .enc 文件时自动还原原始文件名,全部在浏览器本地完成。
🔒 浏览器本地运行,文件不会上传免费 · 无需注册
把要加密的文件拖到这里
支持任意类型、任意数量的文件,不会上传。
结果
.enc 文件格式说明
偏移 长度 字段
------ ---- ---------------------------------------------
0 6 魔数 "PPFENC"(ASCII)
6 1 版本号 0x01
7 16 salt 随机盐,用于 PBKDF2-SHA-256
23 12 iv 随机初始向量,用于 AES-256-GCM
35 * 密文 + 16 字节 GCM 认证标签
密钥 = PBKDF2-SHA-256(密码, salt, 200000, 32 字节)
明文 = uint16LE(文件名长度) | 文件名(UTF-8) | 文件内容
解密所需的全部信息都在文件头里。任何带 AES-GCM 和 PBKDF2 的语言——Python 的 cryptography、Node 的 crypto、Go、Rust——十几行代码就能读取。
怎么加密文件
- 停留在加密标签页,把一个或多个文件拖进方框。
- 输入密码。请用足够长的密码——它是保护文件的唯一屏障。
- 点加密文件并下载生成的
.enc。要还原时切到解密,把.enc拖进来并输入同样的密码,原始文件名会一并恢复。
常见问题
文件会被上传吗?
不会。文件从本地磁盘读进内存,用浏览器的 Web Crypto API 加密后直接作为下载返回,全程没有服务器参与,断网也能用。
加密强度如何?
AES-256 GCM 模式,256 位密钥由密码经 PBKDF2-SHA-256 迭代 20 万次、配合全新的 16 字节随机盐派生。GCM 还带完整性认证,文件一旦损坏或被篡改就会解密失败,而不是输出乱码。
有大小限制吗?
整个文件必须装进浏览器内存,因此超过 500 MB 会被拒绝,超过 100 MB 会给出提示。更大的文件建议使用 age、7-Zip 或 VeraCrypt 等桌面工具。