Многие люди, похоже, бьют по спрашивающему, потому что он ищет медленную хэш-функцию. На самом деле, при прочих равных условиях более медленная хеш-функция более безопасна, чем быстрая. Это связано с тем, что более медленная хеш-функция приводит к более медленному генерированию радужных таблиц и более медленным атакам методом подбора или словарным атакам на пароль .
От Томаса Птачека по адресу http://www.securityfocus.com/blogs/262,, как указано в этой статье Кодовый ужас :
Проблема в том, что MD5 работает быстро. Так
являются его современными конкурентами, такими как SHA1
и SHA256 . Скорость является целью дизайна
современный безопасный хеш, потому что хеш
являются строительным блоком почти каждого
криптосистемы и обычно получают
выполняется по требованию для пакета или
за сообщение.
Скорость - это то, что вам не нужно
в хэш-функции пароля.
Современные парольные схемы подвергаются атакам
с пошаговыми взломщиками паролей.
Дополнительные крекеры не
просчитать все возможные трещины
пароли. Они считают каждый пароль
хэш индивидуально, и они кормят своих
словарь через хеш пароля
функционировать так же, как ваш логин PHP
страница будет. Крекеры Радужный стол
как Ophcrack использовать пространство для атаки
пароли; дополнительные крекеры, такие как
John the Ripper, Crack и LC5 работают
со временем: статистика и вычисления.
Игра с парольной атакой
Время взломать пароль X. С
Радужные столы, это время зависит от
насколько большим должен быть ваш стол и как
быстро вы можете найти его. С
добавочные крекеры, время зависит
о том, как быстро вы можете сделать пароль
запуск хеш-функции.
Чем лучше вы можете оптимизировать свой
хэш-функция пароля, быстрее
хэш-функция вашего пароля получает,
слабее твоя схема есть. MD5 и SHA1,
даже обычные блочные шифры, такие как
DES, предназначены для быстрой работы. MD5,
SHA1 и DES являются слабым паролем
хэши. На современных процессорах, сырой крипто
строительные блоки, такие как DES и MD5 могут
быть нарезанным, векторизованным и
распараллелен, чтобы сделать поиск пароля
молниеносно Game-over FPGA
внедрения стоят только сотни
долл.
Некоторые комментарии к документации PHP MD5 также обсуждают предпочтения медлительности.
Чтобы ответить на ваш вопрос, похоже, BCrypt - это путь. Однако я не смог найти никаких реализаций для ASP Classic. Если это правда, я бы придерживался обычной хеш-функции, такой как SHA512.