DES 解密(旧版)
解密旧版 DES 密文:使用口令的 OpenSSL des-cbc Salted__ 数据,或使用 8 字节十六进制密钥和 IV 的原始数据。填充在本地校验。
输出为 Base64 编码的 OpenSSL “Salted__” 格式:8 字节随机盐后接密文。密钥和 IV 由口令和盐派生,因此同一段文本每次加密结果都不同。等效命令:
openssl enc -des-cbc -d -md md5 -a -A -provider legacy -provider default -k '…'完全在浏览器中运行,您的数据不会被上传。
什么是 DES 解密?
解密用单重 DES 加密的数据——例如旧系统的文件,或用 openssl enc -des-cbc 生成的值。它接受使用口令的 OpenSSL Salted__ Base64 格式,或使用十六进制密钥和 IV 的原始密文。
如何使用 DES 解密
- 选择与加密时相同的密钥来源:对于
U2FsdGVkX1…("Salted__")数据选择口令(兼容 OpenSSL),对于原始密文选择原始密钥 + IV(十六进制)。 - 输入口令(以及相同的密钥派生方式),或输入十六进制密钥和 IV。
- 设置与发送方相同的模式和填充,并粘贴密文(Base64 或 Hex)。
- 点击解密。输出保持为文本 (UTF-8),如果明文是二进制,则切换为 Hex。
示例
U2FsdGVkX18BAgMEBQYHCJnMd6AFlnrJQetke2YRwuM= (passphrase "secret", CBC, EVP_BytesToKey MD5)
Hello, World!
由 openssl enc -des-cbc -md md5 -k secret -S 0102030405060708 -a 生成。
何时使用 DES 解密
用于从遗留系统中恢复数据,或检查 DES 测试向量。解密之后,任何值得保留的数据都应使用 AES 重新加密。
DES 解密 的工作原理
对于 Salted__ 输入,盐从第 8–16 字节读取,8 字节的密钥和 IV 由口令重新派生(EVP_BytesToKey MD5 或 PBKDF2-SHA256)。原始输入则用你提供的 8 字节密钥和 IV 解密。在 CBC 和 ECB 中会检查 PKCS#7 填充,因此密钥错误时会给出明确的错误提示。
常见用例
- 读取旧的 DES 加密配置或导出文件
- 验证 DES 已知答案测试
- 调试仍在使用 DES-CBC 的遗留集成
- 把 DES 加密的值迁移到 AES
安全提示
DES 使用 56 位密钥,在普通硬件上几小时内就能被暴力破解。请仅用此工具读取或复现遗留数据;切勿用 DES 加密新数据。
常见问题
解密失败并提示“填充无效”,为什么?
密钥、IV 或模式不匹配,或者数据根本不是 DES(可能是同样使用 8 字节分组的 3DES)。如果密钥是 16 或 24 字节,请试试 Triple DES 解密工具。
工具能暴力破解丢失的 DES 密钥吗?
不能。它只会用你提供的密钥或口令解密。
哪个 OpenSSL 命令能解密同样的数据?
openssl enc -d -des-cbc -md md5 -a -A -provider legacy -provider default -k <passphrase>——页面会显示与你的设置对应的命令。