Skip to content

Instantly share code, notes, and snippets.

@IC-Tech
Created May 5, 2021 12:22
Show Gist options
  • Select an option

  • Save IC-Tech/e1ce6f9731e7ae0dfd262a6e768803a5 to your computer and use it in GitHub Desktop.

Select an option

Save IC-Tech/e1ce6f9731e7ae0dfd262a6e768803a5 to your computer and use it in GitHub Desktop.
enc.sh for simply encrypt and decrypt files
#! /bin/bash
c=$1
shift
if [[ $c == 'gen' ]] || [[ $c == 'generate' ]] ; then
openssl rand -hex 16 > enc.key
openssl rand -hex 16 > iv.key
elif [[ $c == 'enc' ]] || [[ $c == 'encrypt' ]] ; then
openssl dgst -md5 "$@" > files.md5
for f in "$@" ; do
echo "encrypting $f"
openssl enc -aes-128-ctr -in "$f" -out "$f.enc" -K "$(cat enc.key)" -iv "$(cat iv.key)"
done
elif [[ $c == 'dec' ]] || [[ $c == 'decrypt' ]]; then
for f in "$@"; do
if [[ $f == *.enc ]]; then
o="${f%.enc}"
else
o="$f.data"
fi
echo "decrypting $f => $o"
openssl enc -aes-128-ctr -in "$f" -out "$o" -d -K "$(cat enc.key)" -iv "$(cat iv.key)"
done
else
echo "Usage: enc.sh [option] [files...]
Options:
gen, generate generate keys
enc, encrypt encrypt files
dec, decrypt decrypt files
Example:
./enc.sh gen
./enc.sh enc *.txt
./enc.sh dec *.enc"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment