今天我们来写写工具类,这个类有什么用呢?
也就是无论你做什么项目,这个工具类你都可以拿来用,之所以通用,是可以适用所有项目。
这节我主要讲如何生成文件的MD5码。
那么这个MD5是个什么鬼东西,读者可以自行百度,其实简略的讲就是验证文件是否被篡改。
什么意思,比如当你去网站下载游戏的客户端软件,当有些黑客喜欢搞出点不好的事情,在你的客户端加些恶意代码之类的。
当黑客改了客户端文件,随之这个文件的MD5也改变了。所以我们只要验证用户下载的客户端的MD5和网站提供的MD5码是否一致,来判断是否要下载。
所以这个MD5是非常有用的,c#也自带MD5库。
public static String BuildFileMd5(String filename) { String filemd5 = null; try { using (var fileStream = File.OpenRead(filename)) { var md5 = MD5.Create(); var fileMD5Bytes = md5.ComputeHash(fileStream);//计算指定Stream 对象的哈希值 filemd5 = FormatMD5(fileMD5Bytes); } } catch (System.Exception ex) { LoggerHelper.Except(ex); } return filemd5; }
public static string FormatMD5(Byte[] data) { return System.BitConverter.ToString(data).Replace("-", "").ToLower();//将byte[]装换成字符串 }
将这段代码写到Utils类中,以后如果要用到计算MD5码的,直接Utils.BuildFileMd5(path),就可以取到这个文件的md5。
是不是很简单,ok,之后我会持续更新一些使用的通用工具方法。