2009-04-29 2 views
1

Я, возможно, принимая над собой приложение, которое буквально только шифрует пароли пользователей, выполнив md5 (пароль)схемы шифрования паролей Перенастройка

Они ~ 2000 пользователей на сегодняшний день. Как перенести эти пароли на более строгую схему шифрования (например, с использованием соли, пользовательского хеша и их пароля, все зашифрованные с помощью sha1, bcrypt, что угодно)?

ответ

2

MD5 - cryptographic hash function, не обязательно метод шифрования. Хэш предназначен для выполнения только в одном направлении и не может быть отменен, кроме как с помощью атаки со словарем. Например, вы можете попробовать это hash database lookup, если вы чувствуете себя резвым.

Возможно, вы захотите сохранить эти старые пароли в отдельном столбце, а затем, когда пользователи войдут в «новую» систему, сравните версию этого пароля с MD5 со старым, и если дайджест соответствует, выполните SHA1 с солью на этом пароле и сохраните это в отдельной колонке.

Альтернативно, и, вероятно, лучший подход - это сила, с которой пользователи меняют пароли ... и когда они вводят свой новый, вместо этого используйте вместо него новый алгоритм хеширования.

+0

спасибо! я думал о чем-то подобном - в интересах избежать использования силы, чтобы изменить свою систему паролей, я думал о переносе существующих паролей в дополнительный столбец, как вы упомянули, и просто перешифровать «на лету». к счастью, я имею дело с 2k пользователями против 20k или 200k. – Kyle