web-dev-qa-db-ja.com

ハッシュのポイントは何ですか?

会社のハッシュ実装を調べていたところ、rootユーザーのパスワードがbase64エンコーディングで保存されていることがわかりました。誰かが単にパスワードをコピーしてbase64-dを実行するのを防ぐにはどうすればよいですか?または、誰かが他のbase64パスワードに対して同じことをするために?

ここで何かが足りませんか?

2
jacksonecac

ハッシュはエンコーディングではなく、不可逆的な数学的変換です。ハッシュを取得して計算を逆にして元の値を見つけることはできません。パスワードを試し、ハッシュをハッシュしてハッシュが一致するかどうかを確認することによってのみ、ブルートフォースハッシュを試すことができます。

パスワードは通常、base64でエンコードされたパスワードのソルトハッシュとして保存されます。パスワードを回復不能にするのはハッシュ部分です(そしてソルト部分は、事前に生成されたハッシュのリストが役に立たないことを意味します)。理想的には、ハッシュ自体が長い計算を使用するため、ブルートフォーシングのコストが高くなります(ユーザーが指定したパスワードが有効かどうかを判断するために1つのハッシュを実行するだけでよいため、名目上の場合のハッシュのコストは気にしません) )。

詳細については、 パスワードを安全にハッシュする方法 を参照してください。

6
Stephen Kitt