Unity3d通用工具类之生成文件的MD5
2015-09-05 10:35
357 查看
今天我们来写写工具类,这个类有什么用呢?
也就是无论你做什么项目,这个工具类你都可以拿来用,之所以通用,是可以适用所有项目。
这节我主要讲如何生成文件的MD5码。
那么这个MD5是个什么鬼东西,读者可以自行百度,其实简略的讲就是验证文件是否被篡改。
什么意思,比如当你去网站下载游戏的客户端软件,当有些黑客喜欢搞出点不好的事情,在你的客户端加些恶意代码之类的。
当黑客改了客户端文件,随之这个文件的MD5也改变了。所以我们只要验证用户下载的客户端的MD5和网站提供的MD5码是否一致,来判断是否要下载。
所以这个MD5是非常有用的,c#也自带MD5库。
将这段代码写到Utils类中,以后如果要用到计算MD5码的,直接Utils.BuildFileMd5(path),就可以取到这个文件的md5。
是不是很简单,ok,之后我会持续更新一些使用的通用工具方法。
也就是无论你做什么项目,这个工具类你都可以拿来用,之所以通用,是可以适用所有项目。
这节我主要讲如何生成文件的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,之后我会持续更新一些使用的通用工具方法。
相关文章推荐
- Unity5内部渲染的优化2:清理
- Unity3d使用Socket与java服务器通信
- Unity热更新专题(五)如何打包AssetBundle
- unity 3d学习第三天
- 【我的书】Unity Shader的书 — 目录(2015.09.04更新)
- Cg Programming/Unity 目录
- Unity3D学习笔记《Space Shooter》三
- 总结Unity 初学者容易犯的编译与运行时错误(第二部分)
- Unity中将一串字符串保存到Unity中,保存成任意格式
- Unity热更新专题(四)Unity热更新之LuaInterface(下)
- Unity 命令行参数
- Unity热更新专题(三)Unity热更新之LuaInterface(上)
- UNITY 将函数加入队列,并依次执行队列里的函数
- Unity热更新专题(二)Lua编程语言
- Unity热更新专题(一)热更新简介
- Shader以及Unity中的Shader
- Unity3d-Socket之龙一编年史network.dll分析(2)-> CNetLogger
- Unity3d-Socket之龙一编年史network.dll分析(2)-> CNetLogger
- Unity3D学习笔记《Space Shooter》二
- ubuntu 12.04 amd显卡驱动安装