Welche potenziellen Risiken können auftreten, wenn Passwörter ungehasht in einem Produktivsystem gespeichert werden?

Wenn Passwörter ungehasht in einem Produktivsystem gespeichert werden, besteht das Risiko, dass diese im Falle eines Datenlecks oder eines Hackerangriffs kompromittiert werden. Dadurch könnten Unbefugte Zugriff auf sensible Informationen erhalten und die Sicherheit des Systems gefährden. Um dieses Risiko zu minimieren, sollten Passwörter immer gehasht und gesalzen gespeichert werden, um die Sicherheit der Benutzerdaten zu gewährleisten.

// Hashing and salting the password before storing it in the database
$password = 'user_password';
$salt = random_bytes(16); // Generate a random salt
$hashed_password = hash('sha256', $password . $salt); // Hash the password with the salt

// Storing the hashed password and salt in the database
$stmt = $pdo->prepare("INSERT INTO users (password, salt) VALUES (:password, :salt)");
$stmt->bindParam(':password', $hashed_password);
$stmt->bindParam(':salt', $salt);
$stmt->execute();