Я постараюсь сделать это максимально сжатым.
Я хочу иметь возможность шифровать и дешифровать простые строки с помощью OpenSSL, которые я сделал раньше.
ОДНАКО, должны выполняться следующие условия:
- Использование простой фразы (без ключей)
- Нет файлов ввода/вывода
- Не запрашивать парольную фразу (укажите параметры командной строки для любого направления)
Я там 50%. Я могу успешно выполнить ENCRYPTION с помощью:
echo 'someTextIWantToEncrypt' | openssl enc -e -aes-256-cbc -nosalt -pass pass:mySecretPass
Выходной результат:
(??b}n??v???>??G??.?B??~?
Хорошо, отлично. Теперь я хочу DECRYPT эту строку. Поэтому я:
echo -n '(??b}n??v???>??G??.?B??~?' | openssl enc -d -aes-256-cbc -pass pass:mySecretPass
или даже в качестве альтернативы:
openssl enc -d -aes-256-cbc -pass pass:mySecretPass <<< '(??b}n??v???>??G??.?B??~?'
Но я получаю этот ответ:
bad magic number
Хотя я не хочу использовать файлы ввода/вывода, этот метод работает 100%:
# encrypt to file
echo -n 'someTextIWantToEncrypt' | openssl enc -e -nosalt -out test.txt -aes-256-cbc -pass pass:mySecretPass
# decrypt from file
openssl enc -d -nosalt -in test.txt -aes-256-cbc -pass pass:mySecretPass
# result of decryption (is successful):
someTextIWantToEncrypt
Итак... как я могу достичь вышеупомянутого процесса дешифрования без, используя файлы ввода/вывода вообще? Я чувствую, что я рядом, но не хватает некоторых мелких деталей.
Спасибо заранее.