summaryrefslogtreecommitdiff
path: root/quasseluser-check-password
blob: 59b99464c23139291a2d56ba3cabc36613b83cdb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash

set -e
[ $# = 1 ]
quser=$1
case "$quser" in *\'*) exit 1 ;; esac
qpass=$(./quasselcore-sqlite "select password from quasseluser where username = '$quser' and hashversion = 1;")

hash=${qpass%:*}
salt=${qpass#*:}

if ! [ "$PASSWORD" ]
then
  read -s -p "Password to check: " PASSWORD
  echo >&2
fi

ourhash=$(printf %s%s "$PASSWORD" "$salt" | sha512sum)

[ "${ourhash%% *}" = "$hash" ]