开发网站,正在设计数据库
其中表内的用户密码字段出与安全考虑,是要经过MD5加密的!
问题如下:
我应该把这个字段设置为什么类型?长度应该为多少?加密后密码是否会区分输入时的大小写?我的认为是这样的,参考了一些别人的数据库,发现都是使用的定长为32的char类型,所以估计长度为32,而且会区分它输入前的大小写(因为ASCII大小写的数值不一样)!但是有几点疑惑!这个32是怎么来的?是因为计算机是32位的吗?还是别的什么?如果把程序放到了64位的操作系统上,是否会出问题?请大家指点一下!最好能给出设计建议!谢谢!

解决方案 »

  1.   

    密码是固定长度的,自己加密一个看看结果知道了.
    加密后密码是否会区分输入时的大小写?,区分.
    如果把程序放到了64位的操作系统上,是否会出问题?楼主想的太多了.如果真不能用了也和密码的位数是没关系的.我觉得,没有必要那么小心的设置varchar 50 位可以了.
      

  2.   

    MD5有32位版本的算法,16位版本的算法,
    在。NET里面都是用32位的,所以你就用char(32)就行了。
      

  3.   

    动网论坛的md5是16位的,.net里面的md5是32位地
      

  4.   

    asp 的MD5是函数式的,ASPX里的是MS内置函数,前者是16个字数,后者是32个字数,你如一楼所说没必那么死,varchar(50)就好了
      

  5.   

    如果你用sha1是40个字数吧,它是160位加密,md5是128加密!
      

  6.   

    System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("admin888","md5").ToLower().Substring(8,16)跟动网的结果一样:469e80d32c0559f8