Je veux chiffrer un tas de chaînes en utilisant openssl. Comment passer du texte en clair dans la console à openssl (au lieu de spécifier un fichier d'entrée contenant du texte en clair).
La page de manuel d'openssl n'a que ces deux options liées à l'entrée/sortie :
-in <file> input file
-out <file> output file
Voici ce que j'ai essayé jusqu'à présent :
Cela fonctionne bien,
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 -in plain.txt -out encrypted.txt
Si j'omets le paramètre -out, j'obtiens une chaîne chiffrée dans la console,
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 -in plain.txt
Mais si j'omets à la fois -in et -out, j'obtiens une erreur - option inconnue 'Encrypt ME',
openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv 00000000000000000000000000000000 "Encrypt ME"
Réponse acceptée :
Utilisez ceci :
[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
Ou vous pouvez utiliser la substitution de commande :
[email protected]:~$ openssl aes-256-cbc -a -K 00000000000000000000000000000000 -iv \
00000000000000000000000000000000 -in <(echo "my string to encrypt") -out encrypted.txt