文件加密 · 口令保护 — 免费在线工具
文件加密 · 口令保护是 CintaBox 芯塔盒在线工具箱提供的免费在线工具:给一个文件加上口令,变成只有知道口令的人才打得开的 `.mtfc`。**整个过程在你自己的浏览器里完成** —— 文件不上传、口令不出这台设备、全程没有任何网络请求(你可以断网用它来验证这一点)。
⭐⭐⭐ **解不开的时候,它会告诉你是哪一种解不开。**这件事听起来小,其实是这个工具最要紧的地方:AES-GCM 解密失败时,浏览器抛的永远是同一个错误 —— **口令输错了**、**文件下载没传完**、**内容被改过**,从异常上完全分不出来。只说一句「解密失败」的工具,等于让你在「重输密码」和「重新下载」之间瞎猜,两边都试等于两边都不试。本工具在文件头里放了一个**校验块**:先用你的口令解它,解不开就是**口令不对**(并且明确告诉你**文件本身是好的,不用重新下载**);校验块过了而某一块解不开,那就是**那一块坏了**,还会报出是**第几块**。
⭐⭐⭐ **大文件是切块加密的,而切块有两个必须做对的地方。**Web Crypto 没有流式接口,几百 MB 的文件只能切块。第一,每块的初始向量必须各不相同 —— AES-GCM 下重用它不是「安全性弱一点」,是**认证密钥可以被直接算出来**。第二(这一条常被漏掉):**每块还必须和它在文件里的位置绑定**,否则把第 3 块的密文搬到第 5 块的位置,每块自己都是完整的、校验照样通过,**解出来的文件内容被悄悄重排**而你毫不知情。本工具把块序号绑进了认证数据 —— 实测把两块对调,当场报「第 1 / 4 块解不开」,而不是给你一个顺序错乱的文件。
⭐⭐ **它藏得住什么,藏不住什么,都写在明处。**✅ 藏得住:**文件内容**、**原文件名**(加密后放进文件头,输出文件名是 `encrypted-<时间>.mtfc`,看不出你加密的是什么)。❌ 藏不住:**文件大小** —— 密文长度就摆在那儿,任何加密都改变不了这一点,所以本工具索性在文件头里明写大小,而不是让你以为它藏住了。
⭐ **算法用的都是浏览器自带的,没有自研密码学。**口令经 **PBKDF2-HMAC-SHA256、310,000 次**(OWASP 对 SHA-256 的建议档)派生出 256 位密钥,内容按 1 MiB 一块逐块 **AES-GCM-256**。派生故意做得慢(实测一次约 76 毫秒)—— 慢的是你一次,别人穷举口令时慢的是每一次。而加密本身很快:实测 192 MB 只要 394 毫秒,**真正的瓶颈是内存不是算力**。
⛔ **这不是任何标准格式。**文件开头四个字节是 `MTFC`,**只有本工具能解**:它不是 `.gpg`、不是加密压缩包、不是别的什么东西。一个长得像标准却读不回去的输出比不给更糟,所以这句话写在界面上而不是藏在说明里 —— 意味着**你和收件人都得用这个页面**。
⛔ **口令丢了就真的打不开了**:没有找回、没有后门、没有客服。本工具不保存你的口令,也没有任何服务器能帮上忙 —— 这正是「内容不出这台设备」的代价。
⭐⭐⭐ **连文件头本身也在保护之内 —— 这一层是对标 age 规范之后补上的,而且补之前的漏洞我写了 PoC 证明它真能被利用。**文件头里必须明文写着大小、块数、加密参数(不然没法知道用什么参数去解),但**明文不等于可以随便改**:早期版本没保护它,实测可以把一个 160 字节的文件**砍掉一半**、再把头里的长度改成 80,**解密照样"成功"**,你拿到半个文件、文件名照样正确、毫无异常提示。现在这些字段被绑进了一个**头部标签**,改动任何一项都会当场被发现,并且明确告诉你:**口令是对的、内容块也没坏,是文件头被人动过,这份文件不要用。**
⭐⭐ **「口令错」「文件坏」「头被改」是三件不同的事,工具分三层验。**校验块只验口令(它的认证数据里**故意不含**头部字段);头部标签只验头部;数据块只验内容。⭐ 这个分工不是为了好看 —— 两个都塞进同一层的话,两种故障会落在同一个失败上,又变回「解密失败」这句什么都没说的话。
⭐ **旧格式的文件仍然解得开**(不会因为升级就打不开你以前加密的东西),但解完会提醒你:那一版的文件头没有防篡改保护,建议重新加密一份。
⭐⭐ **大文件不再把整份密文堆在页面内存里。**超过 64 MB 的文件会走「逐块交付」:每块加密完立刻交给浏览器,那一块随即被回收。真机实测同一份 192 MB 的文件 —— 老做法页面内存涨 **185 MB**,新做法**不升反降**,代价是多花约 18% 的时间。⚠ 这一条是**量出来才发现要做的**:早先的说明里写着「内存里只留当前这一块」,实测根本不是 —— 分片只省掉了「再拼一份」那次拷贝。
⚠ **关于速度的实话**:同样 192 MB,在 Node 里 394 毫秒,**在浏览器里要 1.1 秒左右**(慢约 3 倍)。这里给的是**浏览器**的数字 —— 你实际会等的那个。
⚠ **关于「大文件多快、占多少内存」,这里给的都是真机逐档量出来的数字,而且上一版有两处被这次复验改正了。**逐档实测(Chromium,每档 3 次取中位):8 MB 加密 93 毫秒、32 MB 214 毫秒、64 MB 381 毫秒、128 MB 729 毫秒、192 MB 1111 毫秒;走「逐块交付」那条路各档**稳定多花约三成**(不是上一版写的一成八 —— 那是单次测量)。⭐ 而「省内存」这件事**没有拐点**:不走逐块交付时,页面持有的密文字节**精确等于文件大小**(比值恒为 1.00),所以 64 MB 这个切换点是**权衡**,不是什么性能拐点。
📌 **`.mtfc` 这个文件头查过了**:`MTFC` 四个字节在两个公开的文件签名库里都**没有冲突**,本机 `file` 命令也把它认成普通 `data`。⚠ 但前两个字节 `MT` 与 MIDI 文件头相同 —— 只看两字节的粗糙检测器可能把它误认成 MIDI;四字节整体不撞。⚠ 另外 magic number 本来就**没有权威注册表**,所以这只能说「没找到冲突」,不是「保证不存在」。无需注册、无需安装软件,打开网页即可使用,处理全程在浏览器本机完成,文件不上传服务器。
功能特点
- 支持文件加密
- 支持口令
- AES-GCM
- 支持本地加密
- 支持隐私
- 支持PBKDF2
- 完全免费,无需注册登录
- 处理全程在浏览器本机完成,文件不上传服务器,隐私安全
使用步骤
- 在浏览器中打开「文件加密 · 口令保护」工具页面(点击本页“立即使用”按钮);
- 按页面提示输入内容或选择文件;
- 工具在浏览器本机即时处理并展示结果;
- 查看、复制或下载处理结果。
常见问题
- 文件加密 · 口令保护是免费的吗?
- 是的,文件加密 · 口令保护完全免费,无需注册、无广告干扰,打开即用。
- 我的文件/数据会被上传到服务器吗?
- 不会。文件加密 · 口令保护的处理全程在你的浏览器本机完成,文件与数据不上传服务器,断网也能用,隐私安全。
- 需要安装软件或插件吗?
- 不需要。任何现代浏览器(Chrome / Edge / Firefox / Safari)直接打开网页即可使用,手机浏览器同样支持。