Как передать строку (не файл) в openssl?

Я хочу зашифровать группу строк с помощью openssl. Как передать открытый текст в консоли на openssl (вместо указания входного файла с открытым текстом).

В man-странице openssl есть только эти два параметра, связанные с вводом / выводом:

-in <file> input file -out <file> output file 

Вот что я пробовал до сих пор:

Это прекрасно работает,

 openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 -in plain.txt -out encrypted.txt 

Если я опускаю параметр -out, я получаю зашифрованную строку в консоли,

 openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 -in plain.txt 

Но если я опускаю как -in, так и -out, я получаю сообщение об ошибке – неизвестный параметр «Encrypt ME»,

 openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 "Encrypt ME" 

3 Solutions collect form web for “Как передать строку (не файл) в openssl?”

Использовать это:

 user@host:~$ echo "my string to encrypt" | openssl aes-256-cbc -e -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 a7svR6j/uAz4kY9jvWbJaUR/d5QdH5ua/vztLN7u/FE= user@host:~$ echo "a7svR6j/uAz4kY9jvWbJaUR/d5QdH5ua/vztLN7u/FE=" | openssl aes-256-cbc -d -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 my string to encrypt 

Или вы можете использовать подстановку команд:

 user@host:~$ openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv \ 00000000000000000000000000000000 -in <(echo "my string to encrypt") -out encrypted.txt 

как насчет

 echo encrypt Me | openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 

Если ваша забота заключается в том, что ps покажет простой текст «зашифровать меня», тогда вам лучше приклеить файл, не опасаясь их стереть.

Введите многострочный вход, используйте ctrl + d для завершения. e='e' очистит env var, для конфиденциальности.

 e=$(cat); echo "$e" | openssl enc -aes-256-cbc -e -a; e='e' 
  • Где и как я могу получить и установить сертификаты на новую установку OpenSSL?
  • Как печатать текст между первым вступлением пары строк?
  • RHEL 6.4 и OpenSSL 1.0.1 - Зависимость отсутствует .. но это не так?
  • Шифровать хэш с помощью RSA
  • Преобразование открытого ключа OpenSSH в PKCS # 1 в формате HEX с пробелами и столбцами
  • Ключевые слова конфигурации Apache / OpenSSL `SSLProtocol` против` SSLCipherSuite`
  • Внедрение шифров eSTREAM?
  • php: компиляция с openssl, ftp, ldap, поддержка curl в debian gnu / linux
  • Как заставить openssl шифровать пароли, такие как php через командную строку
  • FTP через SSL в AIX (UNIX)
  • Открытый сертификат OpenSSL с общим именем длиной более 64 байт
  • Режим символьного набора openssl s_client
  • Linux и Unix - лучшая ОС в мире.