日期:2014-05-20  浏览次数:21286 次

winform md5加密问题求解
我在web中使用下面的方法进行加密
  public static string Encrypt(string Text, string sKey)
  {
  DESCryptoServiceProvider des = new DESCryptoServiceProvider();
  byte[] inputByteArray;
  inputByteArray = Encoding.Default.GetBytes(Text);
  des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
  des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
  System.IO.MemoryStream ms = new System.IO.MemoryStream();
  CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
  cs.Write(inputByteArray, 0, inputByteArray.Length);
  cs.FlushFinalBlock();
  StringBuilder ret = new StringBuilder();
  foreach (byte b in ms.ToArray())
  {
  ret.AppendFormat("{0:X2}", b);
  }
  return ret.ToString();
  }


那我在winform中如何进行加密才能使所得到值与web中加密的一致。(web中注册一个账号,密码加密了,我在winform中登录,要把密码进行加密,然后与数据库中的匹配,如何实现)

------解决方案--------------------
先要知道 密匙!然后从winform中接收密码txtbox的值,使用方法 public static string Encrypt(string Text, string sKey)接收这个方法的返回值,只要密匙一样加密后的值就一样