三重des解密功能不起作用

Triple des decryption function not working

所以我一直在处理这个功能,但我不确定哪里出了问题。

我得到加密数据和密钥:

$key = 'aaaaaaaabbbbbbbbccccccccdddddddd';
$data = 'b5057bbc04b842a96144a0f617f2820e';

我已经把它们转换成二进制了:

$key = pack('H*',$key);
$data = pack('H*',$data);

和运行解密函数:

echo bin2hex(mcrypt_decrypt(Mcrypt_3des, $key, $data, MCRYPT_MODE_ECB));

但是我得到的返回是这样的:e2119b734b5050e3fa8717ee17f3a548

但是如果我运行在http://tripledes.online-domain-tools.com/上进行同样的解密 或 http://www.emvlab.org/descalc/?key=aaaaaaaabbbbbbbbccccccccdddddddd&iv=0000000000000000&input=b5057bbc04b842a96144a0f617f2820e&mode=ecb&action=Decrypt&output=54657374313233313233000000000000

实际上解密为 54 65 73 74 31 32 33 31 32 33 00 00 00 00 00 00

实际上是 Test123123

有什么问题的建议吗?

编辑:

我试过切换到 openssl_decrypt

但是我总是收到错误的返回。

代码:

$result = openssl_decrypt($data,'des-ede3', $key);
result = bool(false)

我能够使用开放的 SSL 解密功能让它工作:

$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);