PHP:OpenSSL 等价于 mcrypt:MCRYPT_3DES?

Posted

技术标签:

【中文标题】PHP:OpenSSL 等价于 mcrypt:MCRYPT_3DES?【英文标题】:PHP : OpenSSL equivilent of mcrypt : MCRYPT_3DES? 【发布时间】:2013-08-08 18:01:33 【问题描述】:

我们想将我们对 mcrypt 的使用转换为 openssl。

这是我们的加密函数:

mcrypt_ecb(MCRYPT_3DES,$key,$payload,MCRYPT_ENCRYPT)

这是我们的解密函数:

mcrypt_ecb(MCRYPT_3DES,$key,$payload,MCRYPT_DECRYPT)

上面的 openssl_* 等价物是什么?

谢谢。

【问题讨论】:

【参考方案1】:

我认为您正在寻找以EVP_des_ede3 作为密码的EVP_Encrypt... 函数(尽管您确实应该使用CBC 模式而不是ECB)。

https://www.openssl.org/docs/crypto/EVP_EncryptInit.html#

如果有帮助,我在https://github.com/shanet/Crypto-Example 有一个用 C++ 编写的 AES 简短示例。将其转换为使用三重 DES 应该很简单。

【讨论】:

以上是关于PHP:OpenSSL 等价于 mcrypt:MCRYPT_3DES?的主要内容,如果未能解决你的问题,请参考以下文章

PHP的Mcrypt加密扩展知识了解

PHP的Mcrypt加密扩展知识了解

将 Mcrypt RC4 转换为 PHP-OpenSSL

php升级到7.+之后openssl替代mcrypt实现解密

PHP 将 mcrypt 转换为 openssl

PHP 使用 openssl 解密数据(使用 mcrypt 加密)