linux/scripts/genhtpasswd.sh

18 lines
406 B
Bash

#!/bin/sh
USAGE="USAGE: $0 <user> <password> {apr1|sha}"
if [ -z "$3" ]; then echo "$USAGE" >&2; exit 1; fi
hash_apr1() { echo -n "$1" | openssl passwd -apr1 -stdin; }
hash_sha() { echo -n "{SHA}"; echo -n "$1" | openssl dgst -sha1 -binary | base64; }
TOHASH="$2"
case "$3" in
sha) HASH=$(hash_sha "$2");;
apr1) HASH=$(hash_apr1 "$2");;
*) HASH=$(hash_apr1 "$2");;
esac
ENTRY="$1:$HASH"
echo $ENTRY