Saya ingin mengenkripsi banyak string menggunakan openssl. Bagaimana cara meneruskan plaintext di konsol ke openssl (alih-alih menentukan file input yang memiliki plaintext).
halaman manual openssl hanya memiliki dua opsi yang terkait dengan input/output:
-in <file> input file
-out <file> output file
Inilah yang telah saya coba sejauh ini:
Ini berfungsi dengan baik,
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 -in plain.txt -out encrypted.txt
Jika saya menghilangkan parameter -out, saya mendapatkan string terenkripsi di konsol,
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 -in plain.txt
Tetapi jika saya menghilangkan -in dan -out, saya mendapatkan kesalahan – opsi yang tidak diketahui 'Encrypt ME',
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 "Encrypt ME"
Jawaban yang Diterima:
Gunakan ini:
[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
Atau Anda bisa menggunakan substitusi perintah:
[email protected]:~$ openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv \
00000000000000000000000000000000 -in <(echo "my string to encrypt") -out encrypted.txt