Wurzelzwerg: Passwort in .htusers

Hallo allerseits,

2 Fragen:
1. Gibt es eigentlich das Perl-Script zum Verschlüsseln von Passwörtern, welches auf folgender Seite aufgerufen wird,

http://de.selfhtml.org/servercgi/server/htaccess.htm#verzeichnisschutz

auch zu Download (oder ein ähnliches, welches dengleichen Zweck erfüllt) ??

2. Wie kommt es, daß ein mehrfacher Aufruf mit dem gleichen Kennwort immer ein anderes Ergenis zurückliefert ?? PW-Überprüfungen kenne ich eigentlich so, daß das gewünschte PW verschlüsselt in der Datenbank gespeichert wird. Bei der Eingabe eines PW wird dieses dann auch versclüsselt und die beiden verschlüsselten Strings werden vergleichen. Das geht doch aber irgendwie schief, wenn das Ergebnis nicht eindeutig ist. Oder ??

vielen Dank schonmal für die Infos

  1. hi,

    1. Wie kommt es, daß ein mehrfacher Aufruf mit dem gleichen Kennwort immer ein anderes Ergenis zurückliefert ??

    Weil genau das das Salz in der Suppe bei Crypt ist (engl. "salt").

    Siehe bspw. http://www.php-center.de/de-html-manual/function.crypt.html

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hi!

    1. Gibt es eigentlich das Perl-Script zum Verschlüsseln  [...]

    Muß es unbedingt ein Perl-Script sein?
    Wenn du dir Passwörter offline verschlüsseln willst, dann kannst du das Programm htpasswd nutzen, welches z.B. beim Apache-Server mitgeliefert wird.

    Gruß,
    rob

  3. Hallo

    1. Gibt es eigentlich das Perl-Script zum Verschlüsseln von Passwörtern, welches auf folgender Seite aufgerufen wird,

    http://de.selfhtml.org/servercgi/server/htaccess.htm#verzeichnisschutz

    auch zu Download (oder ein ähnliches, welches dengleichen Zweck erfüllt) ??

    die apache-Pakete enthalten für diesen Zweck das Programm htpasswd (Linux, UNIX, ...) bzw. htpasswd.exe (Windows), was übrigens auf der von Dir angeführten SELFHTML-Seite steht.

    1. Wie kommt es, daß ein mehrfacher Aufruf mit dem gleichen Kennwort immer ein anderes Ergenis zurückliefert ?

    Das macht das Salz in der Suppe, ich meine Verschlüsselung.

    Freundliche Grüße

    Vinzenz

    1. Hallo!

      Das macht das Salz in der Suppe, ich meine Verschlüsselung.

      Sehr interessant. Kappiert hab ichs nicht. Laut Wikipedia Artikel wird vom Passwort ein Hashwert genommen und in einer Variablen gespeichert.
      Anschließend wird ein GUID erzeug. Dieser String wird an den Passworthash angehängt. Jetzt wird der Gesamtstring wieder gehasht. Dieser Wert wird jetzt in der Datenbank abgespeichert.

      Dieser Algorithmus liefert immer einen neuen Wert.

      Wie kann ich jetzt aber kontrollieren, ob das Passwort richtig eingegeben wurde? Wenn ich das eingegebene Passwort hashe, eine GUID anhänge und nochmal hashe, bekomme ich ja wieder einen anderen String als der, der in der Datenbank steht.

      mfg
        frafu

      1. Hi,

        Dieser Algorithmus liefert immer einen neuen Wert.

        pro Salz.

        Wie kann ich jetzt aber kontrollieren, ob das Passwort richtig eingegeben wurde?

        Das selbe Salz verwenden.

        Wenn ich das eingegebene Passwort hashe, eine GUID anhänge und nochmal hashe, bekomme ich ja wieder einen anderen String als der, der in der Datenbank steht.

        Dem Du entnehmen kannst, welches Salz verwendet wurde. In der Praxis sieht das so aus, dass Du einfach das verschlüsselte Passwort als Salz nimmst.

        Chea "Dieses Posting ist ganz schön gesalzen ;-)" tah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi Cheatah!

          Chea "Dieses Posting ist ganz schön gesalzen ;-)" tah

          Schmeckt trotzdem gut.

          MfG H☼psel

          --
          "It's amazing I won. I was running against peace, prosperity, and incumbency."
          George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
          Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
        2. Hallo!

          Dem Du entnehmen kannst, welches Salz verwendet wurde. In der Praxis sieht das so aus, dass Du einfach das verschlüsselte Passwort als Salz nimmst.

          Verstehe ich noch immer nicht. Das Salz wird in der htaccess Datei nicht abgespeichert. Dort steht nur der Username und das gehashte Passwort.
          Laut http://de.selfhtml.org/servercgi/server/htaccess.htm#verzeichnisschutz liefert aber jeder Aufruf der crypt Funktion einen anderen Hash zurück.
          Wo wird das Salz gespeichert?

          mfg
            frafu

          1. Hi,

            Verstehe ich noch immer nicht. Das Salz wird in der htaccess Datei nicht abgespeichert.

            nein, aber im gecrypteten Passwort.

            Dort steht nur der Username und das gehashte Passwort.

            In der .htaccess?

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hallo!

              Verstehe ich noch immer nicht. Das Salz wird in der htaccess Datei nicht abgespeichert.

              nein, aber im gecrypteten Passwort.

              Ja eben. Aber sonst nirgends. Aber laut dieser Beschreibung ändert sich das Salz ja bei jedem Verschlüsselungsvorgang, da ja eine GUID verwendet wird.
              Wie erfolgt also die Überprüfung ob das eingegebene Passwort mit dem verschlüsseltem in der .htaccess übereinstimmt?

              Dort steht nur der Username und das gehashte Passwort.

              In der .htaccess?

              Ja.

              mfg
                frafu

      2. Moin.

        Das macht das Salz in der Suppe, ich meine Verschlüsselung.

        Sehr interessant. Kappiert hab ichs nicht. Laut Wikipedia Artikel wird vom Passwort ein Hashwert genommen und in einer Variablen gespeichert.

        Das zu verschlüsselnde Passwort wird gehashed, das Salz (z.B. 2 Buchstaben) wird dabei "mitgehashed" und dann im Klartext (!) vorn an das "gehashde" PW angehangen. Um den PW-Check zu machen, wird das PW in der Passwortdatei (z.B. .htpasswd) gesucht, die ersten beiden Buchstaben ermittelt und mit denen als Salz das zu checkende PW gehashed. Ist das Ergebnis gleich dem in der Passwortdatei, hats der User richtig eingegeben.

        Und warum der ganze Zeck mit dem Salz, wo erhöhter Salzgebrauch doch nur den Blutdruck steigert? Siehe Archiv.

        Gruß Frank

        1. Hallo!

          Das zu verschlüsselnde Passwort wird gehashed, das Salz (z.B. 2 Buchstaben) wird dabei "mitgehashed" und dann im Klartext (!) vorn an das "gehashde" PW angehangen.

          Genau das wollte ich wissen. Danke!

          mfg
            frafu

  4. Hi,

    1. Gibt es eigentlich das Perl-Script zum Verschlüsseln von Passwörtern, welches auf folgender Seite aufgerufen wird, [...]
      auch zu Download (oder ein ähnliches, welches dengleichen Zweck erfüllt) ??

    der wesentliche Teil dieses Scripts besteht nur aus dem Befehl crypt(). Alles Notwendige dazu findest Du unter

    perldoc -f crypt

    [...] zurückliefert ?? [...] Oder ??

    Überprüfe bitte mal Deine Tastatur. Die Fragezeichen-Taste meldet irgendwie immer ein Leer- und ein Fragezeichen zu viel.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes