16位方法如下:/// <summary>
        /// 获得MD5的16进制结果
        /// </summary>
        public static string GetMD5(string encryptStr)
        {
            System.Security.Cryptography.MD5 md5 = new MD5CryptoServiceProvider();
            byte[] bytResult = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(encryptStr));
            string strResult = BitConverter.ToString(bytResult);
            strResult = strResult.Replace("-", "");
            return strResult;        }网上查了下,乱糟糟的一堆,不要复制过来了。 
有没有整合好的方法,直接调用就可以?通过40分送上,秒结贴。

解决方案 »

  1.   

       static void DecryptFile(string sInputFilename, string sOutputFilename)
            {
                byte[] s = { 115, 26, 53, 34, 75, 36, 88, 12 };
                byte[] key = { 192, 23, 83, 41, 35, 64, 89, 78, 41, 72, 63, 45, 95, 26, 8, 7, 138, 2, 13, 244, 105, 126, 158, 172 };
                TripleDESCryptoServiceProvider tDESalg = new TripleDESCryptoServiceProvider();
                tDESalg.Key = key;
                tDESalg.IV = s;
                FileStream fsread = new FileStream(sInputFilename, FileMode.Open, FileAccess.Read);
                ICryptoTransform desdecrypt = tDESalg.CreateDecryptor();
                CryptoStream cryptostreamDecr = new CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read);
                XmlDocument doc = new XmlDocument();
                XmlReader reader = XmlReader.Create(cryptostreamDecr);
                doc.Load(reader);
            }
      

  2.   

    用这个吧,源码        /// <summary>
            /// MD5 32位加密
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            static string UserMd5(string str)
            {
                string cl = str;
                string pwd = "";
                 System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();//实例化一个md5对像
                // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 
                byte[] s = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(cl));
                // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
                for (int i = 0; i < s.Length; i++)
                {
                    // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
                    pwd = pwd + s[i].ToString("X");             }
                return pwd;
             }
      

  3.   

    public static string GetMD5Hash(String input)
            {
                MD5 md5 = new MD5CryptoServiceProvider();            byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length);
                char[] temp = new char[res.Length];            System.Array.Copy(res, temp, res.Length);            return new String(temp);
            }        /// <summary>
            /// 获得MD5的16进制结果
            /// </summary>        public static string GetMD5HashHex(String input)
            {
                MD5 md5 = new MD5CryptoServiceProvider();
                DES des = new DESCryptoServiceProvider();
                byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length);            String returnThis = "";            for (int i = 0; i < res.Length; i++)
                {
                    returnThis += System.Uri.HexEscape((char)res[i]);
                }
                returnThis = returnThis.Replace("%", "");
                returnThis = returnThis.ToLower();            return returnThis;
            }
      

  4.   

    32位加密方法  /// <summary>
        /// MD5加密    ---王雷 2007
        ///Email:[email protected]
        /// </summary>
        public class MD5
        {
            public MD5()
            { }
            /// <summary>
            /// 转换到MD5
            /// </summary>
            /// <param name="str">加密前字符串</param>
            /// <param name="code">16位加密还是32位加密</param>
            /// <returns>加密后字符串</returns>
            public string to_md5(string str, int code)
            {
                if (code == 16) //16位MD5加密(取32位加密的9~25字符) 
                {
                    return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(8, 16);
                }
                if (code == 32) //32位加密 
                {
                    return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
                }
                return "00000000000000000000000000000000";
            }
        }
    }
      

  5.   

    怪我没说清楚
    winform 程序,  呵呵、
    不是web程序。  
      

  6.   

    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();
            }
    using System.Security.Cryptography;
    using System.Text;