Тройная функция дешифрования не работает

Так что я работал над этой функцией, и я не уверен, что не так.

Я получаю зашифрованные данные и ключ:

$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&вход = b5057bbc04b842a96144a0f617f2820e&Режим = ECB&действие = Расшифровать&Выход = 54657374313233313233000000000000

Это на самом деле decrpyts к 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)

1

Решение

Я смог заставить его работать с помощью функции расшифровки открытых 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);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector