ハッシュ化されたパスワードフィールドに使用するデータタイプとその長さは?
パスワードのハッシュ化がどのように機能するのかわかりませんが(後で実装する予定)、今はデータベーススキーマを作成する必要があります。
パスワードを4~20文字に制限しようと考えていますが、暗号化後のハッシュ文字列は異なる長さになると理解しています。
では、これらのパスワードをどのようにしてデータベースに保存するのでしょうか?
258
3
ソルティングについては、このWikipediaの記事が参考になるかもしれません価値ある。これは、ハッシュ値をランダム化するためのデータを追加するというアイデアです。これにより、誰かがパスワードのハッシュ値に不正にアクセスした場合、辞書攻撃からパスワードを守ることができます。
固定長の文字列(VARCHAR(n)またはMySQLの呼び方)として。 ハッシュは常に例えば12文字の固定長です(使用するハッシュアルゴリズムによります)。つまり、20文字のパスワードは12文字のハッシュになり、4文字のパスワードも12文字のハッシュになります。
私はいつも、暗号化された文字列の最大文字列長を求め、それをVARCHAR型の文字長として設定するテストをしています。レコードの数にもよりますが、これでデータベースのサイズを大きくすることができます。