日期:2014-05-19  浏览次数:20989 次

md5加密字符串问题
如果使用C#对字符串进行MD5加密,微软提供的是对字节数组进行加密,我转换后就会出错。

------解决方案--------------------
MD5对字符串加密用这个吧,我现在一直在用的。

private string GetStringValue(byte[] Byte)
{
string tmpString = " ";

if (this.isReturnNum == false)
{
StringBuilder sBuilder = new StringBuilder();

for (int i = 0; i < Byte.Length; i++)
{
sBuilder.Append(Byte[i].ToString( "x2 "));
}

tmpString = sBuilder.ToString();
}
else
{
int iCounter;

for (iCounter = 0; iCounter < Byte.Length; iCounter++)
{
tmpString = tmpString + Byte[iCounter].ToString();
}

}

return tmpString;
}

private byte[] GetKeyByteArray(string strKey)
{
byte[] tmpByte = Encoding.Default.GetBytes(strKey);
return tmpByte;
}

private string getstrIN(string strIN)
{
//string strIN = strIN;
if (strIN.Length == 0)
{
strIN = "~NULL~ ";
}
if (isCaseSensitive == false)
{
strIN = strIN.ToUpper();
}
return strIN;
}

public string MD5Encrypt(string strIN)
{
//string strIN = getstrIN(strIN);
byte[] tmpByte;
MD5 md5 = new MD5CryptoServiceProvider();
tmpByte = md5.ComputeHash(GetKeyByteArray(getstrIN(strIN)));
md5.Clear();

return GetStringValue(tmpByte);

}

------解决方案--------------------
http://hi.baidu.com/flying02/blog/item/94f185448ebd4c4c500ffe6c.html
------解决方案--------------------
学习