php实现desede
PHP 实现 DES-EDE 加密
DES-EDE(Triple DES)是一种对称加密算法,通过对数据应用三次 DES 加密来增强安全性。PHP 通过 openssl 扩展支持 DES-EDE 加密。
加密示例代码
$data = "敏感数据";
$key = "123456789012345678901234"; // 24字节密钥
$iv = "12345678"; // 8字节初始化向量
$method = "DES-EDE3-CBC"; // 算法模式
$encrypted = openssl_encrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
$encryptedBase64 = base64_encode($encrypted);
echo "加密结果: " . $encryptedBase64;
解密示例代码
$encryptedBase64 = "..."; // 之前加密的结果
$encrypted = base64_decode($encryptedBase64);
$decrypted = openssl_decrypt($encrypted, $method, $key, OPENSSL_RAW_DATA, $iv);
echo "解密结果: " . $decrypted;
密钥和 IV 注意事项
DES-EDE3 需要 24 字节(192 位)密钥,即使实际只使用 168 位。IV 必须是 8 字节。
密钥生成建议:
$key = openssl_random_pseudo_bytes(24);
$iv = openssl_random_pseudo_bytes(8);
可用算法模式
PHP 支持的 DES-EDE 模式:
- DES-EDE3-CBC
- DES-EDE3-CFB
- DES-EDE3-OFB
- DES-EDE3-ECB(不推荐使用 ECB 模式)
安全性建议
DES-EDE 已逐渐被 AES 取代,如需更高安全性应考虑使用 AES-256。若必须使用 DES-EDE:
- 始终使用 CBC 等安全模式
- 每次加密使用随机 IV
- 妥善保管密钥
- 考虑添加消息认证码(MAC)防止篡改







