Patrick.Karre Geschrieben 8. Februar 2006 Teilen Geschrieben 8. Februar 2006 Hallo Forum, wenn ein Benutzer ein Kennwort eingibt, wird dies bei mir in der Datenbank abgelegt. Jetzt möchte ich aber auch, dass das Kennwort verschlüsselt wird. Wie stelle ich dies am besten an? Gibt es schon funktionen, die dies für mich machen? Gruß aus Hanau Patrick Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 8. Februar 2006 Teilen Geschrieben 8. Februar 2006 md5($password); erstellt eine 32 Zeichen lange Hexzahl. nicht umzukehren. Wenn PW vergessen, muss neues erstellt werden Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 8. Februar 2006 Autor Teilen Geschrieben 8. Februar 2006 Jetzt wo du es sagst / schreibst sehe ich die Möglichkeit das Passwort sicher zu verschlüssen. Gibt es keine Möglichkeit das Passwort wieder auszulesen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 8. Februar 2006 Teilen Geschrieben 8. Februar 2006 Jetzt wo du es sagst / schreibst sehe ich die Möglichkeit das Passwort sicher zu verschlüssen. Gibt es keine Möglichkeit das Passwort wieder auszulesen? wofür ? wenn man es umkehren könnte, wäre ein PW nicht mehr sicher ... ich glaube die umkehrung von md5 ist nur theoretisch möglich und bis dato ungeknackt. in der regel würde man BF einsetzen, aber das dauert bei einem 128bit hash und einem PW , dass aus theoretisch unendlich vielen zeichen bestehen kann Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tallman Geschrieben 8. Februar 2006 Teilen Geschrieben 8. Februar 2006 Jetzt wo du es sagst / schreibst sehe ich die Möglichkeit das Passwort sicher zu verschlüssen. Gibt es keine Möglichkeit das Passwort wieder auszulesen? ma, du liesst dann halt das verschlüsselte passwort aus und vergleichst es mit dem passwort was der benutzer eingegeben hat, dass musst du vorher nur auch nochmal verschlüsseln. wenn er das richtig eingegeben hat, sind beide hashs gleich.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whatever Geschrieben 8. Februar 2006 Teilen Geschrieben 8. Februar 2006 MD5 ist nicht umzukehren da MD5 kein Verschlüsselungs- sondern ein Hash-Algorithmus ist. Egal wie lang die eingabe ist, das Hash den MD5 auswirft ist immer gleich lang. MD5 zu überwinden ist nur möglich, wenn man aus jeden möglichen Ursprungstext einen Hash erzeugt und mit dem fertigen Hash vergleicht. Nun zu der Idee ein Passwort "verschlüsselt" zu speichern. Zunächst: Alles was du selbst Programmieren kannst ist unbrauchbar, dann kannst du es auch im Klartext speichern. Es gibt zwar jede Menge sichere Verschlüsselungsmethoden, aber dazu braucht man immer einen Schlüssel. Und damit dein Script die Daten entschlüsseln könnte, bräuchte es diesen Schlüssel. Nun kann man aber davon ausgehen, dass jemand der deine Datenbank auslesen kann auch in deine Scripte reinschauen kann. Was wiederum die Verschlüsselung sinnlos macht. Die einzige Methode die sicher ist, funktioniert über Hashes (z.b. MD5). Du hasht das Passwort beim speichern in der Tabelle und vergleichst bei jedem einloggen die gehashte eingabe mit dem DB-Eintrag. Sind die gleich ist das Passwort richtig (das zwei Eingaben den selben Hash erzeugen ist seeehr, seeeehr, seeehr unwahrscheinlich und afaik ist auch kein Fall bekannt). Wenn der Benutzer sein Passwort vergessen hat, generierst du ein neues, zufälliges und schickst ihm das. Ich persönlich traue keinem Anbieter, der in der Lage ist mir mein vergessenes Passwort im Klartext zuzuschicken. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 8. Februar 2006 Autor Teilen Geschrieben 8. Februar 2006 Gut, nach kurzem drüber nachdenken kam ich zu dem Schluss, wer sein Passwort vergisst, bekommt ein neues durch einen Zufallsgenereator ;-)) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 9. Februar 2006 Teilen Geschrieben 9. Februar 2006 Ich würde beim verschlüsseln lieber auf sha1() setzen. Macht nichts anderes als md5() nur eben sicherer. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PuppetMaster Geschrieben 9. Februar 2006 Teilen Geschrieben 9. Februar 2006 Da du das Passwort in der DB speichern willst, würde ich einfach sagen auch die DB bzw. SQL das Verschlüsseln übernehmen zu lassen. Sieh dir in dem Zusammenhang mal AES_ENCRYPT und AES_DECRYPT im MySQL-Manual an. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sockä Geschrieben 9. Februar 2006 Teilen Geschrieben 9. Februar 2006 Ja, das Verschlüsseln auf DB-Ebene macht Sinn. MySQL kann ja was mit MD5 anfangen und dann machst du in deinem PHP-Skript nix anderes als if( md5($eingabePasswort) == MD5_Passwort_aus_DB) // eingeloggt else // falsches Passwort ... und kannst natürlich auch was anderes als MD5 nehmen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 9. Februar 2006 Autor Teilen Geschrieben 9. Februar 2006 Danke für eure Unterstützung. Ich habe mich für MD5(Kennwort) entschieden und die Passwörter bereits umgestellt. Ich möchte nur gewährleisten, dass die Passwörter nicht von jeder beliebigen Version ausgelesen werden können. Gruß aus Hanau Patrick Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oneside Geschrieben 11. Februar 2006 Teilen Geschrieben 11. Februar 2006 Danke für eure Unterstützung. Ich habe mich für MD5(Kennwort) entschieden und die Passwörter bereits umgestellt. Ich möchte nur gewährleisten, dass die Passwörter nicht von jeder beliebigen Version ausgelesen werden können. Gruß aus Hanau Patrick Deswegen werden Passwörter auch nicht im Klartext in Datenbanken abgelegt. Könnte man das verschlüsselte Passwort einfach wieder entschlüsseln, wäre das ganze ja für die Katz :beagolisc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.