Итак, я работал над этой функцией, и я не уверен, что случилось.Функция тройного дешифрования не работает
Я получаю зашифрованные данные и ключ:
$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
Это фактически decrpyts к 54 65 73 74 31 32 33 31 32 33 00 00 00 00 00 00
, который на самом деле Test123123
Любые предложения того, что может быть проблема?
EDIT:
Я попытался переключиться на openssl_decrypt
Однако я получаю ложные вернулся.
Код:
$result = openssl_decrypt($data,'des-ede3', $key);
result = bool(false)
Подобно тому, как FYI, [Mcrypt мертвый проект] (https: // блог .remirepo.net/post/2015/07/07/About-libmcrypt-and-php-mcrypt) и может быть удалена из будущей версии PHP – Machavity
@Machavity Хорошо знать, будут ли какие-либо новые функции, которые я мог бы использовать вместо этого используется? – Derek
https://secure.php.net/openssl_decrypt – Narf