DES/3DES在线加密/解密
经典对称加密算法工具,支持文本和文件,即时进行加解密运算
64 bit (8 bytes)
关于 DES/3DES
DES (Data Encryption Standard) 是一种对称密钥加密块密码算法。由于密钥较短(56位有效),它现在被认为是不安全的。3DES (Triple DES) 将 DES 算法应用三次,通过增加密钥长度(112或168位)来提高安全性,但在现代应用中已被 AES 取代。
虽然不再推荐用于新系统,但 DES/3DES 在许多遗留系统中仍广泛使用。
主要特性
- 支持 DES 和 3DES (TripleDES) 两种算法。
- 支持 CBC, ECB, CTR, CFB, OFB 等多种工作模式。
- 完全本地处理:所有计算都在浏览器中进行,数据不会发送到服务器。
- 支持文本和文件的加密解密,如果不指定IV则使用Hex/Base64格式自定义输入。
工作模式简介
- CBC (Cipher Block Chaining): 最常用的模式,需要IV,具有良好的安全性。
- ECB (Electronic Codebook): 最简单的模式,不需要IV,但不安全(相同的明文块产生相同的密文块),不建议使用。
- CTR (Counter): 将块密码变为流密码,支持并行计算。
- CFB (Cipher Feedback): 类似于自同步流密码。
- OFB (Output Feedback): 将块密码变为同步流密码。
DES vs 3DES对比
| 算法 | 密钥长度 | 分组大小 | 安全性 | 速度 | 建议 |
|---|---|---|---|---|---|
| DES | 56位 (8字节) | 64位 | 低 - 可被暴力破解 | 快 | 仅用于传统系统兼容 |
| 3DES-2Key | 112位 (16字节) | 64位 | 中等 | 中等 | 推荐用于传统系统 |
| 3DES-3Key | 168位 (24字节) | 64位 | 较高 | 较慢 (3倍DES) | 推荐用于传统系统 |
安全提示
- DES 已被破解,仅用于学习或兼容旧系统。3DES 安全性尚可但效率较低。
- 对于加密敏感数据,强烈推荐使用 AES 算法。
- 密钥和 IV 是解密的关键,请通过安全渠道传输。
- 避免使用 ECB 模式,除非你非常清楚自己在做什么。
- 每次加密应使用随机生成的唯一 IV。
应用场景
- 维护和调试遗留的金融系统或支付接口
- 解密旧数据库中的加密字段
- 学习对称加密算法原理
- 简易数据的快速混淆
常见问题
DES 和 3DES 有什么区别?
DES 使用 56 位密钥,容易被暴力破解。3DES 使用三个 56 位密钥(可以是 2 个或 3 个不同的),对数据进行三次 DES 加密/解密操作,安全性更高,但速度较慢。
为什么解密出来是乱码?
这通常是因为:1. 密钥或 IV 错误;2. 工作模式(如 CBC/ECB)不匹配;3. 填充方式(如 Pkcs7/ZeroPadding)不匹配;4. 密文编码格式(Hex/Base64)选错了。
ECB 模式为什么不需要 IV?
ECB 模式将数据分成独立的块分别加密,各块之间没有关联,因此不需要初始化向量(IV)。但也正因如此,它无法隐藏明文的数据模式。
我该选择什么填充方式?
现代通用标准是 Pkcs7(在 Java 中常被称为 PKCS5Padding)。ZeroPadding 用 0 填充,可能导致解密后末尾多出空字节。NoPadding 要求数据长度必须是块大小的整数倍。
此工具可以解密任何 DES 文件吗?
只有当您拥有正确的密钥(以及 IV、模式、填充方式都已知且正确)时,才能解密。