文本加密解密

文本加密解密是用一个口令把文字变成密文、只有知道口令的人才能还原的在线工具。本页用浏览器内置的 Web Crypto,把口令经 PBKDF2-SHA256 迭代 60 万次派生为密钥,再用 AES-256-GCM 加密,密文被改动或口令错误都会直接提示解密失败。也能解开 CryptoJS 生成的 U2FsdGVkX1 开头密文。全程本地处理,文字和口令不上传。

0 字 / 0 字节(UTF-8)

口令一旦输错,密文就再也解不开,所以要输两遍。没有「找回口令」这回事。

密文格式

加解密全部在浏览器本地用 Web Crypto 完成,文字和口令不上传、不保存;页面只记住你选的密文格式。把密文发给对方时,口令请通过另一个渠道告知。

如何使用文本加密解密

1

在「加密」模式输入要加密的文字,设置一个口令并在「确认口令」里再输一遍;口令越长越难被猜中,建议 12 位以上或用口令短语。

2

点「加密」得到 DTE1. 开头的密文,点「复制」发给对方,口令通过另一个渠道(电话、当面)告知;可先点「去解密验证」当场确认能解开。

3

对方打开本页切到「解密」,粘贴密文(折行、空格会自动忽略)并输入口令,点「解密」即可还原原文;口令不对或密文不完整会直接报错。

关于文本加密解密的常见问题

文本加密会把我的文字和口令上传到服务器吗?
不会。加密和解密都由浏览器内置的 Web Crypto 在你的设备上完成,文字、口令和密文都不经过网络,也不保存到本地存储;页面只记住你选的是标准格式还是兼容格式。关掉或刷新页面,输入的内容就全部清空。
同一段文字每次AES加密结果为什么不一样?
这是正常且更安全的设计。每次加密都会重新生成随机的盐和初始向量(IV),所以同样的文字、同样的口令,密文每次都不同,别人没法通过比对密文判断你是不是发了同一句话。这些随机值写在密文头部,解密时自动读出,每一份密文都能还原成同一段原文。
文本加密的口令忘了还能解密吗?
不能。本工具没有后门,也没有任何找回口令的途径,口令不会离开你的浏览器,本站同样解不开。所以加密时要输两遍口令,并建议把口令记在密码管理器里;想要既好记又足够强的口令,可以用口令短语生成器生成 5~6 个随机单词。
AES解密失败提示口令不正确怎么办?
先核对口令:大小写、首尾空格、全角半角都必须一模一样。再确认密文完整——聊天软件有时会截断长消息或把链接样的内容改掉,可以让对方用「下载 .txt」发文件。标准格式用 AES-GCM 认证加密,口令错和密文被改动都会被拒绝,但两者无法区分,所以提示里两种原因都会写上。
U2FsdGVkX1开头的AES密文怎么解密?
U2FsdGVkX1 开头的是 CryptoJS 和 OpenSSL 的 Salted__ 格式,直接粘到「解密」框即可,页面会自动识别为兼容格式。密钥派生会依次尝试 MD5(CryptoJS 与旧版 OpenSSL 的默认)和 SHA-256(OpenSSL 1.1 以后不加 -md 参数时的默认)。用 openssl enc 的 -pbkdf2 参数生成的密文,迭代次数不写在密文里,本页无法解密。
文本加密和Base64、MD5有什么区别?
Base64 只是编码,不需要任何口令,谁拿到都能还原;MD5 是哈希,只能算不能逆,本来就没有「解密」一说;文本加密是可逆的,但必须有正确的口令才能还原。所以想让别人看不懂又能让指定的人看懂,要用加密,不能用 Base64;想校验内容有没有被改,才用 MD5 或 SHA。
用文本加密发微信消息到底安不安全?
密文本身的强度取决于口令:标准格式用 PBKDF2 迭代 60 万次拖慢猜测,口令足够长时暴力猜解极不现实;口令太短(比如 6 位数字)则容易被猜中。另外口令一定要走另一个渠道告知,别和密文发在同一个聊天里。兼容格式只做了一次 MD5,强度弱,敏感内容请用标准格式。
手机浏览器里怎么给文字加密解密?
直接用手机浏览器打开本页即可,iOS Safari、安卓 Chrome 和微信内置浏览器都支持 Web Crypto,不用装 App。低端手机上派生密钥可能要一两秒,按钮会显示「正在派生密钥…」,稍等即可。需要通过 https 访问,旧版浏览器或 http 页面不提供 Web Crypto,页面会给出提示。

文本加密标准格式和兼容格式怎么选

默认用标准格式:它的密钥派生慢、有完整性校验,口令错会明确报错。只有对方用的是 CryptoJS 写的程序、或者要和 openssl enc 命令互通时,才选兼容格式;解密时不用选,页面按密文开头自动识别。

文本加密两种密文格式对照
对比项标准格式(推荐)兼容格式(CryptoJS / OpenSSL)
密文开头DTE1.U2FsdGVkX1
加密算法AES-256-GCM(认证加密)AES-256-CBC
密钥派生PBKDF2-SHA256 迭代 600,000 次EVP_BytesToKey,MD5 只算 1 次
完整性校验有:口令错或密文被改都会报错无:口令错时偶尔可能解出乱码
能否互通只能用本页解密CryptoJS.AES、openssl enc -aes-256-cbc
推荐场景给人发私密文字、保存备忘对接已有系统、解开 CryptoJS 密文

文本加密后的DTE1密文里有什么

标准格式的密文是自描述的:除了前缀,其余字节用 URL 安全的 Base64 编码,头部 37 字节整体作为 GCM 的附加认证数据,改动迭代次数、盐或 IV 的任何一位都会让解密失败,而不是悄悄用错参数。

DTE1 密文结构(按顺序排列)
字段长度说明
前缀5 字节固定为 DTE1.,用于识别格式与版本
迭代次数4 字节大端整数,默认 600,000
盐16 字节每次加密随机生成,参与密钥派生
IV12 字节每次加密随机生成的初始向量
密文与明文 UTF-8 字节数相同AES-256-GCM 加密后的正文
认证标签16 字节校验口令与密文完整性

文本加密后密文比原文长多少

标准格式的密文长度可以直接算出来:每份密文固定多出 48 字节(迭代次数、盐、IV 和认证标签),再按 Base64 每 3 字节变 4 个字符展开,最后加上 5 个字符的前缀。

  • 算例:「明天下午三点老地方见」共 10 个汉字,UTF-8 下是 30 字节;加上 48 字节固定开销共 78 字节,编码后约 109 个字符。
  • 短消息加密后会明显变长,但开销是固定的:原文越长,多出来的比例越小,长文大约是原文字节数的 4/3。
  • 单次最多加密 1 MB 文字。很长的密文在聊天软件里容易被折叠或截断,建议用「下载 .txt」以文件形式发送。

文本加密解密工具还有哪些叫法

这个文本加密工具也常被叫作文字加密、文字加密解密、在线文本加密、密码加密文字或口令加密:输入一段加密文字的原文,设一个口令,就得到 AES 加密后的密文;反过来粘贴密文、输入口令就是 AES 解密,也就是常说的密文解密。英文里搜 text encrypt、aes encrypt online 的,要的也是这种 AES 在线加密解密。标准格式采用 AES-256 加密(GCM 模式);遇到 U2FsdGVkX1 开头的串,同样可以在这里做 U2FsdGVkX1 解密,也就是 CryptoJS 解密。

只是想把文字转成看不懂的字符、又不需要保密,用 Base64 编码解码就够了;想校验文件或文字有没有被改动,用 MD5 在线计算或 SHA 在线计算。