C# MD5校验

1.方法1

private 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.方法2

//计算文件的MD5码

private string getMD5Hash(string pathName)

{

string strResult = "";

string strHashData = "";

byte[] arrbytHashValue;

System.IO.FileStream oFileStream = null;

System.Security.Cryptography.MD5CryptoServiceProvider oMD5Hasher = new System.Security.Cryptography.MD5CryptoServiceProvider();

    try

{

oFileStream = new System.IO.FileStream(pathName, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite));

arrbytHashValue = oMD5Hasher.ComputeHash(oFileStream);//计算指定Stream 对象的哈希值

oFileStream.Close();

//由以连字符分隔的十六进制对构成的String,其中每一对表示value 中对应的元素;例如“F-2C-4A”

strHashData = System.BitConverter.ToString(arrbytHashValue);

//替换-

strHashData = strHashData.Replace("-", "");

strResult = strHashData;

}

catch (System.Exception ex)

{

MessageBox.Show(ex.Message);

     }

return strResult;

}

3.比较。

方法1和方法2虽然都能计算文件的MD5,但是方法2在针对大文件时,更快,所以更好。

时间: 2024-10-19 14:05:04

C# MD5校验的相关文章

Hash(MD5校验工具)

本站提供md5校验工具下载.Hash(md5校验工具)是一款小巧好用的哈希计算器,Hash支持文件拖放,速度很快,可以计算文件的MD5.SHA1.CRC32 的值.在论坛上.软件发布时经常用Hash md5校验工具,是为了保证文件的正确性,防止一些人盗用程序,加些木马或者篡改版权,设计的一套验证系统.每个文件都可以用Hash验证程序算出一个固定的MD5码来. Hash md5是一款小巧好用的哈希计算器,也是一款md5校验工具.支持文件拖放,速度很快,可以计算文件的 MD5.SHA1.CRC32

python tkinter 文件MD5校验工具

使用Python 2.7.10 tkinter 进行编写的"文件md5校验工具".由于自己的水平问题,可能会存在一些错误,恳请大家指正,谢谢. 图形界面: 源码: #coding: UTF-8 #python tkinter 文件MD5校验 #环境 Python 2.7.10  import Tkinter as tk import hashlib import  os import tkFileDialog as tkf def view_md5():  #计算结果显示方法     

文件夹进行MD5校验的实现算法

每份相同数据(文件夹)都可以生成一份唯一的md5校验文件,我们可以通过直接校验整个数据文件夹的方法来确定数据是否有误. 1.针对整个文件夹生成md5校验文件方法: 以data文件夹为例,我们需要得到data整个文件夹中的文件的md5校验值,我们通过shell程序对整个data文件夹中的文件进行md5校验. 通过如下命令获得整个data文件夹的md5校验文件: 1 cd data 2 find ./ -type f -print0 | xargs md5sum > data_temp.md5 3

Java 获取 文件md5校验码

讯雷下载的核心思想是校验文件的md5值,两个文件若md5相同则为同一文件. 当得到用户下载某个文件的请求后它根据数据库中保留的文件md5比对出拥有此文件的url, 将用户请求挂接到此url上并仿造一个虚假的断点续传请求,从若干url上将一个正常文件拼接出来. 查了下资料,java也可以实现文件md5校验码获取,代码如下: import java.io.File;import java.io.FileInputStream;import java.io.IOException;import jav

Java 自带MD5 校验文件

http://www.iteye.com/topic/1127319 前天第一次发表博客到论坛,关于Java文件监控一文,帖子地址在:http://www.iteye.com/topic/1127281 评论的朋友很多,下载代码的朋友很不少,感谢在论坛上看我帖子的朋友,还有回复评论的朋友,给我提供建议的朋友. 从这些建议中,虽然语言简短,但是却有的是一语中的,这里说一下一下关于帖子的代码中HashFile中的MD5文件校验算法, 该算法是使用Java自带的MessageDigest类,测试结果,

自动校验文件夹及其内容shell程序(md5 校验文件夹中所有数据)

一.问题的来源有时候copy一些重要的数据,得到之后需要与原数据进行核对是否数据一致.这就需要进行校验. 二.问题的分析校验数据有多种方法,最简单的是使用文件的md5码进行校验.但是文件很多,手动的每个文件进行md5校验显然不合适,这就需要编写shell程序解决. 三.问题的解决通过shell程序解决文件校验问题1.通过命令得到文件md5值比如得到的数据文件夹为 data 文件夹则在data 文件夹中输入以下命令 find  ./ -type f  -print | xargs md5sum  

MD5校验及其c实现

那么MD5校验是什么? 一般软件或者说文件都有自己的固定文件格式或者架构信息,说简单一点就是.”世界上没有完全相同的2片叶子” ,因为MD5是一种不可逆的加密算法. 那么对于某些网上公开下载的软件,视频,尤其是镜像文件.如果被修改了可能会导致用不了或者其他的问题,发布者镜像MD5算法计算一组数值.让下载的用户 进行MD5数值对比,也就是MD5校验啦.由于MD5加密不可逆算,如果数值一样,那就表示文件没有被修改的.反之,则被修改了. 1. 计算MD5: //MD5文件摘要 MD5VAL md5Fi

Shell 对整个文件夹中的文件进行MD5校验 [转]

查看本地文件的 MD5 命令:md5sum FileName查看home目录下所有文件的 MD5 码:cd ~find /home -type f -print0 | xargs -0 md5sum | sort >md5.txt查看当前目录下所有文件的 MD5 码:find ./ -type f -print0 | xargs -0 md5sum | sort >md5.txt 通过上述方法对 home 文件夹里数据生成一份 md5 校验文件这个 md5 文件就这可作为这个 home 文件夹

阿里云自定义监控-系统文件MD5校验

1.文件md5校验hashlib模块 hashlib.md5() 2.文件比对模块filecmp模块 filecmp.cmp('md5File', 'md5File_new'): ##文件一直返回True 不一致返回False 3.打开文件操作with open ..... as f: ##不用close关闭文件 4.格式化字符串输出tring = "%s %s\n" % (md5.hexdigest(),line.strip()) 脚本示例: #!/usr/bin/python #

java生成MD5校验码

在Java中,java.security.MessageDigest (rt.jar中)已经定义了 MD5 的计算,所以我们只需要简单地调用即可得到 MD5 的128 位整数.然后将此 128 位计 16 个字节转换成 16 进制表示即可. 下面是一个可生成字符串或文件MD5校验码的例子,测试过,可当做工具类直接使用,其中最主要的是getMD5String(String s)和getFileMD5String(File file)两个方法,分别用于生成字符串的md5校验值和生成文件的md5校验值