MD5-Verschlüsselung

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/md5-verschluesselung_65338/page_1 - zur Vollversion wechseln!


jb schrieb am 31.01.2003 um 17:37

Situation: User soll sich in Paßwortgeschützen Bereich einloggen können, sein Paßwort ändern, irgendwas anschauen und auch wiederausloggen können.
Paßwort soll in MySQL Datenbank gespeichert werden (verschlüsselt).
Verschlüsselung wird mit PHP-Script gemacht.

Nun die Frage: wie gut ist MD5 für die Verschlüsslung von Paßwörtern, ist das für meinen Zweck brauchbar?


atrox schrieb am 31.01.2003 um 17:41

md5 ist narütlich nur eine hash-funktion und keine verschlüsselung.

du kannst md5 in diesem zusammenhang an vielen stellen verwenden... als chellenge-response für die passworteingabe (dann brauchst auch eine javascript-version von md5 - gibts alles im netz). für sessions-id, zum abspeichern des passworts in der datenbank...

mysql bietet übrigens auch einen eigene password-hash funktion "password()" - ist aber glaub ich DES basierend ?


mad-mat schrieb am 31.01.2003 um 17:51

wennst beim anlegen des Users
INSERT INTO `usertable` ( `ID` , `NAME` , `PASSWORD` )
VALUES (
'', 'user1', PASSWORD( 'blabla' )
);
verwendest, schaut blablabla dann im datensatz so aus:
71e5e1e45222b9c4
(die oben genannte hash funktion)

edit:
weiters

dann erzeugst eine session-variable am server, die den user gegenüber dem script als richtig angemeldet authentisiert....
im mysql die richtigen zugriffsrechte für den user vergeben...
session variable killen, wenn der client nimmer connected ist...

die verwendeten seiten sollten alle die sagma mal "authenticate.php" beinhalten (include), die immer auf die session variable checkt, sonst den browser ans login schickt


noledge schrieb am 31.01.2003 um 17:54

wennst die passwörter md5 verhasht abspeichern willst - für den einsatzzweck vollkommen in ordnung.

da md5 praktisch eine "einmalverschlüselung" ist, kannst es nimmer entschlüsseln, also musst das eingegebene passwort vom login auch md5-verhashen und dann mit dem hash in der db vergleichen - stimmen sie überein, ist das passwort korrekt.

edit: die chance, dass 2 unterschiedliche strings den selben hash erzeugen (ohne brute force) ist praktisch 0.

dennoch ist md5 nicht 100%ig sicher, wenn jemand auf die hashes zugriff hat (sollte aber normal eh nicht sein.) in dem fall würd sich SHA (secure hash algorithm) eignen - musst aber schauen, ob das unterstützt wird.


jb schrieb am 31.01.2003 um 18:59

Das mit Session-ID usw heb ich mir für später auf, einstweilen reicht es den User nur zu erkennen und das eingegebene PW mit dem in der DB zu vergleichen.
Daß es eine Einmal-Verschlüsselung ist ist mir bewust...
Wie wird eigentlich hier im Forum das Paßwort verschlüsselt???


noledge schrieb am 01.02.2003 um 07:42

wenn vom original-vb nichts verändert wurde - lt. changelogs vom vb md5


Philipp schrieb am 01.02.2003 um 14:18

Nahezu alle PHP Applikationen verwenden MD5 zum verschlüsseln.

Die anderen PHP Scripts verwenden meistens:

1) Keine Verschlüsselung. Selbst bei vB < 2.2.0 waren die Passwörter nicht verschlüsselt.
2) crypt(). Ingesamt schlechter und inkompatibler als MD5.


jb schrieb am 01.02.2003 um 16:24

Ok danke, werd also mit MD5 "verschlüsseln" wenn man das so nennen kann.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025