Ich bin langsam echt am Verzweifeln, oder denke einfach zu kompliziert. Meine Kunden werden per Hand über Codeigniter angelegt. Alles soweit ganz gut. Jetzt wäre es schön wenn sich meine Kunden auch auf meiner Homepage einloggen können. Dazu habe ich folgenden Code gefunden:
var $password = FALSE;
function before_save()
{
if($this->password)
$this->hashed_password = $this->hash_password($this->password);
}
function set_password($plaintext)
{
$this->hashed_password = $this->hash_password($plaintext);
}
private function hash_password($password)
{
$salt = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));
$hash = hash('sha256', $salt . $password);
return $salt . $hash;
}
function validate_password($password)
{
$salt = substr($this->hashed_password, 0, 64);
$hash = substr($this->hashed_password, 64, 64);
$password_hash = hash('sha256', $salt . $password);
return $password_hash == $hash;
}
In der Datenbank (MySQL) ist das Passwort in der Länge (128) gespeichert. Doch wo befindet sich im Script das verschlüsselte Passwort? Das Passwort wird an das Script per $_POST übergeben. Die Variable ist aktuell $plaintext.
Wäre echt prima wenn mir jemand einen Tipp oder die Lösung verraten würde