文本加密与解密,免费
100% 在您浏览器中运行的 AES-256-GCM 加密。
使用 Web Crypto API 的 AES-256-GCM。每次加密都会生成 96 位随机 IV 和 128 位盐。密码通过 PBKDF2(100,000 次迭代,SHA-256)派生。
使用方法
- 选择加密或解密模式。
- 输入您的文本和密码。
- 点击操作按钮 · 结果将显示在下方。
- 解密时,粘贴加密输出并使用相同的密码。
常见问题
此加密安全吗?
是的。AES-256-GCM 是军用级加密。结合 PBKDF2 密钥派生(10 万次迭代),它提供强大保护。不过安全性取决于您密码的强度。
你们能恢复我的密码吗?
不能。一切都在您的浏览器中运行。我们从不看到您的文本或密码。如果您忘记密码,加密后的文本将无法恢复。
输出的格式是什么?
加密输出是一个 Base64 字符串,包含盐、IV 和密文。只需将其粘贴回工具即可解密。
点击加密时实际发生了什么
像AES这样的对称密码使用相同的密钥进行加密和解密。这意味着持有密钥的人既能锁定也能解锁数据,因此使用对称加密的全部挑战归结为一个问题:发送方和接收方如何在不泄露密钥的情况下共享它?本工具的答案是「由您自行处理」,即通过另一个可信渠道协商好密码,然后双方在此粘贴相同的字符串。
在幕后,本工具通过浏览器原生Web Crypto API执行四个步骤:
- 将密码扩展为密钥。密码是一个短而低熵的字符串;AES-256密钥则是32字节的高熵随机数据。本工具将您的密码送入PBKDF2-HMAC-SHA-256(100,000次迭代)(详见RFC 8018),并附加一个128位随机盐值。盐值使每次加密即使复用相同密码也会产生不同的密钥,从而消除彩虹表攻击。迭代次数则在每次猜测的基础上减慢暴力破解速度。
- 生成新鲜的nonce。通过
crypto.getRandomValues创建一个96位随机IV(NIST推荐的AES-GCM长度):这与浏览器用于TLS的密码学安全随机数来源相同。 - 用AES-256-GCM加密。明文被编码为UTF-8字节,并通过Galois/计数器模式下的AES-256处理,生成密文和一个128位认证标签。
- 打包并进行Base64编码。盐值、IV和密文+标签被拼接成一个二进制数据块,并进行Base64编码,以便通过电子邮件、聊天或任何其他期望ASCII的渠道安全传输。
为什么特别选用AES-256-GCM
AES(高级加密标准)是NIST于2000年通过公开竞赛从15个候选方案中选出的对称密码。获胜设计是比利时密码学家Joan Daemen和Vincent Rijmen的Rijndael,于2001年11月26日正式成为FIPS PUB 197。NIST批准三种密钥长度(128、192、256位),NSA批准全部三种用于SECRET级数据,AES-256还被批准用于TOP SECRET级。经过二十余年的公开审查,目前仍无任何针对正确实现的AES的实用攻击手段,密码本身几乎无法被破解,因此安全论证完全转移到了密钥管理和密码强度上。
像AES这样的分组密码只能加密一个固定大小的128位块,因此任何真实消息都需要一种运行模式将各块组合在一起。运行模式与密码本身同等重要。臭名昭著的旧默认模式ECB:独立加密每个块,这会泄露模式;著名的「ECB企鹅」(加密后仍然可辨认的Tux图像)是标准的警示案例。许多旧式在线「AES」工具仍使用ECB;本工具不使用。
GCM(Galois/计数器模式),由McGrew和Viega设计,并由NIST在SP 800-38D(2007年11月)中标准化,将计数器模式加密与Galois域认证标签相结合。这是一种AEAD模式(关联数据认证加密),意味着在单次操作中同时提供机密性与完整性。如果加密输出中有一个字节被翻转,解密会报错而不是返回乱码明文。TLS 1.2和TLS 1.3也使用此模式,是现代互联网密码学真正的核心模式。
密码不是密钥
AES-256密钥是32字节均匀随机数。用户的密码(即使是强密码)也很短,基本上是可打印ASCII字符,并且集中于字典模式。不能直接将密码送入AES而不经过处理。这个处理就是基于密码的密钥派生函数(KDF)。PBKDF2、scrypt和Argon2是现代代码中常见的三种:
- PBKDF2(RFC 8018),最早的KDF。多次迭代HMAC伪随机函数。在CPU上速度快,但不具备内存困难性:GPU和ASIC破解PBKDF2哈希的速度远比迭代次数在普通计算机上所暗示的快。本工具使用PBKDF2是因为它是Web Crypto API原生支持的唯一密码KDF,Argon2和scrypt需要额外引入JavaScript或WebAssembly。
- scrypt(RFC 7914,2016年,Colin Percival著)增加了内存困难性:强制攻击者为每次猜测分配大块RAM,从而击败廉价并行硬件。
- Argon2id(RFC 9106,2021年),2015年密码哈希竞赛的获胜者;OWASP目前的首选推荐。具备内存困难性,抗侧信道攻击。
诚实的警告:100,000次PBKDF2迭代远高于RFC最初规定的1,000次下限,但低于OWASP目前针对PBKDF2-SHA-256的2026年指导值600,000次。权衡点是低端手机上的加密时间:在600,000次迭代下,在预算有限的Android设备上派生密钥会产生明显的延迟。对于高风险的长期秘密,请选择更长的密码来弥补,或使用通常采用更强Argon2id参数的专用密码管理器。
盐值与IV:看似相似,作用不同
- 盐值是密钥派生的输入。它使每次加密的密码→密钥映射唯一,因此即使密文被盗,攻击者也无法通过常用密码密钥的预计算表进行破解。盐值不需要保密,只需唯一且不可预测。
- IV / nonce是密码模式的输入。对于AES-GCM而言,它是96位计数器的起始点。每个(密钥,消息)对的IV必须唯一;在GCM中复用IV会造成灾难性后果,攻击者可借此恢复GHASH密钥并伪造任意密文。本工具在每次加密时通过
crypto.getRandomValues生成新的随机IV,从而规避这一风险。
何时使用,何时不用
适用场景:
- 您需要通过不可信渠道(电子邮件、Slack、SMS、笔记应用)分享一条私密消息,并且您有一个独立的可信渠道(电话、面对面会面、Signal聊天)可以传递密码。
- 您希望在将片段粘贴到云文档或笔记应用前进行本地加密,这样即使提供商遭到攻击,内容也无法被读取。
- 您需要在与已口头约定密码的合作伙伴的工作流程中附上一个「密封信封」。
不适用场景:
- 您和接收方没有预共享密钥,也没有带外渠道。通过与密文相同的渠道发送密码毫无意义,能读取密文的人也能读取密码。这是公钥密码学所要解决的经典鸡蛋先后问题。
- 您需要前向保密。Signal和TLS 1.3为每个会话生成不同的临时密钥,因此今天的泄露不会暴露过去的消息。单一固定密码具有相反的特性:任何知道密码的人都可以解密您用它加密过的每一条消息。
- 您需要证明是谁进行了加密。AES与共享密码只能证明持有密码,而非证明身份。如需数字签名,请使用PGP、age或S/MIME。
- 您在大规模或为多个接收方加密。每位接收方都需要单独共享密码,且轮换很繁琐。非对称工具(age、PGP)和Signal式密钥服务器能更好地处理这种情况。
一个有用的思维模型:使用密码的AES加密相当于行李箱密码锁结合电话分享密码的数字版本。只要您能信任那个电话,它就能完美运作。它不能替代Signal等端对端加密通讯,后者通过双棘轮协议自动完成密钥交换并提供前向保密。
「足够强」的密码意味着什么?
由于密码本身无法被破解,整个方案的安全性完全取决于您的密码。相关数学原理是熵:H = L × log₂(N),其中L为长度,N为随机抽取的字符集大小。示例:
- 8个随机小写字母 → 约37位。在现代GPU上数小时内可破解。
- 8个大小写混合字符加数字和符号 → 约52位。以现代速度需数小时到数天。
- 12个大小写混合字符加数字和符号 → 约79位。在可预见的未来超出实际攻击预算。
- 从7,776词Diceware列表中随机抽取六个单词 → 约78位。安全性与12个随机字符大致相同,但记忆难度大大降低。
人为选择的密码通常弱得多:NIST指南引用的研究估计平均熵约为40位,这正是字典攻击比纯暴力破解更有效的原因。NIST SP 800-63B对记忆型密码的建议:最少8个字符,至少允许64个,不强制设定构成规则(这会让用户养成可预测的模式,如Password1!),不要求定期更换,并对照已知泄露密码列表筛查。目标是「长、易记、从未出现在数据泄露中」。一个由四到六个随机单词组成、您真正能记住的密码短语,胜过任何扭曲的8字符「复杂」密码。
与其他加密工具的对比
- TLS / HTTPS加密您与服务器之间的传输过程。数据到达服务器后,服务器本身可以读取一切。解决了窃听问题,但解决不了服务器本身的问题。
- Signal / WhatsApp / iMessage提供完整的端到端加密,具有自动密钥交换和前向保密。两个问题都能解决,但双方需要使用同一应用程序。
- PGP / age使用非对称加密,无需事先共享密钥即可加密到某人已公布的公钥。解决了密钥分发问题,但历来使用繁琐;
age是现代简约替代方案。 - 操作系统级磁盘加密(FileVault、BitLocker、LUKS)使用AES-XTS对单台设备上的静态数据加密。威胁模型不同:防范设备被盗,而非防范网络拦截。
- 密码管理器使用AES-GCM(或类似算法)与强KDF(目前通常是Argon2id),在加密保险库内工作,通过无法读取密文的厂商后端同步。
基于密码的文本加密工具是这一家族中最基础的成员,是不涉及身份、传输或存储的纯密码学工具。这种简约性正是其吸引力所在:当您明确只需要AES-256加上密码、不需要其他任何东西时,它就是正确的工具。
更多问题
这是端到端加密吗?
从某种意义上说是的,加密完全在您的浏览器中发生,Absolutool永远看不到明文或密码。但从Signal等即时通讯产品所使用的严格意义上说,不是:Signal还提供了自动非对称密钥交换和身份绑定,因此用户无需通过独立可信渠道共享密码。本工具完成了加密部分,但没有这些附加功能,这也是密码移交责任由您承担的原因。
有「忘记密码」找回功能吗?
没有,这是刻意设计的。本工具从不查看您的密码,也从不存储任何内容。如果您丢失了密码,加密文本将无法恢复。请将密码保存在密码管理器中,或将其写在某个实体介质上。
为什么加密输出看起来像随机的Base64?
因为它本来就是。盐值、IV和密文加认证标签被拼接成一个二进制数据块,并进行Base64编码,使结果能安全通过期望可打印ASCII的系统(电子邮件、JSON、查询字符串)传输。解密时需要这三个组件,这就是它们被打包在一起的原因:当您粘贴数据块时,本工具会重新提取它们。
AES-256在任何地方违法吗?
截至2026年,大众市场密码学在全球几乎所有面向消费者的产品中基本合法。美国1990年代的「密码战争」以《行政令13026》(1996年)和2000年大众市场放开而结束。特定禁运目的地(伊朗、朝鲜、叙利亚、古巴)以及少数对强密码学有自身进口或使用限制的国家(包括中国、俄罗斯、越南和沙特阿拉伯)仍值得在当地使用前核查当地法律。
有任何内容发送到服务器吗?
没有。Web Crypto API在浏览器中原生运行;crypto.subtle调用的是浏览器用于TLS的同一加密库(Chrome上的BoringSSL、Firefox上的NSS、Safari上的CommonCrypto)。任何内容均不离开您的设备。此页面还需要HTTPS,这由浏览器强制执行,Web Crypto仅在安全上下文中可用,以防止网络攻击者在JavaScript运行前替换它。