Расшифровка с использованием openssl des-ede из командной строки с заполнением нулями и необработанными данными

Я пытаюсь воссоздать некоторый код openssl php в командной строке. Я был в состоянии заставить следующий код php работать:

$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

Ключ

Ключ, который я расшифровываю, это шестнадцатеричное значение: aaaaaaaabbbbbbbbccccccccdddddddd, Можно ли передать этот ключ в шестнадцатеричном виде?

Зашифрованные данные

Зашифрованные данные, которые я передаю в файле encrypted-data.txt, представляют собой шестнадцатеричное значение: b5057bbc04b842a96144a0f617f2820e, Данные должны расшифровываться до Test123123, Я попытался преобразовать зашифрованные данные в двоичный файл и передать его через файл .bin безуспешно. Должны ли эти данные быть преобразованы в какой-либо другой формат перед передачей?

Параметры

Я считаю, что у меня возникла проблема с переводом параметров PHP OPENSSL_RAW_DATA а также OPENSSL_ZERO_PADDING на мой вызов командной строки. Я обнаружил вариант -nopad, но я не уверен, что это эквивалентно опциям в php

0

Решение

Я включаю это только здесь, так как я не могу отформатировать комментарий, и этот вопрос, вероятно, следует закрыть и удалить. Это подтверждает, что процесс работает идентично с командной строкой openssl полезность

pvg /tmp ➤  more e.php
<?php
$data = 'b5057bbc04b842a96144a0f617f2820e';
$data = pack('H*',$data);

echo $data;
pvg /tmp ➤  php e.php > in
pvg /tmp ➤  openssl des-ede -in in -out out -d -K aaaaaaaabbbbbbbbccccccccdddddddd -nopad
pvg /tmp ➤  cat out
Test123123%
1

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

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

По вопросам рекламы [email protected]