Как хешировать и солить пароли для базы данных mysql - PullRequest
0 голосов
/ 21 января 2019

Я видел много тем о хешировании и засолке пароля, а затем сравнивал их с хэшем и солью в базе данных MySQL, однако ни одна из них не помогла.

Они были либо действительно "неопределенными"'или не на правильном языке кодирования.

Я кодирую в Visual Basic.

Итак, я использую программное обеспечение форума под названием «MyBB», и оно шифрует пароль пользователя на MD5Хэш и генерирует соль вместе с ним.

Я успешно подключился к базе данных MySQL, и я могу войти в свое приложение, используя имя пользователя, однако, потому что я еще не хэшировал пароль и не солил его тогдасравнил два ... Я не могу войти, используя свой оригинальный пароль - вместо этого я должен использовать пароль hahsed MD5 из базы данных.

Мой вопрос: как вы хэшируете пароль, затем солите его, а затемСравните эти два, чтобы я мог войти в систему, используя свой оригинальный пароль без необходимости использовать хэш MD5 из базы данных?

Любая помощь будетоценил.

Я искал и читал множество тем, но ни одна из них не предоставила, как это сделать.В нем кратко упоминалось, что вам нужно его хэшировать и вводить пароль, а затем сравнивать их, однако в нем не было ни кода, ни шагов, как это сделать.Также есть небольшие темы о том, как сделать это в Visual Basic.Большинство из них для php и c #, что бесполезно, если вы не пишете в основном на этих языках.

1 Ответ

0 голосов
/ 21 января 2019

Хеширование и посол стали устаревшими в 1990-х, и MD5 - такой ужасный выбор для хеширования вообще и паролей в частности, что вы никогда не должны его использовать .

Рекомендуется использовать password_hash для правильного хеширования паролей и password_verify для их проверки.

Оба они по умолчанию используют Bcrypt , хэш, специфичный для пароля, который очень трудно взломать.

Вы можете использовать Bcrypt как на PHP, так и на других языках, это четко определенный стандарт, который точно так же поддерживается приложениями .Net. MD5, даже «соленый», совершенно неадекватен и требует немедленной замены.

Я настоятельно рекомендую вам как можно скорее переключиться на пароли на основе Bcrypt и перенести всех своих пользователей с MD5 на Bcrypt. Каждый раз, когда они входят в систему, вы можете обновлять поле пароля, если знаете, что совпадения с хешем MD5.

Чтобы узнать, насколько бесполезен MD5, найдите 73868cb1848a216984dca1b6b0ee37bc.

...