跳到正文
马克工具箱

文本 / 文件加密

发送或保存前先加密笔记、账号密码或文件。只有知道密码的人才能读取;解密时密码错误或内容被改动都会被检测出来。

在浏览器本地运行,输入的内容和文件都不会上传

建议使用较长的口令,例如四个以上随机词语。

没有密码就无法恢复内容。请妥善保管密码,任何人(包括我们)都无法帮你找回。

使用步骤

  1. 选择「加密」,再选择文本或文件。
  2. 输入内容,并输入两次密码。
  3. 点击「加密」,复制密文或保存 .enc 文件。
  4. 需要查看时选择「解密」,粘贴密文或选择文件,输入同一个密码。

参数说明

算法
AES-256 GCM 模式,每次使用随机盐值和随机数。密钥由密码经 PBKDF2-SHA256 迭代 60 万次派生,可以大幅减慢暴力猜测。
文件
原文件名会一起加密保存,解密后恢复原名。加密后的文件以 .enc 结尾。

加密后的数据里有什么

输出是一个布局固定的短二进制结构:

部分 大小 作用
版本 1 字节 目前是 1
盐(Salt) 16 字节 随机生成,让每次的密钥都不一样
Nonce 12 字节 随机生成,绝不会与同一个密钥重复使用
密文 与输入相同 加密后的内容
认证标签 16 字节 用来发现密码错误或任何改动

这样额外增加 45 字节。文本以 Base64 显示,所以像 “hello” 这样 5 字节的消息会产生 50 字节,也就是 68 个字符。文件则按字节原样保存,文件名先存放在加密部分的最前面(2 字节的长度,后面跟着 UTF-8 编码的名称),所以 .enc 文件会比原文件稍大一点。

由于盐和 Nonce 是随机的,用同一个密码对同一段文字加密两次,得到的结果不同,但两者都能正确解密。密钥由 PBKDF2 配合 HMAC-SHA256 派生,迭代 600,000 次,这是 OWASP 密码存储指南给这个函数的数值。

常见问题

忘记密码怎么办?

无法恢复。没有后门,任何人都无法重置密码。

密码要多强?

长度最重要。四个以上随机词语组成的口令,或 12 位以上随机字符,都很难被猜中,而且每次猜测都要经过缓慢的密钥派生。

能用其他软件解密吗?

使用的是标准的 AES-GCM 与 PBKDF2,但数据排列(版本、盐值、随机数、密文)是本工具自定义的,最方便的是在这里解密。

会上传到服务器吗?

不会。加密使用浏览器内置的 Web Crypto,文字和密码都不会离开你的设备。

隐私说明

本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。

相关工具