Hallo asteireif,
wenn ich den Code in der User.php richtig verstehe ist es wirklich so, dass für jedes Passwort ein neuer Salt generiert wird und zusammen mit dem Passwort (getrennt durch : ) in der DB gespeichert wird.
Dabei wird der Salt so generiert:
PHP-Code:
$strSalt = substr(md5(uniqid(mt_rand(), true)), 0, 23);
$strPassword = sha1($strSalt . $this->Input->post('password'));
$this->password = $strPassword . ':' . $strSalt;
Und genau so kannst du es ja dann auch wieder validieren. Nur generierst du dann keinen neuen Salt, sondern nimmst den Salt hinter dem Passwort aus der DB.