c#获取文件的MD5值
获取一个文件的MD5值的作用是测定该文件是否是原文件,以保证文件不曾被恶意更改。
比如我压缩了一个test.zip文件,计算了一个MD5值放到了一个md5.txt文件中。然后把test.zip和md5.txt一起放到了共享文件夹,这时候某个坏人把共享文件夹里面的test.zip解压缩之后放了个木马进去,然后重新压缩成test.zip文件,替换了原来的test.zip(这时候test.zip计算出来的MD5值和原来的已经不一样了)。
想想是不是很吓人,但我们有MD5值计算对比的话就不会被坏人坑。我们先把test.zip文件下载到本地,然后计算其MD5值,然后和md5.txt里面的MD5值比较,如果不一样则判定共享文件夹里面的test.zip有问题。
下面是我写的小例子(工程为c#Windows窗体应用程序):
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using System.Windows.Forms;namespace GetMd5
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){System.Windows.Forms.OpenFileDialog dlg = new System.Windows.Forms.OpenFileDialog();dlg.InitialDirectory = "D:\\";dlg.Filter = "压缩文件|*.zip|所有文件|*.*";dlg.RestoreDirectory = false;//若为false,则打开对话框后为上次的目录。若为true,则为初始目录if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) //选择打开新任务{textBox1.Text = System.IO.Path.GetFullPath(dlg.FileName);//将选中的文件的路径传递给TextBox “FilePath”textBox2.Text = GetMD5HashFromFile(textBox1.Text);}}public string GetMD5HashFromFile(string fileName){try{FileStream file = new FileStream(fileName, System.IO.FileMode.Open);MD5 md5 = new 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);}}}
}
c#获取文件的MD5值相关推荐
- JAVA 获取文件的MD5值大小以及常见的工具类
1 /** 2 * 获取文件的MD5值大小 3 * 4 * @param file 5 * 文件对象 6 * @return 7 */ 8 public static String getMD5(Fi ...
- c++判断文件是否被修改(获取文件的MD5值)
需求分析 因为项目中需要检测一个文件是否被篡改,我采用了监测文件的MD5值. MD5,简单地来说,就是文件的"指纹".如果原始文件被修改了,那么MD5值也就会跟着发生变化,所以我们 ...
- golang 获取文件的MD5值
golang 获取文件的MD5值 调用下面的函数(输入参数是文件的路径,如/home/user/test.txt),即可获取指定文件的MD5值. func GetFileMD5(pathName st ...
- java 获取md5值报错_java获取文件的MD5值
package com.sichang.util; import java.io.File; import java.io.FileInputStream; import java.math.BigI ...
- windows查看并获取文件的md5值
方法一: 我们先打开电脑,然后将我们需要查询MD5值的文件放到桌面上,这里我们以一个压缩文件为例,如图所示. 然后,我们在该压缩文件那里鼠标右键,然后右键上面会出现一系列的选项. 接着,我们把鼠标移到 ...
- Java,如何获取文件的MD5值
MessageDigest类封装得很不错,简单易用 不多说,直接上代码 import java.io.FileInputStream; import java.security.MessageDige ...
- shell 获取字符串/文件的MD5值
获取字符串的MD5值: 字符串"hello"的MD5: $ echo -n 'hello'|md5sum|cut -d ' ' -f1 得到的MD5值: 5d41402abc4b2 ...
- linux获取文件的md5,linux shell 获取文件md5的命令linux操作系统 -电脑资料
下面我给各位朋友总结一下在linux中利用shell命令来获取文件md5及遍历目录下所有文件的md5的例子,希望此例子对各位同学会有所帮助, 获取文件的MD5值: $ md5sum linuxmint ...
- Spring Boot——获取上传文件的MD5值解决方案
解决方案 方法一: /*** 上传文件* @param file 文件* @return ResponseBean*/@ApiOperation(value = "上传文件",no ...
- php怎么读取上传文件的md5,利用PHP怎么获取远程http文件的md5值
利用PHP怎么获取远程http文件的md5值 发布时间:2021-02-05 18:10:04 来源:亿速云 阅读:61 作者:Leah 本篇文章给大家分享的是有关利用PHP怎么获取远程http文件的 ...
最新文章
- 深入浅出Service插件化原理
- Android运行时权限
- MySQL 实现一个字段赋值给另一个字段
- matlab正弦序列频谱,【求助】正弦信号序列fft频谱分析!!!
- 只有本地用户才能安装sql_为何只有安装了新风换气机才能打造好的家居环境?听听厂家怎么说...
- ArchiMate - 发布【企业架构语言ArchiMate v0.5.pdf】
- php对象魔术方法,php学习之类与对象的魔术方法的使用
- 德勤发布2021中国成长型AI企业研究报告:迈向巅峰之路
- pat甲级什么水平_转让河北工程设计建筑行业(建筑工程)甲级资质
- python读取sas数据集_Python 数据处理库 pandas 入门教程基本操作
- c1语言实验报告怎么写,c语言程序设计实验报告模板
- 不限网站的视频字幕实时翻译工具(视频只要有声音就可以翻译)
- java:线程的六种状态
- qt 获取用户缩放,Qt-如何创建随窗口缩放并保持纵横比的图像?
- Python网络爬虫与信息提取学习
- 新1期_012课_内存控制器与SDRAM
- 三星搁置OLED面板工厂计划可能投资microLED
- HTML制作宣传片,如何制作一部好的宣传片
- 【C语言】动态申请空间
- 【实战篇】——keras合并多个模型