- は、私はあなたのデータベース列が「passowrd」と命名されていません願っています
さておき...
塩、それはあなたがが辞書攻撃から保護するためにをハッシュする前に、各パスワードに追加する必要がランダムビットですが、暗号化方式ではありません。
は、AES暗号化を使用してユーザーパスワードを保管する必要があります。これは元に戻すことができます。あなたはユーザーのパスワードがであることに気づかず、知っているだけです。パスワードを可逆形式で保存しないでください。
は代わりに、あなたは安全な一方向ハッシュ、SHA256などやパスワードに加えて、いくつかのランダムデータの、さえbcryptのを使用しています。このランダムなジャンク「塩」は、各ユーザーに対して生成され、ハッシングの前にパスワードに付加されます。その後、ハッシュされたデータとともにデータベースに格納され、後でパスワードを比較することができます。
この方法で、レインボーテーブル(ハッシュ・ツー・平文のマッピングの大辞典)と呼ばれるもので、攻撃者が一緒に来ることができないとああ見える」を参照してください、ジョー・ユーザーが自分のパスワード 『パスワード』を作ることにしました! "これは、各アカウントに独自のソルトがある場合、それぞれのパスワードを独立して攻撃する必要があるため、データベース内のすべてのパスワードをブルートフォースすることも防ぎます。
+1ほとんどの場合、塩分のある一方向ハッシュを使用する必要があります。可逆暗号化を使用すると、間違った人物がパスワードにアクセスする可能性があります(たとえ自分の従業員であっても、たとえば暗号化/復号化アルゴリズムにアクセスできる人でも)。ほとんどのユーザー(不幸な)パスワードをリサイクルする傾向があることを考えると、これは重大なリスクをもたらします。 –
あなたの答えにBorealidを感謝します。 –