生成MD5哈希的大小

Jat*_*tin 9 c# hash form-authentication

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

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

Meh*_*ran 29

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

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

  • 请记住,如果您手动散列密码,那么[你做错了](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). (9认同)

Jak*_*cki 7

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

无论被散列的字符串的长度如何,MD5算法的散列大小都是128位.

考虑使用更新的哈希函数,如SHA 256.