生成MD5哈希的大小

时间:2011-08-09 08:04:59

标签: c# hash form-authentication

我将使用MD5哈希来存储加密密码。密码长度可以是6到40个字符。存储加密密码所需的数据库列大小是多少。此外,如果40个字符的散列大小非常大,那么20个字符的密码需要多少散列大小?

我正在使用FormsAuthentication.HashPasswordForStoringInConfigFile(stringToEncrypt, "MD5");生成用于存储在数据库中的哈希。

3 个答案:

答案 0 :(得分:29)

哈希算法始终将任意大小的消息映射到固定长度的表示。换句话说,您可以散列空字符串或许多千兆字节的信息。散列大小始终是固定的。

在您的情况下,散列大小为128位。转换为ASCII字符串时,它将是一个仅包含十六进制数字的32个字符的字符串。

答案 1 :(得分:7)

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

MD5算法的散列大小为128位,与被散列的字符串长度无关。

考虑使用更新的散列函数,如SHA 256。

答案 2 :(得分:3)

无论输入多长时间,

MD5哈希值总是正好是16字节(128位)。