Es gab eine couple von great Diskussionen über Salz Best Practices, und es scheint die überwältigende Empfehlung ist, ein anderes Salz für jedes Passwort zu generieren und es neben dem Kennwort in der Datenbank zu speichern.Speichern von Salz in Code anstelle von Datenbank
Wenn ich jedoch den Zweck von Salz richtig verstehe, ist es die Chance zu reduzieren, dass Sie durch Rainbow Table Attacken kompromittiert werden. Ich verstehe also, dass es für jeden Benutzer optimal ist, es in der Datenbank zu speichern, aber was ist, wenn sich das Salz nicht in der Nähe der Datenbank befindet? Wenn ich einen einzelnen Salt-Wert im Code speichere (was auf dem Webserver in einer kompilierten DLL wäre), würde das nicht dem gleichen Zweck dienen, wenn ein Angreifer irgendwie Zugriff auf die Datenbank bekommen würde? Es scheint mir sicherer zu sein.
und wenn Sie eine Menge Spaß haben wollen, tun Sie beides;) oder beides und speichern Sie einen dup in der Datenbank, oder beides, mit einem dritten Salz in der Datenbank und einem vierten Salz, das ein dup ist: D – Malfist