Existe-t-il des outils intégrés en ligne de commande qui me permettent de crypter et de décrypter un fichier texte (et de lui fournir une sorte de mot de passe) ?
Réponses
Trop de publicités?openssl
est préinstallé sur Mac OS X.
Vous pouvez utiliser les commandes suivantes :
# encrypt file.txt to file.enc using 256-bit AES in CBC mode
openssl enc -aes-256-cbc -salt -in file.txt -out file.enc
# the same, only the output is base64 encoded for, e.g., e-mail
openssl enc -aes-256-cbc -a -salt -in file.txt -out file.enc
# decrypt binary file.enc
openssl enc -d -aes-256-cbc -in file.enc -out file.txt
# decrypt base64-encoded version
openssl enc -d -aes-256-cbc -a -in file.enc -out file.txt
(copié de OpenSSL Command-Line HOWTO : Comment crypter simplement un fichier ? )
Vous serez invité à saisir un mot de passe. Vous pouvez également spécifier un mot de passe sur la ligne de commande en utilisant -pass pass:mySillyPassword
o -pass file:/path/to/secret/password.txt
Ces commandes utilisent un cryptage AES 256 bits avec Cipher Block Chaining (CBC), ce qui est à peu près le niveau de sécurité le plus élevé à l'heure actuelle.
Mac OS X a la possibilité de créer des fichiers conteneurs chiffrés (similaires à Truecrypt, par exemple), qui peuvent éventuellement croître avec la quantité de données qui y sont placées. Utilisez Utilitaire de disque pour le faire.
En Utilitaire de disque , sélectionnez Fichier " Nouveau " Image disque vierge avec l'un des éparses les formats d'image. Sélectionnez AES-128 ou AES-256 comme cryptage.
En ligne de commande, la même fonctionnalité est disponible via la commande hdiutil
programme.
J'ai construit un Shell Shell pour cela. Vous pouvez l'utiliser sur Mac ou sur Linux.
#!/bin/bash
#encrypt files with aes-256-cbc cipher using openssl
#encrypt files
if [ $1 == "-e" ];
then
if [ -f "$2" ];
then
openssl aes-256-cbc -a -e -salt -in "$2" -out "$2.aes"
else
echo "This file does not exist!"
fi
#decrypt files
elif [ $1 == "-d" ];
then
if [ -f "$2" ];
then
openssl aes-256-cbc -a -d -salt -in "$2" -out "$2.decrypt"
else
echo "This file does not exist!"
fi
#show help
elif [ $1 == "--help" ];
then
echo "This software uses openssl for encrypting files with the aes-256-cbc cipher"
echo "Usage for encrypting: ./encrypt -e [file]"
echo "Usage for decrypting: ./encrypt -d [file]"
else
echo "This action does not exist!"
echo "Use ./encrypt --help to show help."
fi
Il suffit de l'enregistrer dans un fichier texte dans le numéro chmod +x pour le rendre exécutable. Après cela, utilisez ./filename --help pour obtenir des informations.