C# MD5

没什么好写的

    static class MyMD5
    {
        public static string GetMD5Hash(string Message,bool MD5_Mode)
        {
            try
            {
                byte[] result = Encoding.Default.GetBytes(Message);
                MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
                byte[] output = md5.ComputeHash(result);
                if (MD5_Mode == true) return BitConverter.ToString(output).Replace("-", "");//32位MD5值
                else return BitConverter.ToString(output, 4, 8).Replace("-", "");           //16位MD5值
            }
            catch { MessageBox.Show("校验失败");return ""; }

        }
        public static string GetMD5HashFromFile(string fileName,bool MD5_Mode)
        {
            try
            {
                FileStream file = new FileStream(fileName, FileMode.Open);
                System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
                byte[] retVal = md5.ComputeHash(file);
                file.Close();

                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < retVal.Length; i++)
                {
                    sb.Append(retVal[i].ToString("x2"));
                }
                if(MD5_Mode==true) return sb.ToString().ToUpper();
                else return sb.ToString().Substring(8, 16).ToUpper();

            }
            catch { MessageBox.Show("校验失败"); return ""; }
        }
    }
MyMD5

 

posted @ 2016-08-23 13:59  可可糯米饭  阅读(124)  评论(0编辑  收藏  举报