Использовать SHA-512 и соль для хэширования пароля MD5?

Я работаю над системой, которая хэширует пароли пользователей с помощью MD5 (без соли). Я хочу более безопасно хранить пароли, используя SHA-512 и соль.

Хотя это достаточно легко реализовать для будущих паролей, я хотел бы также модифицировать существующие хешированные пароли MD5, желательно не заставляя всех пользователей менять свои пароли. Моя идея состоит в том, чтобы просто использовать SHA-512 и соответствующую соль для хеширования существующего хэша MD5. Затем я могу либо установить какой-либо флаг в базе данных, который указывает, какие пароли были хэшированы из обычного текста, а какие — из хэша MD5. Или я мог бы просто попробовать оба варианта при аутентификации пользователей. Или даже просто хешируйте новые пароли с помощью MD5, а затем SHA-512/salt, чтобы их можно было обрабатывать так же, как старые пароли.

Программно, я не думаю, что это будет проблемой, но я недостаточно знаю о шифровании/хешировании, чтобы знать, не искажаю ли я каким-либо образом качество хэша, применяя SHA-512 /salt hash на пароль, который уже был хеширован MD5. Мой первый инстинкт заключается в том, что во всяком случае, это было бы еще сильнее, очень легкое растяжение клавиш.

Мой второй инстинкт заключается в том, что я действительно не знаю, о чем говорю, поэтому мне лучше получить совет. Есть предположения?

9
задан Jeremiah Orr 5 April 2012 в 12:09
поделиться