PHP中的AES加密以在openssl中解密

Posted

技术标签:

【中文标题】PHP中的AES加密以在openssl中解密【英文标题】:AES Encrypt in PHP to decrypt in openssl 【发布时间】:2011-01-06 16:51:25 【问题描述】: set_include_path('./phpseclib0.2.1a'); //http://phpseclib.sourceforge.net/ 包括('Crypt/AES.php'); $plaintext = 'PLAINTEXT'; $aes = new Crypt_AES(CRYPT_AES_MODE_CBC); $aes->setKey('1234123412341234'); $ciphertext = $aes->加密($plaintext); $fp = fopen("ciphertextAES", "wb"); fwrite($fp, $密文); fclose($fp); -------------------------- openssl enc -aes-128-cbc -d -in ciphertextAES -out plaintext.txt -pass pass:1234123412341234 -nosalt 解密不好????????????????????? 3840:错误:06065064:数字信封例程:EVP_DecryptFinal_ex:解密错误:.\crypto\evp\evp_enc.c:466:

【问题讨论】:

那段代码有问题吗?你想做什么?请更具描述性,以便我们为您提供帮助。 【参考方案1】:
openssl enc -aes-128-cbc -e -in plaintext.txt -out ciphertext -nosalt -K AA
-iv AA -p

-p 向您显示正在使用的密钥和 IV:

key=AA000000000000000000000000000000
iv =AA000000000000000000000000000000

省略-K-iv 参数并改用-pass,您会发现密码和密钥根本不是一回事。无论是否使用-nosalt 选项都是如此。

【讨论】:

以上是关于PHP中的AES加密以在openssl中解密的主要内容,如果未能解决你的问题,请参考以下文章

php openssl aes-256-cbc key长度自动匹配了128的长度,为啥

PHP如何使用AES加密和解密

使用 OpenSSL/C++ 和 PHP/Mcrypt 的 AES-128-CBC 加密:仅解密第一个块

QT:AES-256-CBC 根据 PHP 代码在 C++ 中加密/解密

PHP对称加密-AES

PHP的aes加解密算法