日期:2014-05-18  浏览次数:20421 次

为什么md5加密不取32位就取16位阿,取10位,20位可以吗
大家好问个问题
  public string md5(string str, int code)
  {
  if (code == 16) //16位MD5加密(取32位加密的9~25字符)
  {
  return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(9, 25);
  }
  else//32位加密
  {
  return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
  }
  }
md5加密,我看网上的例子取16位是都是取9到25,取15位或者10位什么的可以吗?
要是16位,去1到16可以吗
为什么非取16位阿


------解决方案--------------------
爱取几位取几位,这个哪有什么限制
只是你取的位数越少出现重合的几率就越大~
------解决方案--------------------
随便了 你想取多少都可以!
可能为了节省空间把数据库的字段
------解决方案--------------------
随便取多少,并且随便你从第几位开始取,大多取16位是为了和asp的md5相通.也就是比较经典的一种9~25字符