c#实现如何遍历一个文件夹下的所有文件,并用md5函数算出所有文件的md5值?
1个回答
展开全部
把问题分解
遍历文件夹使用函数System.IO.Directory.GetFiles()
如果你想获得包括子文件夹下的所有文件 也有对应的重载
计算md5需要使用System.Security.Cryptography.MD5类
用法如下:
MD5 md5 = MD5.Create();
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] hash = md5.ComputeHash(fs);
fs.Close();
两段代码连上 一个遍历 再加上你自己的逻辑 就实现出来了
遍历文件夹使用函数System.IO.Directory.GetFiles()
如果你想获得包括子文件夹下的所有文件 也有对应的重载
计算md5需要使用System.Security.Cryptography.MD5类
用法如下:
MD5 md5 = MD5.Create();
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] hash = md5.ComputeHash(fs);
fs.Close();
两段代码连上 一个遍历 再加上你自己的逻辑 就实现出来了
追问
可是能不能一起把文件名、路径还有密钥存进数据库呢?我的代码不成功能不能帮我改改?
SqlCommand cmd = new SqlCommand("insert into file_md5 (filedirectoryname,filename,filemd5) values('" + file.DirectoryName + "','" + file.Name + "','" + OutString + "')", conn);
追答
嗯0 0 你需要自己敲一个hex函数 把byte[16]编码成string
然后直接执行这句就可以了吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询