Derzeit arbeite ich an einer API für ein Kundencenter. Dabei habe ich folgenden Code vor mir:
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;
}
private 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;
}
Jetzt bin ich mir nicht wirklich sicher welche Variable jetzt das „verschlüsselte“ Passwort enthält. Den eigentlichen Programmierer kann ich leider nicht mehr fragen, da der Support leider eingestellt wurde.
Über Hilfe bin ich echt dankbar.