#!/bin/bash
#< Simple wrapper to openssl for encryption and decryption
CAT=/bin/cat
OPENSSL=/usr/bin/openssl
usage() {
cat <<EoF
Usage: $(basename $0) [-d|-e] infile outfile
-d decrypt
-e encrypt
EoF
exit 1
}
check_args() {
check_file_exists ${INFILE} || {
echo "Error: ${INFILE} does not exist" >&2
exit 1
}
check_file_exists ${OUTFILE} && {
echo "Error: ${OUTFILE} already exists" >&2
exit 1
}
return 0
}
check_file_exists() {
[[ -e "$1" ]] && return $?
}
decrypt() {
openssl des3 -salt -d < ${INFILE} > ${OUTFILE}
}
encrypt() {
# Can do this like this too:
# openssl enc -des3 -salt -in inputfile -out outputfile2
openssl des3 -salt < ${INFILE} > ${OUTFILE}
}
# main()
if [ "$#" -ne "3" ]; then
usage
fi
INFILE=$2
OUTFILE=$3
case "$1" in
-d ) check_args && decrypt ;;
-e ) check_args && encrypt ;;
* ) usage ;;
esac
exit 0