Mcrypt geht nicht - Hilfe

Hi,

ich bin mit meiner Seite jetzt zu bplaced umgezogen und habe das erste Problem:
mcrypt funktioniert nicht. Hier das Snippet welches Probleme macht:

if(isset($_COOKIE['pcprofil_login'])){ #$pw = str_replace($autologin_salt, "", $_COOKIE['pcprofil_pw']); $pw = $_COOKIE['pcprofil_login']; $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $pw = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $autologin_key, $pw, MCRYPT_MODE_ECB, $iv); $pw = base64_decode($pw); $pw = explode("|", $pw); $_user = $pw[0]; # user $pw = $pw[1]; # password $pw = dbescape($pw); # db escape $sql = "SELECT * FROM ".DB_PREFIX."user WHERE `password` = '".$pw."' AND `username` = '".$_user."'"; $result = $db->query($sql); if($result->num_rows != 0){ $row = $result->fetch_assoc(); #$_SESSION['user'] = $_COOKIE['pcprofil_user']; $_SESSION['user'] = $row['username']; $_SESSION['uid'] = $row['id']; $sql = "DELETE FROM ".DB_PREFIX."counter WHERE IP = '".$_SERVER['REMOTE_ADDR']."' AND `user` = 0"; $db->query($sql); } }

Dies ist die Zeile welche Probleme macht:
$pw = $pw[1]; # password

Wenn ich etwas debugge mit einem:
die(var_dump($pw));

Erhalte ich folgendes:
array(1) { [0]=> string(9) “�@�6�I�m” }

Ich würde mal darauf tippen, dass da entweder falsch verschlüsselt oder entschlüsselt wird.

Vielen Dank im Voraus!

Du hast auch einiges an unnötigem Code (z.B: den IV, der ist bei ECB sinnlos)

Ein Beispiel wie ich es machen würde:
progandy.bplaced.net/test.php

Danke, ich werd mal versuchen, das vorübergehend umzuändern, aber serialisieren + cookies ist ne ganz schlechte Idee :smiley:

Egal, ich änder das soweiso komplett, also dass die Cookies in der Datenbank gespeichert werden.

Warum soll Serialize bei Cookies schlecht sein? Du hast ja sowieso die Verschlüsselung drin und die paar Zeichen mehr wird der Cookie doch noch aufnehmen können.