$myname: MD5 zurückverwandeln

Hallo,

kann man mit PHP MD5 zurückverwandeln?

  1. Hallo

    kann man mit PHP MD5 zurückverwandeln?

    Nein, md5, wie z.B. auch crypt, ist eine Einbahnstraße.

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
    Veranstaltungsdatenbank Vdb 0.1
    1. Ich verwende das JavaScript-MD5 Skript von Selfhtml zum kodieren meiner Logindaten und wenn ich die nun mit PHP md5() vergleiche kommt immer false raus. Wie kann das sein? Arbeiten die beiden Funktionen nicht nach dem gleichen Algorithmus?

      1. Hi folks,

        Ich verwende das JavaScript-MD5 Skript von Selfhtml zum kodieren meiner Logindaten

        Bist du sicher, dass du das nicht mit crypt verwechselst?

        Greets - parse_error;

        --
        Dont ask to ask...
        .oO(Ohne Parse_Errors waere das Leben doch langweilig)
        SELFCode: ie:{ fl:{ br:< va:? ls:< fo:) rl:( n4:{ ss:} de:/ js:| ch:] sh:( mo:| zu:{
        1. Hi folks,

          Ich verwende das JavaScript-MD5 Skript von Selfhtml zum kodieren meiner Logindaten

          Bist du sicher, dass du das nicht mit crypt verwechselst?

          Greets - parse_error;

          http://aktuell.de.selfhtml.org/artikel/javascript/md5/
          http://de.php.net/manual/de/function.md5.php

          1. http://aktuell.de.selfhtml.org/artikel/javascript/md5/

            Zitat:
            "Passwörter werden häufig noch im Klartext im Internet/Intranet übertragen ..."

            Wenn jemand das md5- Wort abfängt und sich damit einloggt, kommt er doch genau so zum Erfolg wie der Original- User.

            Ich habe nicht verstanden, wofür der Aufwand gut sein soll, ein md5 statt eines Passwortes zu übertragen.

            1. Hi Kalle_B!

              Ich habe nicht verstanden, wofür der Aufwand gut sein soll, ein md5 statt eines Passwortes zu übertragen.

              Du kannst dich nicht mit der Einwegverschlüsselung eines Passworts einloggen, weil diese ja auch wieder verschlüsselt wird und einen anderen Code ergibt.

              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:)
              1. Hallo Hopsel,

                Du kannst dich nicht mit der Einwegverschlüsselung eines Passworts einloggen, weil diese ja auch wieder verschlüsselt wird und einen anderen Code ergibt.

                Normalerweise ja. Wenn der MD5-Hash aber auf der Client-Seite (via JavaScript) generiert wird, dieser Hash dann an den Server übertragen und dort direkt mit dem MD5-Hash des korrekten Passwortes geprüft wird, kann man die JavaScript-Funktion auch umgehen und direkt den abgefangenen MD5-Hash übertragen.

                MD5 auf der Client-Seite bringt also rein gar nichts.

                Grüße

                Marc Reichelt || http://www.marcreichelt.de/

                --
                Linux is like a wigwam - no windows, no gates and an Apache inside!
                Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
            2. Hallo Kalle,

              Wenn jemand das md5- Wort abfängt und sich damit einloggt, kommt er doch genau so zum Erfolg wie der Original- User.

              Ich habe nicht verstanden, wofür der Aufwand gut sein soll, ein md5 statt eines Passwortes zu übertragen.

              Ein Passwort während der Übertragung zum Server mit MD5 zu verschlüsseln bringt, wie du ja schon gemerkt hast, gar nichts - wenn du dich gegen Lauscher absichern willst, musst du schon eine richtige Verschlüsselung verwenden - SSL ist da sehr gebräuchlich. Der Vorteil Passwörter MD5-verschlüsselt zu _speichern_ liegt darin, dass falls die Passwortdatei kompromittert wird (Einbruch auf dem Server, etc.) niemand an die zum Einloggen verwendeten Klartextpasswörter rankommt[1].

              Wenn der Client aber schon ein MD5-verschlüsseltes Passwort an den Server schickt bringt das gar nichts, da ein Mithörer einfach den abgefangenen MD5-Hash an den Server schicken könnte ohne das Klartextpasswort zu kennen. Du hast also nur ein Klartextpasswort, das die Form eines MD5-Hashs hat.

              Schöne Grüße,

              Johannes

              [1] Es gibt natürlich auch Ansätze, um an die mit MD5 'verschlüsselten' Passwörter heranzukommen, z.B. die schon genannten Rainbow-Tabellen. Insbesondere bei schlechten Passwörtern (Existierende Wörter, etc.) kann man damit durchaus Erfolg haben.

              1. Hallo Johannes,

                Wenn der Client aber schon ein MD5-verschlüsseltes Passwort an den Server schickt bringt das gar nichts, da ein Mithörer einfach den abgefangenen.

                Das ist nur teilweise richtig. Wenn man einfach den MD5-Hash des Passworts nimmt, hast Du recht.
                Aber man kann zusätzlich zum Passwort noch andere Daten verwenden, z.B. eine vom Server gesendete Zufallszahl, eine Sequenznummer, eine Prüfsumme der Anfrage die man verschicken will etc.
                Wenn man das richtig macht, kann man vermeiden, dass ein Mithörer das Passwort abfangen, die Nachricht verfälschen oder erneut verschicken kann.

                Eine Nachricht sollte in etwa so aussehen können:
                SequenzNr, Benutzer, md5(md5(Benutzer, Passwort), SequenzNr, md5(Daten)), Daten

                Das Passwort kann der Mithörer nicht herausfinden, eine neue Nachricht bräuchte die nächste Sequenznummer, ohne das Passwort kann er aber den neuen MD5-Wert nicht ausrechnen. Die Nachricht kann er auch nicht manipulieren, weil auch dann der MD-5 wert nicht mehr stimmt.

                Dass der OP sowas macht, wenn er fragt, wie man MD-5 entschlüsselt, ist natürlich eher nicht zu erwarten ;-)

                Grüße

                Daniel

      2. Hi $myname!

        Wie kann das sein? Arbeiten die beiden Funktionen nicht nach dem gleichen Algorithmus?

        Doch, tun sie.
        Der Fehler muss woanders liegen.

        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. Hi,

    kann man mit PHP MD5 zurückverwandeln?

    md5 kann man prinzipiell nicht zurückverwandeln.
    Weder mit PHP, noch sonst irgendwie.

    Es gibt zwar diverse Attackiermöglichkeiten wie BruteForce oder die RainBow-Tables-Methode (wenn man z.B. weiss, dass der verschlüsselte Hash eine IP-Adresse ist, gibt es ja nur 255*255*255*255 Möglichkeiten, die man dann automatisiert alle durchprobieren kann), aber wirklich zurückrechnen bzw. zurückverwandeln geht nicht.

    Zumal absolut verschiedene Werte den gleichen md5-Hash ergeben können.

    Mehr dazu hier.

    Greets - parse_error;

    --
    Dont ask to ask...
    .oO(Ohne Parse_Errors waere das Leben doch langweilig)
    SELFCode: ie:{ fl:{ br:< va:? ls:< fo:) rl:( n4:{ ss:} de:/ js:| ch:] sh:( mo:| zu:{