Hallo Leute,
ich bingerade dabei von meiner Website mein User-Login-System zu modifizieren, damit es in der Lage ist Passwörter in SSHA, die in der MySQL-Datenbank liegen, zu überprüfen. (die Daten stammen aus einem LDAP und werden in die DB geschrieben.)
Daher habe ich folgendes Skript geschrieben, um den SSHA-Hash zu berechnen:
Das Problem dabei ist, dass der vom Skript generierten Hash nicht mit dem vom decodierten Hashwert aus der Datenbank übereinstimmt, obwohl das Passwort definitiv stimmt.
Hab schon viele Kombinationen versucht, aber ich habe es nicht geschafft.
Habe ich vielleicht irgendwo einen Denkfehler?
Passt das mit dem $salt von der Länge?
Schonmal Danke im Voraus - bin mittlerweile am Verzweifeln!
m@xx
ich bingerade dabei von meiner Website mein User-Login-System zu modifizieren, damit es in der Lage ist Passwörter in SSHA, die in der MySQL-Datenbank liegen, zu überprüfen. (die Daten stammen aus einem LDAP und werden in die DB geschrieben.)
Daher habe ich folgendes Skript geschrieben, um den SSHA-Hash zu berechnen:
PHP:
<?php
$password_sub = "test";
//Das Passwort erhalte ich über ein HTML-Formular
$passsowrd_hash_db = base64_decode("e1NTSEF9aH....");
//Diesen base64-Hash erhalte ich aus der Datenbank.
//Er wird gleich decodiert, da man daraus das $salt benötigt.
//Dann hat er die Form {SSHA}hxtMi....
$salt = base64_decode(substr($passsowrd_hash_db , 32));
//Berechnung des $salt
$hash = "{SSHA}" . base64_encode(pack("H*", sha1($password_sub . $salt)) . $salt);
?>
Hab schon viele Kombinationen versucht, aber ich habe es nicht geschafft.
Habe ich vielleicht irgendwo einen Denkfehler?
Passt das mit dem $salt von der Länge?
Schonmal Danke im Voraus - bin mittlerweile am Verzweifeln!
m@xx
Last edited by a moderator: