Verschlüsseln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Was bringt md5() dann? Und was nimmt man zum verschlüsseln für Passwörter?

    Kommentar


    • #17
      Zur Passwort-Verschlüsselung ist crypt vorgesehen.

      encrypt ist - wie MD5 - nicht umkehrbar (bzw. schwer zu entschlüsseln), daher muss auch hier das Passwort verschlüsselt gespeichert werden.

      Beachte, dass crypt zwei Parameter verarbeitet: Der erste ist die Eingabe, der andere der Schlüssel (salt).
      Bei der Passwortabfrage wird dann die Eingabe mit dem alten Schlüssel kodiert und das Ergebnis mit dem gespeicherten Wert verglichen.

      MD5 ist zwar im Prinzip das gleiche, benutzt aber ein konstantes Salt, so dass zwei gleiche Passwörter auch verschlüsselt identisch sind. Und das erleichtert es Crackern alle Passwörter eines Systems zu knacken, solange sie verschlüsselt vorliegen.


      Nach der Theorie nun zur praktischen Anwendung:

      - Es gibt mehrere Crypt-Verfahren mit unterschiedlichen Salt-Längen, die aber nicht alle von jedem Betriebssystem unterstützt werden.
      - Der Rückgabewert beginnt immer mit dem gegebenen Salt.
      - Ist kein Salt gegeben, wird von PHP eins erzeugt. Die Länge des Salts steht in der Konstanten CRYPT_SALT_LENGTH.

      zum Bleistift:
      Passwort setzen
      Eingabe -> $password
      $pass_crypt = crypt($password); # ohne Salt
      speichern in DB

      Passwort abfragen
      Eingabe -> $password
      aus DB holen: $pass_crypt
      $salt = substr($pass_crypt, 0, CRYPT_SALT_LENGTH); # Salt ermitteln
      $crypt = crypt($password, $salt);
      if (strcmp($crypt, $pass_crypt) die ('falsches Passwort');
      else echo 'ok';
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #18
        ach ja: Was bringt MD5?
        - Hilft bei der Optimierung der Datenablage bei stark begrenztem Speicher
        - gut für Prüfsummen (s. auch Beispiele in den Kommentaren im Online-Handbuch)
        - einfache Variante der Verschlüsselung, aber nicht so sicher wie crypt (siehe oben)
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar

        Lädt...
        X