0

私が取り組んでいる Web サイトでは、ログイン パスワードを MD5 でハッシュしています。

ユーザーが自分のパスワードを忘れたので、私はデータベースにいて、パスワードを自分のパスワードに設定しました...

update users set pass = md5('thiS1smyp4s5w@rd')
where userid = 974

アプリケーションは MD5 ハッシュを使用し、Md5 ハッシュでパスワードを設定しましたが、このユーザーの詳細でログインできず、疑問に思っていました...

ハッシュ アルゴリズムはプラットフォーム間で同じですか、それとも .NET で行われる方法と、ハッシュ値が異なる原因となる MySQL での動作方法に違いがありますか?

4

1 に答える 1

0
  1. MD5 を使用してパスワードをハッシュしないでください。安全ではありません。BCrypt または PBKDF2 を使用します
  2. MD5 仕様はプラットフォームに関係なく一貫している必要があります。問題を引き起こす可能性があるのは、出力される hexits の文字が異なるケース (たとえば、小文字ではなく大文字) である可能性があるという事実です。これは、大文字と小文字を区別する場合にのみ問題になります。データベース クエリ。
  3. つまり、辞書攻撃を防ぐためにパスワードをソルトすることができます
于 2015-09-24T23:28:18.830 に答える