Chiffrer et déchiffrer facilement dans le terminal avec aes256
Il peut arriver d’avoir besoin de chiffrer un fichier pour le faire transiter de façon sécurisé, avec un type de chiffrement symétrique pour pouvoir le récupérer via un simple (mais fort) mot de passe.
J’ai fait le tour des logiciels, cependant je n’ai pas trouvé chaussure à mon pied. Je me suis finalement basé sur openssl, et mis en place deux petite fonction dans mon fichier .profile de ma session pour y avoir accès d’où je veux dans ma session.
Voici le code :
function aes-encrypt() {
if [ -n "$2" ]; then
openssl enc -aes-256-cbc -a -e -in $1 -out $2 -pbkdf2 -iter 1000000 -md sha512
else
openssl enc -aes-256-cbc -a -e -in $1 -out $1.enc -pbkdf2 -iter 1000000 -md sha512
fi
}
function aes-decrypt() {
if [ -n "$2" ]; then
openssl enc -aes-256-cbc -a -d -in $1 -out $2 -pbkdf2 -iter 1000000 -md sha512
else
OUT=$(echo $1 | sed -e 's/\.enc$//')
[[ "$OUT" == "$1" ]] && echo "INPUT must as .enc extension or use 2nd parameter";
[[ "$OUT" != "$1" ]] && openssl enc -aes-256-cbc -a -d -in $1 -out $OUT -pbkdf2 -iter 1000000 -md sha512
fi
}
Comment on l’utilise ?
C’est simple, allez dans le dossier ou se trouve le fichier à chiffrer (si c’est un dossier vous devez le compresser avant). Ensuite, rien de plus simple, pour chiffrer :
# Chiffrer (il vous demandera un mot de passe + confirmation)
aes-encrypt monfichier.zip # Génère un fichier chiffré monfichier.zip.enc
# Chiffrer et spécifier le nom
aes-encrypt monfichier.zip fichierDeSortie.secret # Génère un fichier chiffré fichierDeSortie.secret
Pour déchiffrer :
# Déchiffrer
aes-decrypt monfichier.zip.enc # Génère le fichier déchiffré monfichier.zip
# Déchiffrer et spécifier le nom de sortie
aes-decrypt monfichier.zip.enc fichierEnClair.zip # Génère un fichier déchiffré fichierEnClair.zip
Faites-en bon usage, et n’oubliez pas de choisir un mot de passe fort et de le garder en sécurité !