Tom: Wie md5()-verschlüsseltes Passwort versenden?

Hallo,

ich würde gerne in ein User-Verwaltungs-Script eine Funktion einbauen, um Usern, ihr Passwort per E-Mail zuzusenden, falls sie es vergessen haben.
Nun wurde mir gestern geraten, Passwörter mit md5() zu verschlüsseln ([pref:t=35499&m=193713]). Aber ein md5-verschlüsseltes Passwort kann ja nicht mehr entschlüsselt werden.
Gibt's da also eine andere Möglichkeit? Oder muss ich die Passwörter nicht unbedingt mit md5 verschlüsseln, wenn sie in einer Datenbank gespeichert werden? Wer auf die DB zugriff hat, kann ja mit den Daten eh machen, was er will.

Danke,
Tom

  1. Moin Moin !

    Vergib einfach ein neues, generiertes Password und speichere es als MD5-Hash in deiner DB.

    Wenn Dein DB-Frontend eine Lücke aufweist, mit der man die Password-Tabelle auslesen kann, ist eine MD5-Verschlüsselung sehr hilfreich für Dich und sehr störend für den Angreifer. Also bleib dabei.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
    1. Vergib einfach ein neues, generiertes Password und speichere es als MD5-Hash in deiner DB.

      Dann wird ja das alte ungültig. Und was, wenn jemand zum Spaß für andere User Passwörter zuschicken läßt? Klar, die bekommt trotzdem der User, wenn das aber öfter vorkommt, wäre das nervig.

      Tom

      1. Hallo Tom,

        Vergib einfach ein neues, generiertes Password und speichere es als MD5-Hash in deiner DB.
        Dann wird ja das alte ungültig. Und was, wenn jemand zum Spaß für andere User Passwörter zuschicken läßt?

        Bis der User sich das erste Mal mit dem neuen Passwort angemeldet hat, müssen beide gültig sein - wenn er sich dann mit dem neuen anmeldet, wird das alte weggeworfen, und wenn er sich mit dem alten anmeldet wird eben das neue weggeworfen.

        Klar, die bekommt trotzdem der User, wenn das aber öfter vorkommt, wäre das nervig.

        ja, aber es kann auch sein, dass er seine Mails gerade nicht abrufen kann, oder dass die Mail irgendwo verlorengegangen ist.

        Grüße aus Nürnberg
        Tobias

        1. Moin Moin !

          Vergib einfach ein neues, generiertes Password und speichere es als MD5-Hash in deiner DB.
          Dann wird ja das alte ungültig. Und was, wenn jemand zum Spaß für andere User Passwörter zuschicken läßt?

          Das muß ja nicht automatisch passieren. Bei einer kleinen Benutzergruppe läßt sich das wesentlich "dichter" machen, wenn nur ein Administrator/Supporter den Mailversand auslösen kann. "Spaßvögel" fallen dann schnell auf. Und die Mail wird natürlich nur an eine registrierte Mailadresse verschickt.

          Bis der User sich das erste Mal mit dem neuen Passwort angemeldet hat, müssen beide gültig sein - wenn er sich dann mit dem neuen anmeldet, wird das alte weggeworfen, und wenn er sich mit dem alten anmeldet wird eben das neue weggeworfen.

          Das erhöht nur den Verwaltungsaufwand. Das alte Password wird gnadenlos überschrieben. Egal ob Spaßvogel oder Ernstfall, der User hat sein neues Password bekommen.

          Klar, die bekommt trotzdem der User, wenn das aber öfter vorkommt, wäre das nervig.

          Wie gesagt, ein Admin/Supporter dazwischen und gut is'.

          ja, aber es kann auch sein, dass er seine Mails gerade nicht abrufen kann, oder dass die Mail irgendwo verlorengegangen ist.

          Wer ins Netz kommt, sollte auch an die Mails kommen. Auch dieses Problem löst ein zwischengeschalteter Admin/Supporter.

          Das ist hier (in der Firma) tägliche Praxis mit über 2000 Leuten.

          Alternative für vollautomatischen Betrieb: Bevor man ein neues Password zugeschickt bekommt, muß man eine persönliche, schwer richtig zu erratende Frage beantworten, die (zusammen mit der Antwort) vorher im System abgelegt wurde. Z.B. Geburtsname der Oma mütterlicherseits, wie viele Brüder hat der Vater, Lieblingsfarbe, usw. Das bremst "Spaßvögel" schon mal kräftig aus.

          Auch der Hinweis, daß alle Daten beim Zusenden eines neuen Passwords aufgezeichnet und ausgewertet werden, bremst "Spaßvögel".

          Alexander

          --
          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"