There are times you might want to encrypt some important and/or confidential files on your system. Some people store their passwords in a file on their computers, this is probably okay but only if some type of file encryption is being used. There are many encryption programs available, here we will show OpenSSL.
The OpenSSL command line tool is very popular and is most likely already installed on your computer (it came by default on my CentOS 6.8 systems). It has several options and methods of encryption, however we will cover just the basics.
Using file1.txt
again from above try the following on your system:
We start by performing a sum on the file1.txt
file, then run openssl
. Here is the syntax:
enc
: specify which encoding to use, in this case it's aes-256-cbc
-in
: the input file-out
: the output file-d
: decryptAfter running the openssl
command we perform an ls -la
to verify that the output file was indeed created.
We then decrypt the file. Note the order of the files and the addition of the -d
parameter (to decrypt). We do another sum to verify that the resulting file is the same as the original.
Since there is no way I am going to type that all the time let's write a quick script to do it:
#!/bin/sh # # 6/2/2017 # echo "Chapter 7 - Script 7" if [ $# -ne 3 ] ; then echo "Usage: script7 -e|-d infile outfile" echo " Uses openssl to encrypt files." echo " -e to encrypt" echo " -d to decrypt" exit 255 fi PARM=$1 INFILE=$2 OUTFILE=$3 if [ ! -f $INFILE ] ; then echo "Input file $INFILE does not exist." exit 100 fi if [ "$PARM" = "-e" ] ; then echo "Encrypting" openssl enc -aes-256-cbc -in $INFILE -out $OUTFILE elif [ "$PARM" = "-d" ] ; then echo "Decrypting" openssl enc -aes-256-cbc -d -in $INFILE -out $OUTFILE else echo "Please specify either -e or -d." exit 101 fi ls -la $OUTFILE echo "End of script7" exit 0
Here is the screenshot:
This is obviously a lot easier than typing (or trying to remember) the syntax for openssl. As you can see the resulting decrypted file (file2.txt
) is the same as the file1.txt
file.
3.144.254.231