103 lines
2.3 KiB
Bash
Executable File
103 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Colors
|
|
RED='\033[0;31m'
|
|
LRED="\033[1;31m"
|
|
BLUE="\033[0;34m"
|
|
LBLUE="\033[1;34m"
|
|
GREEN="\033[0;32m"
|
|
LGREEN="\033[1;32m"
|
|
YELLOW="\033[1;33m"
|
|
CYAN="\033[0;36m"
|
|
LCYAN="\033[1;36m"
|
|
PURPLE="\033[0;35m"
|
|
LPURPLE="\033[1;35m"
|
|
BWHITE="\e[1m"
|
|
NC='\033[0m' # No Color
|
|
|
|
|
|
## Functions
|
|
shaStatic(){
|
|
#hashes date with SHA
|
|
local charSize=20
|
|
echo
|
|
echo "${charSize} character password generated using SHA256 with date"
|
|
echo "***************************************************"
|
|
date +%s | sha256sum | base64 | head -c ${charSize}; echo
|
|
echo "***************************************************"
|
|
}
|
|
|
|
shaWithNum(){
|
|
#hashes date with SHA
|
|
if [ $1 -ge 255 ];then
|
|
echo
|
|
echo "Error : $0 : Please choose a number lower than 255"
|
|
echo
|
|
|
|
else
|
|
echo
|
|
echo "$1 character password generated using SHA256 with date"
|
|
echo "***************************************************"
|
|
date +%s | sha256sum | base64 | head -c $1 ; echo
|
|
echo "***************************************************"
|
|
fi
|
|
}
|
|
|
|
|
|
leftHand(){
|
|
echo
|
|
echo "8 character password easy to type with left hand"
|
|
echo "**************************************************"
|
|
</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo ""
|
|
echo "**************************************************"
|
|
}
|
|
|
|
leftHandNum(){
|
|
if [ $1 -ge 255 ];then
|
|
echo
|
|
echo "Error : $0 : Please choose a number lower than 255"
|
|
echo
|
|
|
|
else
|
|
echo
|
|
echo "$1 character password easy to type with left hand"
|
|
echo "**************************************************"
|
|
</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c$1; echo ""
|
|
echo "**************************************************"
|
|
fi
|
|
}
|
|
|
|
|
|
## Main
|
|
case "$1" in
|
|
-cs | --char-size ) shaWithNum $2
|
|
;;
|
|
|
|
-l | --left-hand ) leftHand
|
|
;;
|
|
|
|
-lcs | --left-char-size ) leftHandNum $2
|
|
;;
|
|
|
|
"") shaStatic
|
|
;;
|
|
|
|
* | -h | --help ) echo
|
|
echo "NAME"
|
|
echo " bashpass"
|
|
echo
|
|
echo "SYNOPSIS"
|
|
echo " bashpass [-h] [--help] [-cs <integer>] [-l] [-lcs <integer>]"
|
|
echo
|
|
echo "-cs <integer> | --char-size <integer>"
|
|
echo " specify password length"
|
|
echo
|
|
echo "-l | --left-hand"
|
|
echo " left handed password"
|
|
echo
|
|
echo "-lcs <integer> | --left-char-size <integer>"
|
|
echo " left hand password with length"
|
|
echo
|
|
;;
|
|
esac
|