Ich versuche ein Login-System einzurichten, aber ich kann ein Problem nicht lösen: PHP gibt mir eine andere Ausgabe mit md5 (); als MySQL ...
Zum Beispiel in PHP:
%Vor%Rückkehr:
%Vor%Aber das MySQL-Äquivalent gibt mir eine kürzere Version:
%Vor%Was ist das Problem? Und wie arbeite ich damit, während ich Passwörter überprüfe?
Auf keinen Fall gibt MySQL es mit einer Länge von & lt; 32. Wenn Sie eine einfache Abfrage wie SELECT md5('brickmasterj')
ausführen würden, würden Sie sehen. Jetzt fügen Sie höchstwahrscheinlich den Wert in eine Spalte ein, die nicht breit genug ist.
Ist Ihr Datenbankfeld 32 Zeichen lang? Schreibst du mit mysqls md5 in die Datenbank?
Die Hash-Größe ist immer fix. In Ihrem Fall beträgt die Hash-Größe 128 Bit. Bei der Umwandlung in eine ASCII-Zeichenfolge wäre dies eine Zeichenfolge mit 32 Zeichen, die nur Hexadezimalziffern enthält.
Wenn Sie also ein variables Zeichen speichern, sollte die Länge mindestens 32 betragen
Beispiel: password varchar(32)
sollte in mysql Tabelle gehen, dann können Sie mit php mit aufrufen
select password from table where password =md5($password);