计算字符串,文件的md5值
2015-12-18 10:55 silence_blog 阅读(454) 评论(0) 编辑 收藏 举报//计算字符串的md5值 public string GetMd5String(string msg) { StringBuilder sb = new StringBuilder(); //1.创建md5对象 using (MD5 md5 = MD5.Create()) { //1.1把字符串转换为byte[] //对象字符串中包含中文,如果在进行md5计算时,使用不同的编码返回字节数组,那么可能 计算出的md5值会不相同,所以要使用相同的md5编码 byte[] buffers = Encoding.UTF8.GetBytes(msg); //1.2进行md5计算,md5计算完毕后,返回的也是一个byte[]。 byte[] bytes = md5.ComputeHash(buffers); md5.Clear();//释放资源,清除内存 //1.3把bytes数组的每个字节转为一个16进制的字符串 for (int i = 0; i < bytes.Length; i++) { sb.Append(bytes[i].ToString("x2")); } } return sb.ToString(); } //计算文件的md5值 public string GetFileMd5String(string path) { StringBuilder sb = new StringBuilder(); //创建md5对象 using (MD5 md5 = MD5.Create()) { using (FileStream fs = File.OpenRead(path)) { byte[] bytes = md5.ComputeHash(fs); md5.Clear(); for (int i = 0; i < bytes.Length; i++) { sb.Append(bytes[i].ToString("x2")); } return sb.ToString(); } } }