Jörg Reinholz: php update

Beitrag lesen

Du musst Dich bei aktuellen Methoden [ password_hash() / password_verify() ] um den Salt gar nicht kümmern. Das machen sozusagen andere für Dich.

Wenn Du Dir das Beispiel angesehen hättest, dann hättest Du gesehen, dass die Hilfsfunktion für die Erzeugung eines Salt nur für crypt() und Apache-MD5 notwendig ist. Übrigens, wenn Du das binäre Hilfsprogramm htpasswd mal anschaust und benutzt:

htpasswd -nbB foo GeHeim - dann kommt ab Apache 2.4 etwas wie

foo:$2y$05$GRnDYvydQpyX2yNF6yqByej4gZ8JHyixOlbo7pgd468yrFCvLFIX6

heraus.  Erhöht man die Rundenzahl ("Kosten") auf 2^10=1024:

htpasswd -nbB -C 10 foo GeHeim foo:$2y$10$uJBSt4P3JLFHAagMWuBhWuB14QfCtCvjO0s0r5cl1kBKoCGN1fSEy

foo ist der Benutzer...

Die PHP-Funktion password_hash('GeHeim') liefert:

$2y$10$ztCfKHQF1u.90ubdtbApYunjcR7gG2EFZaUjZMGPZ7mnH5puQlVvi

Deshalb geht ab apache 2.4 auch sowas:

<?php
$password="geHeim";
$Kosten=6; # Werte von (4 ...31)
# Vorsicht: Mit 2^31=2.147.483.648 Runden kann das eine ganze Weile dauern...]

# Passwort mit htpasswd hashen:
$s='htpasswd -nbB -C '. $Kosten . ' foo ' . escapeshellarg($password);
# htpasswd -nbB -C 6 foo "geheim"

$line=trim(`$s`);

$a=explode(':', $line, 2);
$password_hash=$a[1];
echo $password_hash, "\n";

# Hash mit PHP-Funktion password_verify testen:
if ( password_verify($password, $password_hash) ) {
  echo "verifiziert\n";
} else {
  echo "SHIT HAPPENS\n";
}

Das ist dann einer Gründe dafür, , gut bekannte und fertige Funktionen zu benutzen. Hat man aber früher mal alte, mit der Apache-MD5-Methode gehashte Passwörter erzeugt und muss die weiter benutzen, dann versagt die PHP-Funktion password_verify():

Man kann es dann so machen wie ich in dem Beispiel. Und natürlich sollte man dann die Benutzer darauf hinweisen, dass die das Passwort wechseln sollen, weil es bisher auf eine Weise gespeichert ist, die künftig nicht mehr als sicher gilt.

Jörg Reinholz

0 66

Verbesserungen, Kritik, Meinungen

Paul
  • php
  1. 0
    Jörg Reinholz
    1. 0
      Paul
      1. 0
        ChrisB
        1. 0
          Paul
          1. 0
            Jörg Reinholz
            1. 0
              Paul
              1. 0
                Jörg Reinholz
                • programmiertechnik
                1. 0
                  Paul
                  1. 0
                    Jörg Reinholz
                    1. 0

                      Wir nähern uns dem Ziel? : )

                      Paul
                      1. 0
                        Jörg Reinholz
                        1. 0
                          Paul
                          1. 1
                            dedlfix
                            1. 0

                              php update

                              Paul
                              1. 0
                                dedlfix
                                1. 0
                                  Paul
                                  1. 0
                                    dedlfix
                                  2. 0
                                    Jörg Reinholz
                                    1. 0

                                      ohje

                                      Paul
                                      1. 0
                                        Jörg Reinholz
                                        1. 0
                                          Paul
                                          1. 0
                                            Jörg Reinholz
                                            1. 0

                                              Danke an dedlfix und Jörg Reinholz

                                              Paul
                                            2. 0
                                              Bobby
                                              1. 0
                                                Sven Rautenberg
                                                1. 0
                                                  dedlfix
                                                  1. 0
                                                    Sven Rautenberg
                                                    1. 0
                                                      Jörg Reinholz
                                                    2. 0
                                                      dedlfix
                                                      1. 0
                                                        Sven Rautenberg
                                                2. 0
                                                  Bobby
                                                  1. 0
                                                    Sven Rautenberg
                                                    1. 0
                                                      Jörg Reinholz
                                                    2. 0
                                                      Bobby
                                  3. 0
                                    Jörg Reinholz
                            2. 0
                              Jörg Reinholz
                              1. 1
                                Sven Rautenberg
                                1. 0
                                  Jörg Reinholz
                            3. 1
                              Matti Mäkitalo
                        2. 0

                          Kopfkino

                          Paul
                          1. 0
                            Jörg Reinholz
          2. 0

            Antwort II

            Jörg Reinholz
      2. 0

        sha1 ist tot.

        Jörg Reinholz
  2. 0

    NACHTRAG url

    Paul
    1. 0
      ChrisB
      1. 0
        Paul
  3. 0
    hotti
    1. 0

      speichern in $_SESSION

      Paul
      1. 0

        Objekt für die Userdaten

        hotti
        1. 0
          Paul
  4. 0
    Jörg Reinholz
    • selfhtml-wiki
    1. 0
      Matthias Apsel
      1. 0
        Jörg Reinholz
        1. 0
          Matthias Apsel
          1. 0
            Jörg Reinholz
    2. 0
      Matthias Apsel
    3. 0
      hotti
      1. 0
        Mitleser
        1. 0
          Jörg Reinholz
    4. 0

      Zu diesem Zweig: hier get es weiter (Link)

      Jörg Reinholz
    5. 1
      Christian Kruse
      1. 0
        Jörg Reinholz
        1. 0
          Christian Kruse
          1. 0
            Jörg Reinholz
            1. 0
              Christian Kruse