日期:2014-05-18  浏览次数:20748 次

求一MD5 C#版实现。。。
JAVA版:
  private static string md5Digest(string spId, string spPassword, string timeStamp)
  {
  try
  {
  MessageDigest md = MessageDigest.getInstance("MD5");
  md.update(spId.getBytes());
  md.update(spPassword.getBytes());
  md.update(timeStamp.getBytes());

  byte[] b = md.digest();
  String result = "";
  String temp = "";

  for (int i = 0; i < 16; i++)
  {
  temp = Integer.toHexString(b[i] & 0xFF);
  if (temp.length() == 1)
  temp = "0" + temp;
  result = result + temp;
  }

  result = result.toUpperCase();

  return result;
  }
  catch (NoSuchAlgorithmException e)
  {
  e.printStackTrace();
  return null;
  }
  catch (Exception e)
  {
  e.printStackTrace();
  } return null;
  }

我需要用C#实现。结果必须跟这个JAVA方法一样的。。。 求高手,求大侠 相助。。。好久没来了。没分了。。。希望各位大哥别嫌弃。。

------解决方案--------------------
C# code

//winform
public static string StringToMD5Hash(string inputString)    
{    
    MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();    
    byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes(inputString));    
    StringBuilder sb = new StringBuilder();    
    for (int i = 0; i < encryptedBytes.Length; i++)    
    {    
        sb.AppendFormat("{0:x2}", encryptedBytes[i]);    
  
    }    
    return sb.ToString();    
}

------解决方案--------------------
4楼所言极是,md5加密的两个方法,效果是等价的,其实,msdn的例子里就是。