md5 wieder umkehren!

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

  • md5 wieder umkehren!

    In meiner Datenbank steht das Passwort in md5.
    Nun möchte ich eine formmail verschicken, wenn jemand sein Passwort vergessen hat.

    per select statement hole ich die daten aus der Datenbank.
    Das Passwortfeld in in einer Variable gespeichert.

    Muss ich nun vor dem Namensfeld wieder md5 schreieb noder wie geht das?!

    Hier der Code:


    PHP-Code:

    $sql 
    mysql_query("SELECT * FROM tbl_user WHERE email = 
    '"
    .$_POST[eMail]."'");
    $erg mysql_fetch_assoc($sql);

            
    $var1 $_POST[eMail];
            
    $var2 $erg['email'];

    if (
    $var1 == $var2)
    {
    $var1 $erg['nickname'];
    // Ich würde es mir so vorstellen: $erg['md5(Passwort)'] ???
    $var2 $erg['Passwort'];
    $mail_empfaenger=$_POST[eMail];
    $mail_absender=$_POST[eMail];
    $betreff="Passwortanforderung für bday-bash.de.ms";
    $text="Ihr Nickname lautet $var1, ihr Passwort $var2.
    \n Mit freundlichen Grüssen
    ihr bday-bash.de.ms Team"
    ;
    mail($mail_empfaenger$betreff$text,"from:admin@bday-bash.de.ms"); 

  • #2
    Re: md5 wieder umkehren!

    MD5 ist nicht umkehrbar. Es ist keine Verschlüsselung, sondern ein Hash.

    Wenn jemand sein Passwort vergessen hat, generiere ein neues, und sende ihm dieses zu.

    Ist übrigens nicht so, dass wir das Thema nicht schon ettliche Male gehabt hätten.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wie verschlüssel ich die PAsswörter sonst am besten in meiner Datenbank?!

      Kommentar


      • #4
        Mit SHA1 oder MD5 (und gegebenenfalls einem so genannten salt). Es ist schon gut so, dass man das nicht umkehren kann. Für dein Problem hat wahsage dir schon eine gängige Lösung angeboten: Neues Passwort generieren und per E-Mail an den Benutzer schicken, der seins vergessen hat.
        Nieder mit der Camel Case-Konvention

        Kommentar


        • #5
          Original geschrieben von dakingno1
          Wie verschlüssel ich die PAsswörter sonst am besten in meiner Datenbank?!
          Wieso "sonst"?
          Weisst du überhaupt, was du willst? Nur, weil ich dir gesagt habe, dass du keine "entschlüsselbaren" Passwörter ablegen, sondern im Bedarfsfall neue vergeben sollst, willst du jetzt gleich wieder eine Kehrtwende machen, weil's dir zu komplex erscheint oder was ...?

          Sie gehashed abzulegen, ist absolut üblich und auch tauglich.
          Ob es noch MD5 sein "darf", oder inzwischen lieber etwas "kräftigeres" wie SHA-1 sein sollte ... darüber könnte man weiter nachdenken.

          Aber eine umkehrbare Verschlüsselung wäre witzlos. Der Schlüssel müsste irgendwo in deinen Scripten abgelegt werden - und dann hätte der, der Zugriff auf den Server bekommt, sie genauso in der Hand, als ob du direkt Klartextpasswörter gespeichert hättest.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Mein Problem ist dabei nur, dass am anfang jeder sein eigenes Passwort festlegen soll. Wenn dann jemand sein Passwort vergisst, und ein neues geshccikt bekommt, dann hat er ja sein altes nicht mehr und muss sich das generierte evtl. merken.

            Eigentlich war es nicht vorgesehen sein Passwort ändenr zu können. Das würde wieder eine neue phpü Seiet bedeuten. Doch leider bin ich noch nicht mal mit den Grundfunktionen fertig, aber ich habe mir das durch den Kopf gehen lassen und werde es dann doch mit dem generierten PAsswort machen.

            Nur noch hab ich kein Plan wie ich das PAsswort am sinnvollsten generieren lasse....

            Kommentar


            • #7
              Hi,

              ist doch nicht sooo schwierig.
              Wenn jemand ein neues Passwort anforderst,
              generierst Du einen zufälligen String (das geht z.B. so (klick) ), schreibst diesen per UPDATE-Abfrage in Deine Datenbank und schickst den Wert mit mail() durch die Gegend.

              Das war#s doch schon

              Gruß,
              Dennis

              Kommentar


              • #8
                Es gibt unzählige Möglichkeiten, ein Passwort zu generieren... einige davon kannst du sogar hier in den Code-Snippets finden.

                Zurück zu deinem eigentlichen Problem:
                Ein User, der sein Passwort vergessen hat und sich ein neues, Zufallspasswort generieren und mailen lässt, sollte in der Regel nicht dazu gezwungen sein, sich dieses zu merken. Er muss sich nur einmal damit einloggen können, um in seinen Benutzereinstellungen (bzw. seinem Profil) ein neues, eigenes Passwort anzulegen. Das ist eine gängige Art und Weise, diese Problematik zu lösen.
                Nieder mit der Camel Case-Konvention

                Kommentar


                • #9
                  Original geschrieben von Griecherus
                  Es gibt unzählige Möglichkeiten, ein Passwort zu generieren... einige davon kannst du sogar hier in den Code-Snippets finden.

                  Zurück zu deinem eigentlichen Problem:
                  Ein User, der sein Passwort vergessen hat und sich ein neues, Zufallspasswort generieren und mailen lässt, sollte in der Regel nicht dazu gezwungen sein, sich dieses zu merken. Er muss sich nur einmal damit einloggen können, um in seinen Benutzereinstellungen (bzw. seinem Profil) ein neues, eigenes Passwort anzulegen. Das ist eine gängige Art und Weise, diese Problematik zu lösen.
                  Jo, das ist mir auch eingefallen.
                  Diese Funktion war nur eigentlich n icht vorgesehen, aber nun muss ich es wohl noch mit integrieren....

                  Kommentar


                  • #10
                    Ich generiere mir meine Passwörter immer mit 'nem Timestamp... So kann jedes Passwort nur einmal genutzt werden :>

                    Der Code sieht dann so aus:
                    PHP-Code:
                    $password time();
                    $password md5($password);
                    $password substr($password08);
                    $cr_password md5($password); 
                    Dann wird $password per Mail verschickt und $cr_password in die DB eingetragen. Alles funzt und alle sind zufrieden..

                    mfg nOe
                    "I am what I am and I do what I can..."
                    Meine HP -- Mein GPG-Key
                    Meine Projekte: WebStorage 2.0 -- easyAJAX-Chat 2.2.0 (beta)

                    Kommentar


                    • #11
                      Original geschrieben von nOe
                      PHP-Code:
                      $password time();
                      $password md5($password);
                      $password substr($password08);
                      $cr_password md5($password); 
                      Nicht gerade sicher, da überhaupt kein Zufallswert sondern nur timestamp und somit - theoretisch - leicht rekonstruierbar.
                      Wenn es unbedingt kurz und knackig sein muss, dann etwas in der Art:
                      PHP-Code:
                      $rand md5(uniqid(rand())); 
                      Zuletzt geändert von Griecherus; 11.12.2006, 15:34.
                      Nieder mit der Camel Case-Konvention

                      Kommentar


                      • #12
                        Original geschrieben von nOe
                        Ich generiere mir meine Passwörter immer mit 'nem Timestamp...
                        Gut zu wissen! Jetzt müsste ich mir also nur noch merken, zu welchem exakten Zeitpunkt ich auf deiner Seite für einen anderen Nutzer ein neues Passwort anfordere - dann brauche ich gar nicht mehr seine Mail lesen zu können, sondern kann mich auch so damit als er einloggen ...
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Original geschrieben von wahsaga
                          Gut zu wissen! Jetzt müsste ich mir also nur noch merken, zu welchem exakten Zeitpunkt ich auf deiner Seite für einen anderen Nutzer ein neues Passwort anfordere - dann brauche ich gar nicht mehr seine Mail lesen zu können, sondern kann mich auch so damit als er einloggen ...
                          Eben das meinte ich mit "leicht rekonstruierbar".
                          Nieder mit der Camel Case-Konvention

                          Kommentar


                          • #14
                            Hmm da hab' ich so noch gar nicht drüber nachgedacht... Werd's mir nochmal überlegen und vielleicht eine Random*md5(md5(md5(md5... codierung machen Also so Random*md5. Tjaja, dann versucht das doch nochmal.. har har
                            "I am what I am and I do what I can..."
                            Meine HP -- Mein GPG-Key
                            Meine Projekte: WebStorage 2.0 -- easyAJAX-Chat 2.2.0 (beta)

                            Kommentar


                            • #15
                              Original geschrieben von nOe
                              Hmm da hab' ich so noch gar nicht drüber nachgedacht... Werd's mir nochmal überlegen und vielleicht eine Random*md5(md5(md5(md5... codierung machen Also so Random*md5. Tjaja, dann versucht das doch nochmal.. har har
                              Auch nicht gerade sicher... Ich würde das ganze an deiner Stelle wirklich anders angehen...
                              Nieder mit der Camel Case-Konvention

                              Kommentar

                              Lädt...
                              X