取得 MD5 (SHA1) 的三种方法


    取的字符串的 MD5(SHA1) 数值的三种方法:

1. 使用 System.Web.Security 命名空间
FormsAuthentication.HashPasswordForStoringInConfigFile 方法

2. 使用 System.Security.Cryptography 命名空间
MD5CryptoServiceProvider 类别、 SHA1CryptoServiceProvider 类别

3. 使用 SQL Server 2005 的内建函数
hashbytes

取得 MD5 范例的程序代码:

   1:  private void button1_Click(object sender, EventArgs e)   2:  {   3:      string source = "Test String";   4:      5:      // Method 1: FormsAuthentication.HashPasswordForStoringInConfigFile   6:      string m1 = FormsAuthentication.HashPasswordForStoringInConfigFile(source, "MD5").ToLower();   7:      string m2 = GetMD5(source);   8:      string m3 = MD5Sql(source);   9:     10:      MessageBox.Show(string.Format("source: {0}, m1:{1}, m22:{2}, m3:{3}", source, m1, m2, m3));  11:  }  12:     13:  // Method 2: MD5CryptoServiceProvider  14:  private string GetMD5(string source)  15:  {  16:      MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();  17:      byte[] byt&#118alue = Encoding.UTF8.GetBytes(source);  18:      byte[] bytHash = md5.ComputeHash(byt&#118alue);  19:      md5.Clear();  20:     21:      StringBuilder sb = new StringBuilder();  22:      for (int i = 0; i < bytHash.Length; i++)  23:      {  24:          sb.Append(bytHash[i].ToString("X").PadLeft(2, '0'));  25:      }  26:     27:      return sb.ToString().ToLower();  28:  }  29:     30:  // Method 3: SQL Server 2005 MD5  31:  public string MD5Sql(string source)  32:  {  33:      string strConn = @"Connectionstring";  34:      SqlConnection conn = new SqlConnection(strConn);  35:      SqlCommand cmd = new SqlCommand("select master.sys.fn_VarBinToHexStr(hashbytes('MD5', @sDataIn))", conn);  36:      cmd.Parameters.Add("@sDataIn", SqlDbType.VarChar);  37:      cmd.Parameters["@sDataIn"].&#118alue = source;  38:     39:      conn.Open();  40:      string s = cmd.ExecuteScalar().ToString().Substring(2).ToLower();  41:      conn.Close();  42:     43:      return s;

 


  相关链接:
        北京网站建设    网站制作    网站制作套餐    网站维护    网站改版    网站推广    搜索引擎优化
        SEO建站    企业邮箱        虚拟主机    域名购买