PHP: encrypt/decrypt geeft andere data….

Ik ben bezig aan een project waarbij ik login data encrypted opsla in sessies en cookies. Nu gebruik ik de mcrypt functies in PHP. Ik was dingen aan het testen maar om de één of andere reden was de data die nog niet encrypted was korter dan de decryptie van de encryptie. Encryptie werkt blijkbaar met blocks en als een block niet helemaal vol zit, dan gaat de functie data toevoegen achteraan de encryptie. Het is lastig om te detecteren want de zie je niet in een var_dump of dergelijke. Dus als je data decrypt met mcrypt, voer dan een rtrim uit zodat de achteraan weg zijn.

return rtrim(mcrypt_decrypt(self::$_algorithm, self::$_privateKey, $data, self::$_mode), “\4”);

Advertenties