hi,欢迎访问本站!
当前位置: 首页学习笔记正文

C#获取文件MD5值或者字符串MD5值方法

用户投稿 学习笔记 9阅读
1、第一种计算文件MD5值方法 /// <summary> /// 获取文件的MD5值 /// </summary> /// <param name="fileName">文件全路径</param> /// <returns></returns>public static string GetMD5HashFromFile(string fileName) { 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")); } return sb.ToString(); } catch (Exception ex) { throw new Exception("GetMD5HashFromFile() fail,error:" + ex.Message); } }

2、第二种获取文件MD5值的方法

/// <summary> /// 计算文件的MD5值 /// </summary> /// <param name="filepath">文件全路径</param> /// <returns></returns> public string MD5Value(String filepath) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] md5ch; using (FileStream fs = File.OpenRead(filepath)) { md5ch = md5.ComputeHash(fs); } md5.Clear(); string strMd5 = ""; for (int i = 0; i < md5ch.Length - 1; i++) { strMd5 += md5ch[i].ToString("x").PadLeft(2, '0'); } return strMd5; }

3、计算字符串MD5值方法

/// <summary> /// 计算字符串的MD5值 /// </summary> /// <param name="sDataIn">字符串</param> /// <returns></returns> public string GetMD5(string sDataIn) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] bytValue, bytHash; bytValue = System.Text.Encoding.UTF8.GetBytes(sDataIn); bytHash = md5.ComputeHash(bytValue); md5.Clear(); string sTemp = ""; for (int i = 0; i < bytHash.Length; i++) { sTemp += bytHash[i].ToString("X").PadLeft(2, '0'); } return sTemp.ToLower(); }

标签:
声明:无特别说明,转载请标明本文来源!
发布评论
正文 取消