Initial release
This commit is contained in:
commit
8923d45ac5
85
crypter.sh
Executable file
85
crypter.sh
Executable file
@ -0,0 +1,85 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check method
|
||||
case "$1" in
|
||||
"encrypt")
|
||||
METHOD='encrypt'
|
||||
;;
|
||||
"decrypt")
|
||||
METHOD='decrypt'
|
||||
;;
|
||||
*)
|
||||
echo "Usage: ./crypter.sh [encrypt/decrypt] [inputfile] [outputfile]";
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Check for input file
|
||||
if [ -n "$2" ]
|
||||
then
|
||||
INPUT=$2
|
||||
if [ ! -e "$INPUT" ];
|
||||
then
|
||||
echo "Input file does not exist!"
|
||||
exit 2
|
||||
fi
|
||||
else
|
||||
echo "Please submit a input file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check for output file
|
||||
if [ -n "$3" ]
|
||||
then
|
||||
OUTPUT=$3
|
||||
if [ -e "$OUTPUT" ];
|
||||
then
|
||||
echo "Output file already exist!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Please submit a output file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Ask for password
|
||||
echo -en "Encryption password: "
|
||||
read -s PASSWORD; echo ""
|
||||
|
||||
if [ "$PASSWORD" == '' ]
|
||||
then
|
||||
echo "Password not set!"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [ "$METHOD" == 'encrypt' ]
|
||||
then
|
||||
echo -en "Confirm password: "
|
||||
read -s PASSWORD_CONFIRM
|
||||
echo ""
|
||||
if [ "$PASSWORD" != "$PASSWORD_CONFIRM" ]
|
||||
then
|
||||
echo "Passwords are not matching!"
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
|
||||
case "$METHOD" in
|
||||
"encrypt")
|
||||
echo "Encrypting";
|
||||
openssl enc -des-ede3-cbc -pbkdf2 -salt -in ${INPUT} -out ${OUTPUT}.temp -k ${PASSWORD}
|
||||
base64 ${OUTPUT}.temp > ${OUTPUT}
|
||||
rm -f ${OUTPUT}.temp
|
||||
echo "Done!"
|
||||
exit 0
|
||||
;;
|
||||
"decrypt")
|
||||
echo "Decrypting";
|
||||
base64 -d ${INPUT} > ${INPUT}.temp
|
||||
openssl enc -d -des-ede3-cbc -pbkdf2 -in ${INPUT}.temp -out ${OUTPUT} -k ${PASSWORD}
|
||||
rm -f ${INPUT}.temp
|
||||
echo "Done!"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
exit 3
|
Loading…
Reference in New Issue
Block a user