Ich möchte eine Reihe von Zeichenfolgen mit Openssl verschlüsseln. Wie übergebe ich Klartext in der Konsole an openssl (anstatt eine Eingabedatei mit Klartext anzugeben).
Die man-Seite von openssl hat nur diese beiden Optionen in Bezug auf Eingabe/Ausgabe:
-in <file> input file
-out <file> output file
Folgendes habe ich bisher versucht:
Das funktioniert gut,
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 -in plain.txt -out encrypted.txt
Wenn ich den Parameter -out weglasse, bekomme ich eine verschlüsselte Zeichenfolge in der Konsole,
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 -in plain.txt
Aber wenn ich sowohl -in als auch -out weglasse, erhalte ich eine Fehlermeldung – unbekannte Option „Encrypt ME“,
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 "Encrypt ME"
Akzeptierte Antwort:
Verwenden Sie dies:
[email protected]:~$ echo "my string to encrypt" | openssl aes-256-cbc -e -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000
a7svR6j/uAz4kY9jvWbJaUR/d5QdH5ua/vztLN7u/FE=
[email protected]:~$ echo "a7svR6j/uAz4kY9jvWbJaUR/d5QdH5ua/vztLN7u/FE=" | openssl aes-256-cbc -d -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000
my string to encrypt
Oder Sie könnten die Befehlsersetzung verwenden:
[email protected]:~$ openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv \
00000000000000000000000000000000 -in <(echo "my string to encrypt") -out encrypted.txt