MD5 gibt anderen Wert zurück

nchristoph

Erfahrenes Mitglied
Hallo zusammen,

ich stehe vor folgendem Problem:

MD5 gibt 2 verschiedene Werte zurück.

In der Datenbank wird das abgespeichert: 57b80c0520a34fba37753f4a8cdc8dcb
Wenn ich mit PHP MD5 den Hash generieren ausgeben lasse kommt das raus: 123f8d8802065a65c6e52a6acb5dec0d

Es ist bei beiden definitiv dasselbe Passwort.

Das ganze ist aus dem IPB Board. Wenn man den Algorithmus verwenden von IPB: md5(md5(salt).md5(pass)) kommt das raus.:6ae537c6cdfde378d6b48ddd16507cd5

Ich muss die DB mit dr DB von unserem Gameserver Syncen damit die Leute sich einloggen können.

Kann z.b. Mod_Auth sowas verursachen? Ich stehe da so langsam an mit meinem PHP Wissen.

Hat von euch wer ne Ahnung?
 
Salt spielt nicht so eine grosse rolle weil der Hash schon anders aussieht wenn man nur das Passwort durch MD5 jagt.

Hab das jetzt noch mal mit 12345 versucht

MD5 PHP: 827ccb0eea8a706c4c34a16891f84e7b
MD5 ForumDB: 795f76097d6bc1c6738c761c6c04241d

Charset der ForumDB: Latin1_swedish_ci

Code:
PHP:
$pass = md5("12345");
 
Ich empfehle dir, dass du das Passwort vielleicht nicht selbst übernimmst, sondern nur die ganzen Userdaten ohne Passwort rüber lädst und dann bei allen, wo kein Passwort drin ist, ein neues generieren lässt.

Dieses Passwort sendest du den Usern per E-Mail, mit denen die sich registriert hatten und weißt diese darauf hin, dass Sie dieses bitte nach dem ersten einloggen, wieder ändern sollen. ;)

Damit hast du die wenigsten Kopfschmerzen. ;)
 
Hallo,

Sry für die späte Antwort. Wir haben das Problem mittlerweile gefixt. Der Hoster des Servers hat tatsächlich mod_auth installiert und der verändert irgendwie den hash. Abgeschaltet und ging.

Danke an alle.
 
Hast du dazu Details? Ich kann mir nicht vorstellen, dass ein Apache-Modul beeinflusst, wie die MD5-Funktion des Datenbanksystems arbeitet. (Die von PHP lieferte zumindest in #3 den korrekten Wert.)

Glaubt man dem Internet, scheint die Eingabe, die zu dem zweiten Hash-Wert aus #3 führt (795f76097d6bc1c6738c761c6c04241d) so grob diese zu sein:

Code:
OCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>
404 Not Found</title> </head><body> <h1>Not Found</h1> <p>
The requested URL /md5/get.php was not found on this server.</p> <hr> <address>Apache/2.2.22
(Debian) Server at example.com Port 80<

Ich konnte das jetzt nicht verfizieren, weil die Seite, von der ich das habe, wahrscheinlich auch schon irgendwie die Bytes verändert hatte (Whitespace, was weiß ich). Deshalb habe ich hier auch noch mal Zeilenumbrüche eingefügt und Entities aufgelöst für die Lesbarkeit. Es ist also sinnfrei, den String oben als Eingabe für Tests nehmen zu wollen.

PS: Servername auch mal durch "example.com" ersetzt.
 
Zuletzt bearbeitet:
Zurück