31 lines
537 B
Bash
31 lines
537 B
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||
|
|
||
|
if [[ "$#" -ne 1 ]]; then
|
||
|
echo "usage: check-passwd.sh '[password hash]'"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
password_hash="$1"
|
||
|
|
||
|
if ! [[ "$password_hash" =~ ^\$2[ab]\$[0-9]+\$.{53}$ ]]; then
|
||
|
echo "Invalid password hash. Did you forget to quote it in '...'?"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
while :; do
|
||
|
read -sp "Password: " password
|
||
|
echo
|
||
|
|
||
|
if node ./bcrypt.js "$password_hash" <<<"$password"; then
|
||
|
break
|
||
|
fi
|
||
|
|
||
|
echo
|
||
|
echo "Passwords do not match, try again."
|
||
|
echo
|
||
|
done
|