文件加密 BitCipher 使用文档
对应扩展 v2.2.0 · 更新于 2026-09-15
浏览器扩展。文本、文件在你电脑里本地加密,不联网、不建账号、不上传;密文自带还原信息,换台电脑、换个工具都能解。
安装
方式一:Chrome 网上应用店
在应用店页面点「添加至 Chrome」,以后自动更新。新版本提交后要经应用店审核,通常一两天内自动升级。
方式零:收件人不用安装
只是收到了别人发来的 .sdx 文件或 SDX: 密文?打开 shudun.bitbeam.cn/cipher/open,选文件、输口令即可,手机浏览器也行。解密在浏览器本地完成,文件不上传。
方式二:直接下载(最新 v2.2.0)
下载 bitcipher-v2.2.0.zip 45 KB
- 解压,得到一个文件夹。
- 打开
chrome://extensions/,右上角开启「开发者模式」。 - 把解压出来的文件夹拖进这个页面(或点「加载已解压的扩展程序」选中它)。
- 工具栏出现图标;点一下在侧边栏打开(Chrome 114 及以上),更早的版本自动回退为弹出窗口。
文本加密与解密
切到「文本」标签:
- 粘贴要加密的内容(任意长度)。
- 输入口令,或点刷新图标生成一个强口令,下方的四段条显示强度——记得把口令另行告诉收件人。
- 点「加密」,得到以
SDX:开头的一段密文,复制发出去即可。
解密就是反过来:粘贴 SDX: 密文,按钮自动变成「解密」,输入同一口令点一下即可。复制解密结果后 30 秒,剪贴板会自动清空。
网页上选中一段文字,右键「用 BitCipher 加密 / 解密选中文字」,它会直接送进侧边栏的文本页。
文件加密与解密
切到「文件」标签,拖入或选择文件,输入口令,点「加密」,另存为 .sdx 文件。选的是 .sdx 时按钮自动变成「解密」;一批里混着两种文件会被拦下,请分开处理。任意格式、任意大小,边读边加密,进度条是真实进度。
文件名和类型随内容一起加密,.sdx 从外面看不出里面是什么;解密时会按原名、原类型还原。默认输出名是「原名.sdx」,勾上「隐藏文件名」则输出 sdx-随机串.sdx——传网盘、走公共渠道时连文件名都不露,解密照样还原原名。
| 情形 | 行为 |
|---|---|
| 浏览器支持"另存为"流式写盘(桌面 Chrome 86+) | 不限大小,直接写到你选的位置 |
| 只能走普通下载 | 先在内存里组装再下载,上限 1 GB |
解密 .sdx | 选中文件、输入口令、点「解密」(自动识别),按原文件名另存 |
口令
口令是唯一的钥匙:我们没有、拿不到、也无法找回。忘了口令,密文就永远打不开——这是设计,不是缺陷。
- 内置生成器给出的口令足够强,建议直接用,并用密码管理器保存。
- 自己输的口令会实时估强度:按实际用到的字符种类算,重复、顺序(
1234、abcd)、常见口令会被压低。 - 口令与派生出的密钥只在本次操作的内存里存在,关掉侧边栏就没了;没有"记住口令"。
- 把口令和密文分开走两条路发给收件人(比如密文走邮件、口令走电话),不要放在一起。
命令行工具
随附的 sdx.py 与扩展读写同一种容器,用于服务器、脚本或没有浏览器的场景。写出的是当前版本容器,旧版本也能读。单文件,Python 3.8+。
下载 sdx.py 或 curl -O https://shudun.bitbeam.cn/cipher/sdx.py
# 依赖 pip install cryptography argon2-cffi # 文件 python3 sdx.py enc 合同.pdf -o 合同.pdf.sdx # 加密,不传 -p 会交互输入口令 python3 sdx.py dec 合同.pdf.sdx -o 合同.pdf # 解密 # 文本 python3 sdx.py enc-text "要加密的话" # 输出 SDX:… 密文 python3 sdx.py dec-text "SDX:..." # 输出明文 # 只看容器头,不需要口令 python3 sdx.py info 合同.pdf.sdx
| 参数 | 说明 |
|---|---|
-p / --password | 口令;不传则交互输入,也可用环境变量 SDX_PASSWORD(脚本里更方便,但会留在进程环境里,自己权衡) |
-o / --output | 输出路径;省略时按输入名推导 |
-f / --force | 覆盖已存在的输出文件 |
容器格式
密文是自描述的:还原所需的算法与参数都写在容器头里,并且容器头参与认证——改动头部任何一个字节,解密都会被拒。文件名不在头里,在加密的正文里。
[魔数 "SDX1" 4 字节][版本 0x02 1 字节][头长度 2 字节 小端][JSON 头部]
[块 1][块 2] … [末块]
头部 JSON:{ alg, kdf: { name: "argon2id", m, t, p }, salt, chunk, tag_len }
每块 = AES-256-GCM(明文块) || 16 字节认证标签,块大小 1 MiB
nonce = 3 字节 0 + 8 字节大端计数 + 1 字节末块标记
AAD = 从魔数到 JSON 头部的全部字节
明文流 = [u32 大端 元数据长][元数据 JSON { name, mime, size }][文件内容]
- 密钥由口令经 Argon2id 派生(64 MiB 内存、3 轮),抗 GPU 暴力破解;参数记录在头里,解密端按头里的参数派生,并对参数设了上限,防止恶意容器把机器拖死。
- 文本模式是同一容器再做 base64,前面加
SDX:标记。 - v1 容器(早期版本,单次加密、PBKDF2 派生)只读:能解,不再写出。
权限与隐私
扩展不发任何网络请求,断网照样用。只申请剪贴板权限:写入用于「复制结果」,读取只在自动清除前核对剪贴板里还是不是那段结果,不是就不动。
不收集、不存储、不传输任何用户数据:加密的内容、文件、口令、浏览记录都不会离开你的设备。完整口径见 隐私政策。
常见问题
忘了口令怎么办?
没有办法。口令不经过我们,也没有后门;这正是它可信的原因。请用密码管理器保存口令。
解密提示失败,但口令是对的
密文被改过(哪怕一个字符、少了一段、顺序变了)就会失败。文本模式常见的坑是聊天软件把长文本截断或自动换行,请让对方重新完整复制;文件模式请核对文件大小。
加密大文件很慢 / 中途停了
口令派生本身要用 64 MiB 内存跑 3 轮,这是刻意的,每次固定一两秒;之后按块加密,速度取决于磁盘。用侧边栏(Chrome 114+)而不是弹窗,切走窗口不会中断。
老版本加密的文件还能解吗?
能。容器带版本号,旧版本只读支持;新加密的内容使用当前版本。
能在手机上用吗?
扩展只能装在桌面 Chrome;需要在别的环境解密可以用命令行工具。
和"发送端加密"的网盘、聊天软件有什么不同?
它们在自己的应用里加密,数据仍进它们的服务器;这里的密文只是一段文本或一个文件,你拿去放哪都行,没有任何服务器参与。
版本
| 版本 | 变化 |
|---|---|
2.2.0 | 网页版解密器 /cipher/open/,收件人免安装、手机可用;「隐藏文件名」开关;右键菜单加解密选中文字;发布包附 SHA-256 |
2.1.0 | 界面重做;按内容自动判断加密还是解密,只剩一个按钮;口令强度四段条;深色模式跟随浏览器;界面中英双语跟随浏览器语言 |
2.0.0 | 容器升级为分块加密 + Argon2id 派生,文件不限大小、文件名随内容加密;侧边栏;口令强度估算;剪贴板 30 秒自清;随附命令行工具。旧文件仍可解密 |
1.x | 初版:单次加密、PBKDF2 派生,弹窗界面 |