PHP - Hashed Password

Aus Wikizone
Wechseln zu: Navigation, Suche

Hashed Passwords sind der aktuelle Stand (2020) zum Speichern von Passwörtern. In PHP lassen sich diese recht leicht verifizieren.

In der Datenbank sieht es etwa so aus:

$2y$10$7xhhJTrNvXtYCXswa6NjKOQwOM6Sj7R12BPD3xBZToKxO61q4KInm

Passwort entschlüsseln[Bearbeiten]

In PHP kann man es so entschlüsseln: (Quelle: https://www.geeksforgeeks.org/how-to-secure-hash-and-salt-for-php-passwords/ Zugriff: 6/22)

<?php
  
  // Plaintext password entered by the user
  $plaintext_password = "Password@123";
  
  // The hashed password retrieved from database
  $hash = 
"$2y$10$8sA2N5Sx/1zMQv2yrTDAaOFlbGWECrrgB68axL.hBb78NhQdyAqWm";
  
  // Verify the hash against the password entered
  $verify = password_verify($plaintext_password, $hash);
  
  // Print the result depending if they match
  if ($verify) {
      echo 'Password Verified!';
  } else {
      echo 'Incorrect Password!';
  }
?>

Hintergrundinfos[Bearbeiten]

Oft sieht man Dollarzeichen gefolgt von anderen Zeichen in verschlüsselten Passwörtern. Dies ist die Bedeutung.

$hash_type$random_salt$encrypted_password

Der Hash Type steht für den verwendeten Algorhythmus Mit dem zusätzlichen Salt verhindert man, dass gleiche Passwörter immer zur gleichen Zeichenfolge führen. Am Ende steht das verschlüsselte Passwort