C#MD5加密得到的结果有差异,为啥会首位少0?这是怎么回事?
            方法一和方法二比较,方法二为啥会首位少0?求解答???

//MD5加密:

//jQuery加密
//$.md5("FA9D4191BEC8A5CE6DE0B9EB8BDA57B3HSNF")
//得到的是“0f604985adc25c5683315d35f6c15a7c”

//方法一得到的是
//“0F604985ADC25C5683315D35F6C15A7C”
string _str1 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("FA9D4191BEC8A5CE6DE0B9EB8BDA57B3HSNF", "MD5");

//方法二得到的是
//“F604985ADC25C5683315D35F6C15A7C”
string _str2 = "";
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] s = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes("FA9D4191BEC8A5CE6DE0B9EB8BDA57B3HSNF"));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0; i < s.Length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
_str2 += s[i].ToString("X");
}

1个回答

大概是方法2默认去掉首位的0

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问