为什么我用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