Php 三重des解密函数不工作
所以我一直在做这个函数,我不确定出了什么问题 我获得加密数据和密钥:Php 三重des解密函数不工作,php,encryption,mcrypt,3des,php-openssl,Php,Encryption,Mcrypt,3des,Php Openssl,所以我一直在做这个函数,我不确定出了什么问题 我获得加密数据和密钥: $key = 'aaaaaaaabbbbbbbbccccccccdddddddd'; $data = 'b5057bbc04b842a96144a0f617f2820e'; 我已经把它们转换成二进制: $key = pack('H*',$key); $data = pack('H*',$data); 并运行解密函数: echo bin2hex(mcrypt_decrypt(Mcrypt_3des, $key, $data,
$key = 'aaaaaaaabbbbbbbbccccccccdddddddd';
$data = 'b5057bbc04b842a96144a0f617f2820e';
我已经把它们转换成二进制:
$key = pack('H*',$key);
$data = pack('H*',$data);
并运行解密函数:
echo bin2hex(mcrypt_decrypt(Mcrypt_3des, $key, $data, MCRYPT_MODE_ECB));
$key = 'aaaaaaaabbbbbbbbccccccccdddddddd';
$key = pack('H*',$key);
// DATA
$data = 'b5057bbc04b842a96144a0f617f2820e';
$data = pack('H'.strlen($key),$data);
// DECRYPT OPEN SSL
$result = openssl_decrypt($data,'des-ede', $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING);
然而,我得到的结果是:e2119b734b505e3fa8717ee17f3a548
但是如果我在上面运行相同的解密
或
它实际上减少到546573743132330000
实际上是Test123123
有什么问题的建议吗
编辑:
我已尝试切换到openssl\u decrypt
然而,我一直得到一个虚假的回报
代码:
我能够使用open SSLs解密函数使其正常工作:
echo bin2hex(mcrypt_decrypt(Mcrypt_3des, $key, $data, MCRYPT_MODE_ECB));
$key = 'aaaaaaaabbbbbbbbccccccccdddddddd';
$key = pack('H*',$key);
// DATA
$data = 'b5057bbc04b842a96144a0f617f2820e';
$data = pack('H'.strlen($key),$data);
// DECRYPT OPEN SSL
$result = openssl_decrypt($data,'des-ede', $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING);
我能够使用open SSLs解密函数使其正常工作:
echo bin2hex(mcrypt_decrypt(Mcrypt_3des, $key, $data, MCRYPT_MODE_ECB));
$key = 'aaaaaaaabbbbbbbbccccccccdddddddd';
$key = pack('H*',$key);
// DATA
$data = 'b5057bbc04b842a96144a0f617f2820e';
$data = pack('H'.strlen($key),$data);
// DECRYPT OPEN SSL
$result = openssl_decrypt($data,'des-ede', $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING);
仅供参考,并可能从的未来版本中删除PHP@Machavity很高兴知道,有没有更新的功能我可以使用呢?你看到下面无数的警告说不要使用它吗?我觉得从来没有人这样做过!最好不要使用mcrypt,它是废弃软件,多年来没有更新过,不支持标准PKCS#7(née PKCS#5)填充,只支持非标准的空填充,甚至不能用于二进制数据。mcrypt在2003年就有很多杰出的作品。取而代之的是考虑使用或提供完整的解决方案,并保持正确,就像FYI一样,并且可以从未来版本中移除。PHP@Machavity很高兴知道,有没有更新的功能我可以使用呢?你看到下面无数的警告说不要使用它吗?我觉得从来没有人这样做过!最好不要使用mcrypt,它是废弃软件,多年来没有更新过,不支持标准PKCS#7(née PKCS#5)填充,只支持非标准的空填充,甚至不能用于二进制数据。mcrypt在2003年就有很多杰出的作品。取而代之的是考虑使用或提供完整的解决方案,并保持正确。