18 lines
406 B
Bash
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
|