Web開発者は、パスワードハッシュという用語に出くわしたに違いありません。 少なくとも一度は。パスワードハッシュとは何か、なぜそれが必要なのかをすばやく理解しましょう。
パスワードハッシュとは何ですか?
パスワードハッシュ ユーザーのパスワードをデータベースに保存する前に暗号化するプロセスです。暗号化は一方向であり、一度ハッシュされたパスワードは元のテキスト値に復号化できません。
パスワードをハッシュする必要があるのはなぜですか?
今日、パスワードハッシュは非常に重要になっています。データベースがハッキングされ、ユーザーのすべての詳細がハッカーにさらされるシナリオを想定します。ハッカーはあなたのすべてのデータとユーザーのパスワードにアクセスできます。
ここで、データベース自体がハッキングされる可能性がある場合、パスワードを暗号化することのポイントは何であるか疑問に思う必要があります。まあ、答えはかなり簡単です。平均的なユーザーは、多かれ少なかれすべてのWebサイトに単一のパスワードを使用します。したがって、ハッカーがサイトでユーザーのパスワードにアクセスできる場合、ハッカーは他のWebサイトでユーザーの他のアカウントにアクセスすることもできます。また、これらのパスワードは闇市場で販売されることがよくあります。これらは、さまざまなパスワード辞書などを作成するために使用できます。
パスワードをハッシュする方法は?
パスワードハッシュ 通常、暗号化アルゴリズムの助けを借りて行われます。 Bcryptは、さまざまなアルゴリズムを使用できる最もよく使用されるハッシュ関数の1つです。一般に、bcryptまたはハッシュの良いところは、ハッシュの長さをすでに知っていることです。したがって、テーブル内のすべてのパスワードフィールドの長さは同じです。ログイン時にパスワードを確認するには、送信されたパスワードをハッシュする必要があり、ハッシュ値はレコードの値と一致する必要があります。このプロセス全体は遅く、ブルートフォース攻撃に対して本当に役立ちます。