Como passar string (não arquivo) para openssl?

5

Eu quero criptografar um monte de strings usando o openssl. Como faço para passar texto simples no console para openssl (em vez de especificar o arquivo de entrada que tem texto simples).

A página de manual do

openssl possui apenas estas duas opções relacionadas à entrada / saída:

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

Aqui está o que eu tentei até agora:

Isso funciona bem,

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

Se eu omitir o parâmetro -out, recebo uma string criptografada no console,

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

Mas se eu omitir ambos -in e -out, recebo um erro - a opção desconhecida 'Encrypt ME',

openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 "Encrypt ME"
    
por Nitish Parkar 08.08.2014 / 08:59

3 respostas

11

Use isto:

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

Ou você pode usar a substituição de comandos:

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

Insira a entrada de múltiplas linhas, use ctrl + d para finalizar. e='e' limpará o env var, para privacidade.

e=$(cat); echo "$e" | openssl enc -aes-256-cbc -e -a; e='e'
    
por 03.10.2016 / 05:55
1

e

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

Se o seu problema é que um ps mostrará o texto simples 'encripte-me', então é melhor você usar o arquivo, tendo o cuidado de apagá-lo.

    
por 08.08.2014 / 09:25

Tags