SSHA ist ein Format für SHA-1 Hashes mit Salt und wird von manchen Programmen genutzt um Passwort-Hashes zu speichern. Hierfür wird zunächst ein Salt an das Passwort angehängt und davon ein SHA-1-Hash gebildet. Danach wird an den Hash nochmal das Salt angehängt und das ganze mit base64 kodiert.
Hier ein kleines Script, das ein Passwort als Parameter erwartet und daraus ein SSHA-Hash generiert.
#!/bin/bash
saltlen=8
salt="$(cat /dev/urandom | head -c $saltlen)"
pwsalt=$1$salt
pwhash="$(head -c -1 << EOF | openssl dgst -sha1 -binary
$pwsalt
EOF
)"
ssha="$(head -c -1 << EOF | base64
$pwhash$salt
EOF
)"
ssha="{SSHA}$ssha"
echo $ssha
Kommentare