Toolonit
  1. 首页
  2. 加密
  3. 加密 / 解密
  4. DES

DES 加密与解密

使用单 DES 解密或加密旧数据。

按现在的标准,DES 已不够安全——可用来读取旧数据;新数据请使用 AES 或 ChaCha20。 前往 AES

加密方式

解密时还需要这个密码。输入的任何内容都不会离开本页。

PBKDF2 迭代次数

OpenSSL 的默认值是 10,000。任何次数都可以:次数越多,密码越难猜;解密时必须使用相同的次数。

模式

使用 OpenSSL 时的常用选择。需要 IV;填充为完整的分组。

输出格式
OpenSSL 等效命令
openssl enc -des-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider default

OpenSSL 会提示输入密码;把文本粘贴进去,或加上 -in 和 -out 文件。

DES 即 1977 年发布的数据加密标准(Data Encryption Standard),它以 8 字节为一组加密,密钥 64 位,其中只有 56 位有效,另外 8 位是奇偶校验位。DES 早已能被暴力破解,但旧文件、配置和数据库中仍保存着 DES 加密的值,本页可以读写这些数据:默认 CBC 模式,也可选 ECB、CFB、OFB 或 CTR,可以使用 openssl enc -pbkdf2 格式的密码,或 16 个 hex 字符的密钥和 IV。用它恢复旧数据后,请再用 AES 重新加密。一切都在浏览器中运行:数据及其密钥不会离开你的设备;免费,无需注册。

如何解密 DES 加密的文本

  1. 选择“解密”后粘贴 Base64 或 hex 文本,格式会自动识别;也可以选择“加密”并输入文本。
  2. 输入密码,或切换到“密钥和 IV(hex)”,输入 16 个 hex 字符的密钥和 16 个 hex 字符的 IV(ECB 没有 IV)。
  3. 选择数据加密时所用的模式,通常是 CBC 或 ECB。只有当数据加密时没有使用 PKCS#7 填充,才打开“无填充”。
  4. 复制或下载结果;不是文本的字节会以 hex 显示。

功能

  • 64 位密钥的单 DES:56 位密钥位加 8 位奇偶校验位
  • CBC、ECB、CFB、OFB、CTR 模式;PKCS#7 填充或不填充
  • openssl enc -pbkdf2 格式的密码模式,PBKDF2 迭代次数不限
  • 密钥和 IV 模式:16 个 hex 字符的密钥和 IV,可手动输入或自动生成
  • 给出实现相同操作的 openssl 命令,使用 OpenSSL 3 的 legacy provider
  • 自动识别 Base64 或 hex 输入;非文本结果以 hex 显示,并可按字节下载

隐私安全吗?

是的。DES 在浏览器内的 WebAssembly 中运行,你解密的旧数据及其密钥或密码不会上传,也不会保存在任何地方。

常见问题

DES 加密安全吗?

不安全。56 位的密钥可以靠穷举所有可能找出:1998 年一台专用机器就做到了,如今的成本更是低得多。只在读取已经用 DES 加密的数据时使用它,然后用 AES 或 ChaCha20 重新加密。

为什么 OpenSSL 提示“Error setting cipher DES-CBC”?

因为 OpenSSL 3 把 DES 移到了默认不加载的 legacy provider 中。加载它即可:echo 'U2FsdGVkX1…' | openssl enc -d -des-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider default。其他模式用 -des-ecb、-des-cfb 或 -des-ofb(OpenSSL 没有 DES 的 CTR 模式);密钥和 IV 模式下用 -K <16 个 hex 字符> -iv <16 个 hex 字符> 代替 -pbkdf2 -iter。

DES 密钥是什么样的?

8 个字节,写成 16 个 hex 字符。每个字节的最低位是 DES 会忽略的奇偶校验位,所以仅在这些位上不同的密钥,解密结果完全相同。IV 也是 8 字节;ECB 不使用 IV。在密码模式下,两者都从密码派生,你无需提供。

DES 和三重 DES 有什么区别?

三重 DES 用三个密钥把 DES 运行三次——192 位密钥,实际强度约 112 位——这也是它比 DES 用得更久的原因。单 DES 只有一个 56 位密钥,可以被暴力破解。如果你的密钥长 16 或 24 字节,数据就是三重 DES 加密的,请使用三重 DES 页面。

为什么得到的是无法阅读的文本?

因为某项设置与加密时不同:密码或密钥、迭代次数、模式或填充。在 CFB、OFB 和 CTR 模式下,DES 无法察觉设置不符,会返回随机字节,页面以 hex 显示;在 CBC 和 ECB 模式下,设置不符通常会直接报错。

相关工具