+ 1 для хранения хеша пароля вместо хранения самого пароля.
Для защиты от предварительных вычислений атак следует использовать случайную соль. Кроме того, это, вероятно, хорошая идея использовать более сильный алгоритм хеширования, такой как SHA-256, который, я думаю, поддерживается в PHP. См. Безопасный хэш и соль для паролей PHP для получения дополнительной информации.
Я не знаю PHP, но большинство языков имеют библиотеку, которая поддерживает md5 и (и другие алгоритмы хеширования), которые также поддерживает PHP. Я нашел это:
string md5 ( string $str [, bool $raw_output = false ] )
Вычисляет MD5-хэш str с помощью »RSA Data Security, Inc. Алгоритм дайджеста сообщений MD5 и возвращает этот хэш.
Вот пример:
<?php
$password = 'apple';
if (md5($password) === '1f3870be274f6c49b3e31a0c6728957f') {
echo "Password correct";
}
?>