C# 16位MD5加密和PHP 16位MD5加密结果问题

dengchangwen11 2011-02-21 03:11:33
C#:

private byte[] stringToByteArray(string hexString)
{
hexString = hexString.Replace(" ", "");
if ((hexString.Length % 2) != 0)
hexString += " ";
byte[] returnBytes = new byte[hexString.Length / 2];
for (int i = 0; i < returnBytes.Length; i++)
returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
return returnBytes;
}
public string Change(string strRes)
{
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
strRes = Convert.ToBase64String(md5.ComputeHash(System.Text.Encoding.Default.GetBytes(strRes)));
return strRes;
}
public static string Base64Decode(string ABase64)
{
return Encoding.Default.GetString(Convert.FromBase64String(ABase64));
}



PHP:
echo md5('123456789',true)
结果:%?;E8咍bM
string strTemp = Base64Decode(Change('123456789'));
strTemp结果:%?;E8咍bM
16位加密一次是一样的

PHP:
echo md5(md5('123456789',true),true);
结果:Y'胖M敟xo?:Y
strTemp = Base64Decode(Change(Base64Decode(Change('123456789'))));
strTemp结果:u"甀@p2煖昵?

两次加密怎么就不一样了,还有C#怎么实现PHP 16位加密后的效果,我没分,不好意思
...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengchangwen11 2011-02-21
  • 打赏
  • 举报
回复
楼上的能否详细说下
vrhero 2011-02-21
  • 打赏
  • 举报
回复
不要用本地字符串编码,改成十六进制字节字符组...

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧