AES 加密解密

AES-GCM/CBC 文本加解密,口令 PBKDF2 派生,密文自描述、可离线解密。

配置文件里想存一段不让人一眼看懂的连接串,两个设备之间要传一条私密笔记——对称加密的标准答案是 AES,但「用对」的细节比算法本身更容易出错:密钥要怎么从口令来、IV 要不要随机、CBC 为什么可能被篡改而不被发现。本工具把这些细节做对并摊开给你看。

加密流程:口令经 PBKDF2-HMAC-SHA256 十五万次迭代派生出 256 位密钥,盐与 IV 每次加密随机生成,密文按自描述格式打包(AES1 文件头 + 版本 + 模式 + 盐 + IV + 密文)再转 Base64。解密时从文件头读回参数——你只需要记住口令,不需要记录任何加密参数。GCM 模式自带完整性认证,密文被改动一个字节都解不出来。

GCM 与 CBC 怎么选

GCM 是认证加密:解密时校验密文完整性,被篡改直接失败,这也是 TLS 1.3 只允许 GCM 家族的原因,默认选它。CBC 只保密不防篡改,且填充预言机一类的历史漏洞都出在 CBC 的使用不当上——仅在与只支持 CBC 的旧系统对接时使用。

口令与密钥的关系

AES 需要的是 256 位随机密钥,而人的口令熵远低于此。PBKDF2 通过大量迭代抬高暴力破解的成本(每次猜测都要做十五万次哈希),盐保证相同口令在不同密文下派生出不同密钥。代价是加密与解密都要等一小会儿——这是安全性的价格,不是性能 bug。

常见问题

忘记口令能找回数据吗?
不能。密钥只由口令派生,没有任何后门或存储。这是特性不是缺陷:拿到密文的人(包括我们自己)没有口令就读不出内容。
本工具加密的结果能在别处解密吗?
能。密文格式是自描述的(头 + 盐 + IV + 密文),任何按标准实现 PBKDF2-SHA256(150000 次)+ AES-GCM/CBC 的工具都能解。OpenSSL 命令行亦可,格式文档在本页说明里。
适合加密多大的内容?
文本与小型配置文件。浏览器内存决定上限,几 MB 以内没有压力;大文件加密不是浏览器工具的定位。

相关工具