[PHP/MySQL] MD5-Wert bei Datenbankeintrag falsch?

FreeZeY

Lt. Junior Grade
Registriert
Aug. 2004
Beiträge
398
Hallo zusammen.
Kann es sein, dass, wenn man den MD5-Wer eines Strings (in meinem Fall Passwort) in eine Variable zwischenspeichert und diese dann in eine Datenbank einpflegen möchte, ein ganz anderer Wert eingetragen wird?
also dazu mal ein Beispiel:

PHP:
<?php
  $passwort = "Passwort";
  $md5passwort = md5($passwort);
  echo $md5passwort; //Gibt den richtigen MD5-Wert aus!
Und wenn ich dann den wert $md5passwort in die MySQL-Datenbank speichern möchte.. Dann speichert der irgend nen anderen Wert ein.
Wenn ich aber den MD5-Wert nicht in eine Variable packe und nacher in dem Query einfach md5($passwort); benutze, dann gehts :freak: .

Habe es mit PHP 4.3.3 getestet und (ich glaube) einer 4.0.x MySQL-Version.

Ich meine, das ist jetzt kein Problem für mich, aber mir ist es aufgefallen.


FreeZeY
 
Nö kann eigentlich nicht sein.
Zeig doch mal ein paar Queries und was dann in der DB steht - vielleicht sieht man dann den fehler.

PS: Titel kann man editieren, in dem man den 1. Post bearbeitet und den Betreff ändert.
 
Hmm.. die Queries hab ich grad net hier.
Aber, das sah in etwa so aus:

PHP:
$sql = 'UPDATE user SET
             passw = "'.$md5passwort.'"
             where ID = "1"';
//Trägt irgend nen komischen MD5-Wert ein.

/---

$sql = 'UPDATE user SET
             passw = "'.md5($passwort).'"
             where ID = "1"';
//Trägt den richtigen MD5-Wert ein.
 
Auf welche DB im mysql läuft das Update??

Zufällig 'mysql'?

Spontan würde ich mal darauf tippen, dass der Typ des Feldes 'passw' in deiner Datenbank nicht Varchar oder Char ist. Sonst kann ich mir das nicht erklären. Es gibt in mysql eine eigene Verschlüsselung für Passwortfelder und die wird er bei dir wohl auslösen.


Ciao
 
Das Feld ist varchar(32).

S.Giny schrieb:
Auf welche DB im mysql läuft das Update??

Zufällig 'mysql'?

Nee.. das ist die DB usr_webxx_1 (xx für meinen confixx-benutzer)
 
Zuletzt bearbeitet:
wie waere es mal mit einem brauchbaren codeabschnitt direkt aus deinem script?
 
Hmm.. wie gesagt. Ich hab das Skript nicht hier.
Aber gibt es denn irgendwelche Ursachen, die das haben könnte?

Ich werde aber sehen, dass ich das Skript hier nochmal präsentieren kann ;)
War zumindest nur die änderung, die ich beschrieben habe. danach ging es wunderbar. und ich habe auch keine weitere änderung an dem skript vorgenommen.
 
Öhm - eigentlich wollte ich nicht den PHP Sql Code - sondern das was bei echo $sql rauskommen würde :)
 
Zurück
Oben