2011-06-22 2 views
0

J'ai ce code:Php mcrypt ne fonctionne pas correctement

$original = 'zner5'; 
$new = mcrypt_decrypt(MCRYPT_3DES, 'keyCodeEncryption', 'C¹`Û‡”fa', 'ecb'); 
if($original == $new) 
{ 
    echo "$original == $new"; 
} 
else 
{ 
    echo "$original != $new"; 
} 

Il produit 'zner5 = zner5!'. Pourquoi?

+0

Est-ce que! Strcmp ($ original, $ new) fonctionne? –

Répondre

1

me semble me rappeler de frapper ce problème moi-même il y a quelque temps, et si je me souviens bien, mcrypt_decrypt() peut vous donner une chaîne binaire avec zéro supplémentaire octets sur la fin, alors essayez ceci:

$new = trim(mcrypt_decrypt(...)); 
+0

Merci pour cela - a travaillé un charme –

+0

Note: Vous aurez probablement besoin de trim (mcrypt_decrypt (...), "\ 0") dans le cas où votre chaîne d'origine a un remplissage d'espaces que vous voulez rester intact. –

1

Essayez d'utiliser strcmp au lieu de == pour tester l'égalité.

Questions connexes