这是一个把文件锁进你自己手里的工具:选择或拖入文件、输入密码,加密与解密全部由浏览器内置的
Web Crypto API 完成,文件与密码都不会离开你的设备,页面不发起任何携带数据的网络请求。
加密使用 AES-256-GCM(认证加密,带 128 位认证标签);密钥由 PBKDF2-HMAC-SHA256 从密码派生, 默认迭代 600,000 次。每个文件都会生成独立的 16 字节随机盐与 12 字节随机初始向量, 同一密码加密两个文件,得到的密文也完全不同。原始文件名、MIME 类型与文件大小被组织成一段元数据, 与文件内容一起作为明文被加密,不会裸露在文件头里。盐、迭代次数、分块大小等参数写在文件头, 并作为 GCM 的附加认证数据(AAD)参与校验,一旦被篡改解密会立刻失败。
最后一分块标记也被计入认证数据,因此截断攻击(把文件尾部的密文切掉)同样无法通过校验。 密码错误、文件损坏、格式不符或被篡改时,工具都会明确报错并中止,绝不产出一个看起来成功的错误文件; 反过来,只要认证通过,就能确认内容与加密时逐字节一致。处理按 4 MB 分块流式进行, 不把整个文件一次性读进内存,过程中显示进度并可在分块之间取消。
需要说明的是:工具依赖 crypto.subtle,它只在安全上下文(HTTPS 或 localhost)下可用,
通过明文 HTTP 打开会给出明确提示而不是静默失败。密码遗失无法恢复——密码不保存、不上传、不可逆存储,
没有任何找回通道,请把它存进密码管理器。
文件本体用 AES-256-GCM 加密(认证加密,附带 128 位认证标签);密钥由 PBKDF2-HMAC-SHA256 从密码派生,默认迭代 600,000 次,每个文件生成独立的 16 字节随机盐和 12 字节随机初始向量。盐、迭代次数、分块大小等参数写在文件头里,并作为 GCM 的附加认证数据(AAD)参与校验,被篡改会直接解密失败。
不会。原始文件名、MIME 类型与文件大小被组织成一段元数据,和文件内容一起作为 AES-GCM 的明文被加密,不在文件头里裸露。只有先解密出元数据,才能知道原文件名和类型。
会明确报错,绝不会生成一个看起来成功的文件。AES-GCM 是认证加密:密码错误、文件损坏、被截断或被篡改,认证标签都校验不过,解密立即中止,不写出任何文件。反过来说,认证通过即意味着内容与加密时完全一致。
不能,任何人都不能。密码从不保存、不上传、不以任何形式可逆存储,本工具也不存在找回、重置或后门通道。请务必把密码保存在密码管理器里;忘记密码等于永久失去文件。
默认上限为单文件 300 MB,可在界面切换到 100 MB 或 1 GB(浏览器内存有限,超大文件不建议使用)。工具按 4 MB 分块流式处理,不会把整个文件一次性读进内存,处理过程中显示进度并可在分块之间取消。
加密后下载的文件后缀为 .sisenote.enc。解密时把它拖回本页切到「解密」,输入同一个密码即可;页面会先校验文件头的魔数与版本,不符合格式会直接提示,不会误当成别的文件处理。