Если вы сравниваете строки, используйте strcmp
или ===
. Люди предпочитают ===
, потому что strcmp
может сбивать с толку (возвращает 0
в случае успеха, ват).
Вы должны использовать ===
, а не ==
. ==
преобразует оба операнда в целые числа, если их можно интерпретировать как таковые, и поскольку хэш MD5 не помещается в целое число, они будут усечены примерно до половины. Следовательно, только первые половины хэшей должны быть равны. Смотри http://phpsadness.com/sad/47.
Если вы хэшируете пароли, рассмотрите возможность использования медленного и сильного алгоритма хеширования, такого как PBKDF2, а не MD5.