aboutsummaryrefslogtreecommitdiff
path: root/usergen
diff options
context:
space:
mode:
Diffstat (limited to 'usergen')
-rwxr-xr-xusergen29
1 files changed, 29 insertions, 0 deletions
diff --git a/usergen b/usergen
new file mode 100755
index 0000000..875ef20
--- /dev/null
+++ b/usergen
@@ -0,0 +1,29 @@
+#! /bin/sh
+
+echo Username: >&2
+read -r USER
+echo Password: >&2
+read -r PWD
+
+PWD=$(printf '%s' $PWD | xxd -p | tr -d '\n')
+SALT=$(openssl rand 32 | xxd -p | tr -d '\n')
+KEY=$(openssl rand 32 | xxd -p | tr -d '\n')
+PWD=$(printf '%s%s' $SALT $PWD)
+
+ROUNDS=1000
+
+for i in $(seq $ROUNDS)
+do
+ printf "\r%d/$ROUNDS" $i >&2
+ PWD=$(printf '%s' $PWD | xxd -p -r | sha256sum | cut -d' ' -f1)
+done
+
+echo >&2
+cat <<-EOF
+{
+ "name": "$USER",
+ "password": "$PWD",
+ "salt": "$SALT",
+ "key": "$KEY"
+}
+EOF