首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

为什么小弟我用md5加密出来的结果字符串是31位的呢

2012-01-20 
为什么我用md5加密出来的结果字符串是31位的呢?publicstaticstringMD5Encrypt(stringstr){MD5md5newMD5Cr

为什么我用md5加密出来的结果字符串是31位的呢?
public   static   string   MD5Encrypt(string   str)
{
MD5   md5   =   new   MD5CryptoServiceProvider();
byte[]   bstr   =   System.Text.Encoding.UTF8.GetBytes(str);
byte[]   reb;
reb=md5.ComputeHash(bstr);
string   restr= " ";
Console.WriteLine(reb.Length);
for(int   i=0;i <reb.Length;i++)
{
restr+=reb[i].ToString( "X ");
}
return   restr;
}

md5加密以后出来的结果不是应该是32么?为什么我这儿出来的结果是31位的呢?

[解决办法]
按照你的代码 reb里面应该是128位的16进制数据
不知道你转成字符串的时候会不会有问题
标准的format 是X2 或者x2 ,你的是X

热点排行