Die Idee eines kryptographischen "Salt" ist, dass das gleiche Passwort (oder ein anderer geheimer Wert), das an zwei Stellen verschlüsselt ist, nicht mit dem gleichen verschlüsselten Wert endet. Dies macht es schwieriger, ein "Wörterbuch" zu erstellen, das die Hashes für viele wahrscheinliche Passwörter enthält, und es schnell gegen eine gestohlene Liste von Passwort-Hashes zu überprüfen, um das Passwort wiederherzustellen.
Streng genommen ein Salz soll mit diesem Wert für jeden Wert und gespeichert erzeugt werden - so ein Wörterbuch oder „Brute-Force“ -Angriff, dass einzelnes Passwortes bei der Wiederherstellung erfolgreich sein könnte, würde aber für andere Passwörter in der nicht von Nutzen sein System.
Ein anwendungsweites Salz kann jedoch auch einen gewissen Nutzen bieten, da die von einer Anwendung erzeugten Hashwerte nicht mit denen einer anderen übereinstimmen. Es ist auch möglich, dass jemand die verschlüsselten Daten (z. B. eine Datenbanktabelle von Benutzern) stehlen kann, ohne Zugriff auf dieses Salz auf Anwendungsebene zu haben, wodurch der Brute-Force-Angriff kniffliger wird.
Diese Vorteile würden vollständig verloren gehen, wenn jeder, der CakePHP installiert hat, das gleiche Salz verwendet, denn jeder kann den Quellcode herunterladen und das Standard-Salz finden.
Kurze Antwort: Weil es für Ihren Code einzigartig sein muss. Wenn alle dasselbe Salz verwenden, wäre die Verwendung eines Salzes sinnlos. –
Danke für die kurze Antwort. Ich schätze wirklich, – Hardrik