刚受一高人指点,在页面中可以用System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string,"MD5")进行编码,但是在一个单独的类中无法使用,请问如何编码呢?

解决方案 »

  1.   

    System.Security.Cryptography.MD5 m = System.Security.Cryptography.MD5CryptoServiceProvider.Create();Console.WriteLine(System.BitConverter.ToString(m.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes("admin"))));
      

  2.   

    #region 散列加密        /// <summary>
            /// MD5加密
            /// </summary>
            /// <param name="origin">加密数据</param>
            /// <returns>加密结果</returns>
            public static string MD5Encrypt(string origin)
            {
                using
                    (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
                {
                    Byte[] orig = Encoding.UTF8.GetBytes(origin);
                    Byte[] temp = md5.ComputeHash(orig);
                    string encrypt = System.BitConverter.ToString(temp);
                    encrypt = encrypt.Replace("-", "");
                    return encrypt;
                }
            }        /// <summary>
            ///  SHA1加密
            /// </summary>
            /// <param name="sdata">加密数据</param>
            /// <returns>加密结果</returns>
            public static string SHA1Encrypt(string sdata)
            {
                using (SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider())
                {
                    byte[] data = Encoding.UTF8.GetBytes(sdata);
                    byte[] temp = sha1.ComputeHash(data);
                    return System.BitConverter.ToString(temp).Replace("-", "");
                }
            }        #endregion
      

  3.   

    string source = "asdf";
    System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5CryptoServiceProvider.Create();
    byte[] by = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(source));
    System.Text.StringBuilder sb = new StringBuilder(32);
    for (int i = 0; i < by.Length; i++)
    {
    sb.Append(by[i].ToString("x").PadLeft(2, '0'));
    }
    MessageBox.Show(sb.ToString());