计算指定文件的MD5值

原文:计算指定文件的MD5值

        /// <summary>
        ///  计算指定文件的MD5值
        /// </summary>
        /// <param name="fileName">指定文件的完全限定名称</param>
        /// <returns>返回值的字符串形式</returns>
        public static String ComputeMD5(String fileName)
        {
            var hashMD5 = String.Empty;
            //检查文件是否存在,如果文件存在则进行计算,否则返回空值
            if (File.Exists(fileName))
            {
                using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                {
                    //计算文件的MD5值
                    var calculator = MD5.Create();
                    var buffer = calculator.ComputeHash(fs);
                    calculator.Clear();
                    //将字节数组转换成十六进制的字符串形式
                    var stringBuilder = new StringBuilder();
                    for (var i = 0; i < buffer.Length; i++)
                    {
                        stringBuilder.Append(buffer[i].ToString("x2"));
                    }
                    hashMD5 = stringBuilder.ToString();
                }
            }

            return hashMD5;
        }

原文地址:https://www.cnblogs.com/lonelyxmas/p/10648302.html

时间: 2024-10-29 19:07:01

计算指定文件的MD5值的相关文章

用Python计算文件的MD5值

尽管计算MD5有很多小工具,重装系统后还得去找,就自己用Python写了一个: getMD5.py import hashlib import sys if __name__ == '__main__': if len(sys.argv)!= 2: sys.exit('argv error!') m = hashlib.md5() n = 1024*4 inp = open(sys.argv[1],'rb') while True: buf = inp.read(n) if buf: m.upd

c# 计算字符串和文件的MD5值的方法

快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http://www.tudou.com/plcover/VHNh6ZopQ4E/ 百度网盘同步:http://pan.baidu.com/s/1jG1Q58M 分享  [中文纪录片]互联网时代   http://pan.baidu.com/s/1qWkJfcS 官方QQ群:(申请加入,说是我推荐的) App实践出真知 4

Linux下C语言计算文件的md5值(32位的)

google了好久都没有找到合适的,其实我只需要一个函数,能计算文件的 md5 值就好, 后来找到了 md5.h 和 md5.c 的源文件,仿照别人的封装了个函数(他那个有问题,和 md5sum 计算出来的都不一样). 废话少说,直接贴代码: (再废一句话,如果只想计算字符串的md5值,把字符串传给 MD5Update 函数一次就好) #include "md5.h" #include <stdio.h> #include <stdlib.h> #include

python计算文件的md5值

前言 最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可.这个想法在windows的pc端下测试没有问题. 但是当把一个文件从pc端复制到优盘时出现了一个问题,复制到优盘的文件比pc端的文件慢了两秒钟! 这里我用的复制函数是 shutil.copy2(),理论上它会把修改时间和最后访问时间也复制过来1,但是实际情况并不是完全相同. 详细情况我在segmentfault里提出了问题:为什么将一个文件从pc中复制到

计算文件的MD5值(Java &amp; Rust)

Java public class TestFileMD5 { public final static String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b",

学习IOS--获取文件的MD5值

一般我们在使用http或者socket上传或者下载文件的时候,经常会在完成之后经行一次MD5值得校验(尤其是在断点续传的时候用的更 多),校验MD5值是为了防止在传输的过程当中丢包或者数据包被篡改,在使用MD5之前呢我们应该先了解MD5的一些常识.MD5 百度百科 简单的来说: 1).MD5是使用哈希算法计算文件或字符串的摘要,对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个

linux shell 命令获取字符串/文件的MD5值

获取字符串的MD5值: 字符串"hello"的MD5: $ echo -n 'hello'|md5sum|cut -d ' ' -f1 得到的MD5值: 5d41402abc4b2a76b9719d911017c592 命令解释: md5sum: 显示或检查 MD5(128-bit) 校验和,若没有文件选项,或者文件处为"-",则从标准输入读取. echo -n : 不打印换行符. cut:  cut用来从标准输入或文本文件中剪切列或域.剪切文本可以将之粘贴到一个文

C#对文件进行MD5值检测

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.ComponentModel; 7 using System.Data; 8 using System.Drawing; 9 using System.IO; 10 using System.Security.Cryp

在浏览器端获取文件的MD5值

http://www.jianshu.com/p/940a9226fbbd 前几天接到一个奇怪的需求,要在web页面中计算文件的md5值,还好这个项目是只需兼容现代浏览器的,不然要坑死了. 其实对文件进行md5,对于后端来说是及其简单的.比如使用Node.js,只要下面几行代码就可以了: var fs= require('fs'); var crypto = require('crypto'); function md5File(path, callback) { fs.readFile(pat