2011-08-09 10 views
8

MD5ハッシュを使用して暗号化されたパスワードを格納します。パスワードの長さは6〜40文字です。暗号化されたパスワードを格納するために必要なデータベースの列サイズは?また、40文字のハッシュサイズが非常に大きい場合、20文字のパスワードにはどのくらいのハッシュサイズが必要ですか?MD5ハッシュのサイズが生成されました

私は、データベースに格納するためのハッシュを生成するためにFormsAuthentication.HashPasswordForStoringInConfigFile(stringToEncrypt, "MD5");を使用しています。

+12

ハッシュ!=パスワードにMD5を使用していない。また – Oded

+1

を暗号化します。 BCryptやSCryptのような計算上高価なハッシュアルゴリズムを使用して、ブルートフォースで逆転するのは難しいです。 –

答えて

24

ような新しいハッシュ関数の使用を検討してください。つまり、空の文字列や数ギガバイトの情報をハッシュすることができます。ハッシュサイズは常に固定です。

ハッシュサイズは128ビットです。 ASCII文字列に変換すると、16進数のみを含む32文字の文字列になります。

+0

ありがとうございました。私はハッシュされたパスワードを保存するために32文字列を使用します。 – Jatin

+8

パスワードを手動でハッシュしている場合は、間違っていると思います(http://www.codinghorror.com/blog/2007/09/youre-probably-storing-passwords-incorrectly.html)。 [bcryptを使用してください](http://stackoverflow.com/questions/481160/is-bcrypt-a-good-encryption-algorithm-to-use-in-c-where-can-i-find-it)。 –

3

MD5ハッシュは関係なく入力がどのくらい正確に常に16バイト(128ビット)の長さではありません。

6

http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx

MD5アルゴリズムのハッシュサイズに関係なく、ハッシュ化された文字列の長さの、128ビットです。

ハッシュアルゴリズムは、常に固定長表現への任意のサイズのメッセージをマッピングSHA 256

+1

パスワードを保存するには、[use bcrypt](http://stackoverflow.com/questions/481160/is-bcrypt-a-good-encryption-algorithm-to-use-in-c-where-can-i-find -それ)。 –

関連する問題