Вы не должны использовать MD5 для хеширования паролей, это очень небезопасно. Что вам нужно сделать, так это использовать пользовательскую соль и, возможно, 3 различных алгоритма хеширования, для запуска которых требуется не менее 1 секунды. Может показаться, что 1 секунда - это долго, но в этом суть. Ваш пользователь должен войти на сайт только один раз, и взломщик должен будет потратить одну минуту, пытаясь использовать только 60 различных паролей. Лично я использую специфическую для сайта соль и специфическую для пользователя соль Таким образом, если бы моя база данных была скомпрометирована, им бы все равно не хватало некоторых частей для взлома паролей.