C# 获取文件MD5与SHA1
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,第一个方法直接使用 FileInfo 类构造函数传入路径就可以了,因为是做控制台可以直接拖拽文件,这一点还是很方便的。需要注意的是路径中有空格会报错。该方法中 s 代表传入的文件路径 1 static
千家信息网最后更新 2024年11月24日C# 获取文件MD5与SHA1
第一个方法直接使用 FileInfo 类构造函数传入路径就可以了,因为是做控制台可以直接拖拽文件,这一点还是很方便的。
需要注意的是路径中有空格会报错。
该方法中 s 代表传入的文件路径
1 static void GetFile(string s) 2 { 3 try 4 { 5 FileInfo fi = new FileInfo(s); 6 Console.WriteLine("文件路径:{0}", s); 7 Console.WriteLine("文件名称:{0}", fi.Name.ToString()); 8 Console.WriteLine("文件类型:{0}", fi.Extension.ToString()); 9 Console.WriteLine("文件大小:{0} K", fi.Length / 1024);10 Console.WriteLine("文件创建时间:{0}", fi.CreationTime.ToString());11 Console.WriteLine("上次访问时间:{0}", fi.LastAccessTime.ToString());12 Console.WriteLine("上次写入时间:{0}", fi.LastWriteTime.ToString());13 }14 catch (Exception ex) 15 {16 Console.WriteLine(ex.Message);17 }18 }
第二个方法获得MD5值,该方法中 s 代表传入的文件路径
MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。
1 static void GetMD5(string s) 2 { 3 try 4 { 5 FileStream file = new FileStream(s,FileMode.Open); 6 MD5 md5 = new MD5CryptoServiceProvider(); 7 byte[] retval = md5.ComputeHash(file); 8 file.Close(); 9 10 StringBuilder sc = new StringBuilder();11 for (int i = 0 ; i第三个方法,获得SHA1值,该方法中 s 代表传入的文件路径
SHA1名为安全哈希算法,对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。
SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要,(但会有1x10 ^ 48分之一的机率出现相同的消息摘要,一般使用时忽略)。
1 static void GetSHA1(string s) 2 { 3 try 4 { 5 FileStream file = new FileStream(s, FileMode.Open); 6 SHA1 sha1 = new SHA1CryptoServiceProvider(); 7 byte[] retval = sha1.ComputeHash(file); 8 file.Close(); 9 10 StringBuilder sc = new StringBuilder();11 for (int i = 0; i < retval.Length; i++)12 {13 sc.Append(retval[i].ToString("x2"));14 }15 Console.WriteLine("文件SHA1:{0}", sc);16 }17 catch (Exception ex)18 {19 Console.WriteLine(ex.Message);20 }21 }
文件
方法
消息
路径
摘要
代表
信息
时间
算法
不同
相同
安全
三个
两个
函数
名称
大小
字符
字符串
控制台
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全第三版刘远生
网络安全物防
手机app软件开发好吗
北京巡检软件开发价钱
河南net软件开发哪家好
网络安全工作室
crt登录数据库不用密码
延庆区信息网络技术推广怎么样
liunx软件开发平台
云服务器远程登录价格
中学生信息表系统数据库
数据库的除运算
新华互联网科技学校宿舍
cs 局域网搜不到服务器
互联网科技圈是什么时候
查询数据库的可用空间
肇庆商城软件开发外包
晴朗剧场无法连接服务器
邮箱数据库代码
东士科技与工业互联网
单位有网络安全岗中级考啥
数据库服务器与应用服务器
tkc日本法律数据库
岳阳广东网络安全培训收费标准
个税申报软件执行数据库操作失败
ansible 统一服务器时间
崇明区品牌软件开发售后服务
中小学与家庭教育和网络安全
手机软件开发年终奖
php软件开发值得学吗