Rainbowtabellen sind wirkungslos gegen einen variablen Salt, wie Nikosch schon in #4 schrieb. Hier ein Beispiel:
PHP-Code:
// Kunde hat $name und $passwort eingegeben
$sql = "INSERT INTO kunden (name)
VALUES ('" . mysql_real_escape_string($name) . "')";
mysql_query($sql);
// Ermitteln des Autoindex-Wertes
$id = mysql_insert_id();
// zu speichernden Hash für Passwort berechnen
$str = $name . $passwort . 'topsecret';
for ( $i = 0; $i < 10000; $i++ ) {
$str = md5($str . $id);
}
// Passwort speichern
$upd = "UPDATE kunden SET passwort = '$str' WHERE id = " . $id;
mysql_query($upd);