У меня есть этот код:
$original = 'zner5'; $new = mcrypt_decrypt( MCRYPT_3DES, 'keyCodeEncryption', 'C¹`Û‡”fa', 'ecb'); if( $original == $new) { echo "$original == $new"; } else { echo "$original != $new"; }
Выводит «zner5! = Zner5». Почему?
Попробуйте использовать strcmp вместо == для проверки равенства.
==
Кажется, я помню, как сам решал эту проблему некоторое время назад, и если я правильно помню, mcrypt_decrypt () может дать вам двоичную строку с дополнительными нулевыми байтами в конце, поэтому попробуйте это:
$new = trim(mcrypt_decrypt(...));