encrypt

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

  • encrypt

    hi leutz!

    weiss zufällig jemand von euch, wie ich ein verschlüsseltes passwort in einer mysql db bei der abfrage entschlüssel???

    folgende abfrage select * from $table where name='$name' and passwort='$passwort'

    wohin und wie den befehl zum entschlüsseln??

    mfg
    schmalle

    ps ich weiss, dass ich die frage schon einmal gestell hab. aber ich bekam keine antwort .... also versuche ich es nochmal :-)
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

  • #2
    1.

    Hallo schmalle,
    string crypt (string str [, string salt])


    Crypt() verschlüsselt einen String unter Verwendung der Standard-DES-Verschlüsselungs-Methode von Unix. Die zu übergebenden Argumente sind der zu verschlüsselnde String und optional ein 2-Zeichen-Salt-String, der die Schlüsselbasis bildet. Lesen Sie die Man-Pages ihres Unix-Systems für mehr Informationen zu den Crypt-Funktionen.

    Ist kein Salt-Argument angegeben, wird es von PHP nach dem Zufalls-Prinzip erzeugt.

    Einige Betriebssystem unterstützen mehr als eine Methode zur Verschlüsselung. So wird manchmal der DES- durch einen MD5-Algorithmus ersetzt. Der verwendete Schlüssel wird durch das Salt-Argument bestimmt. Zur Installations-Zeit untersucht PHP die vorhandenen Möglichkeiten und wird, abhängig vom Ergebnis dieser Prüfung, auch andere Schlüssel-Typen zulassen. Wird kein Salt unterstützt, erzeugt PHP per Voreinstellung einen 2-Zeichen DES-Salt, es sei denn auf ihrem System existiert MD5. Dann wird PHP einen zufälligen MD5-Salt generieren. PHP erzeugt eine Konstante namens CRYPT_SALT_LENGTH. Diese besagt, ob ihr System ein reguläres 2-Zeichen Salt oder das längere 12-Zeichen MD5-Salt unterstützt.

    Wenn Sie das gegebene Salt benutzen, sollten Sie beachten, dass dieser Wert nur einmal bestimmt wird. Rufen Sie diese Funktion nun rekursiv auf, beeinflusst das nicht nur das Ergebnis, sondern unter Umständen auch die Sicherheit.

    Die Standard-DES-Verschlüsselung crypt() enthält das Salt als erste 2 Zeichen der Ausgabe.

    Auf Systemen, wo die crypt()-Funktion meherere Verschlüsselungen unterstützt, werden die folgenden Konstanten auf 0 oder 1 gesetzt, je nachdem, ob der entsprechende Typ verfügbar ist:


    CRYPT_STD_DES - Standard DES-Schlüssel mit 2-Zeichen Salt

    CRYPT_EXT_DES - Erweiterter DES-Schlüssel mit einem 9-Zeichen Salt

    CRYPT_MD5 - MD5-Schlüssel mit 12-Zeichen Salt, beginnend mit $1$

    CRYPT_BLOWFISH - Erweiterter DES-Schlüssel, 16-Zeichen Salt, beginnend mit $2$


    Wichtig:
    Der veschlüsselte String kann nicht entschlüsselt werden, da crypt() eine Einweg-Verschlüsselung ist.

    Gruß


    Kommentar


    • #3
      Lösung: Das eingegebene Paßwort mit dem gleichen Salt verschlüsseln und mit dem gespeicherten vergleichen.
      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


      • #4
        hallo,

        erstmal zu ediel: vielleicht hätte hier auch der Verweis auf das PHP-Manual (http://www.php.net/manual/de/function.crypt.php) gereicht und nicht der ganze Auszug.

        zu schmalle: entweder wie ediel bzw. dann titus beschrieben oder du kannst auch über mysql ein Verschlüsslung erreichen:
        hier hast du die Möglichkeit mit dem Befehl MD5(), PASSWORD() oder ENCRYPT() innerhalb deines Query zu arbeiten. Bei ENCRYPT mußt du auspassen, daß du den oben erwähnten salt-Parameter nicht vergißt, sonst hast du immer unterschiedliche Ergebnisse.
        Bsp.:
        Code:
        mysql_qery("select * from $table where name='$name' and passwort=MD5($passwort)"); 
        
        mysql_qery("select * from $table where name='$name' and passwort=PASSWORD($passwort)");
        
        mysql_qery("select * from $table where name='$name' and passwort=ENCRYPT($passwort,"ZB")");  // "ZB" ist der salt-Parameter
        vorher mußt du natürlich auch die Passwörter immer auf diesselbe Weise reingeschrieben haben.

        Kommentar


        • #5
          na supi

          ihr seid klasse. mit soviel hilfe habe ich nicht gerechnet. besten dank an alle. auch wenn ich erst nach dem beitrag von brainbug WIRKLICH durchgestiegen bin :-)

          ich werde es heute abend mal antesten ....
          h.a.n.d.
          Schmalle

          http://impressed.by
          http://blog.schmalenberger.it



          Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
          ... nur ohne :-)

          Kommentar


          • #6
            und ich bin auch mal wieder'n Stück schlauer.
            Danke Brain!
            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


            • #7
              Vergessen

              Hallo,

              ja,naturlich du hast Recht !

              Ich habe einfach vergessen.

              http://php.belnet.be/manual/de/function.crypt.php

              Gruß

              Kommentar

              Lädt...
              X