Я пытаюсь воссоздать некоторый PHP-код openssl в командной строке. Я был в состоянии получить следующий код PHP для работы:Расшифровка с помощью openssl des-ede из командной строки с нулевым заполнением и необработанными данными
$key = 'aaaaaaaabbbbbbbbccccccccdddddddd';
$key = pack('H*',$key);
$data = 'b5057bbc04b842a96144a0f617f2820e';
$data = pack('H*',$data);
$result = openssl_decrypt($data,'des-ede', $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING);
Команда, которую я сейчас работаю (Ubuntu)
openssl des-ede -in encrypted-data.txt -out decrypted-data.txt -d -K aaaaaaaabbbbbbbbccccccccdddddddd -nopad
Ключ
ключ, который im decrypting with имеет шестнадцатеричное значение: aaaaaaaabbbbbbbbccccccccdddddddd
. Может ли этот ключ быть передан как шестнадцатеричный?
Зашифрованные данные
Зашифрованные данные я передаю в зашифрованы-data.txt файл является шестнадцатеричное значение: b5057bbc04b842a96144a0f617f2820e
. Данные должны дешифровать до Test123123
. Я попытался преобразовать зашифрованные данные в двоичный файл и передать его через .bin-файл без успеха. Должны ли эти данные быть преобразованы в какой-либо другой формат перед передачей?
Параметры,
Я считаю, что я имею вопрос перевода параметров PHP OPENSSL_RAW_DATA
и OPENSSL_ZERO_PADDING
моей командной строки вызова. Я обнаружил опцию -nopad
, но я не уверен, если она эквивалентна параметрам в php
Это прекрасно работает. Ключ в вашем примере - это просто неправильно. – pvg
@pvg Вы имеете в виду, что ключ должен быть в другом формате? Я могу расшифровать данные с помощью этого ключа в php. – Tony
Нет. Я имею в виду, что вы буквально набрали неправильный характер. У вас есть опечатка. Вырезать и вставить ключ из PHP-кода. – pvg