Unity3d通用工具类之生成文件的MD5
今天我们来写写工具类,这个类有什么用呢?
也就是无论你做什么项目,这个工具类你都可以拿来用,之所以通用,是可以适用所有项目。
这节我主要讲如何生成文件的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,之后我会持续更新一些使用的通用工具方法。
转载于:https://www.cnblogs.com/CaomaoUnity3d/p/4782858.html
Unity3d通用工具类之生成文件的MD5相关推荐
- Java生成文件的md5文件方法的代码
package pri.liyang.util; import java.io.*; import java.security.MessageDigest; import java.security. ...
- Util: Java生成文件的md5文件方法的代码
package pri.liyang.util;import java.io.*; import java.security.MessageDigest; import java.security.N ...
- Unity3d通用工具类之定时触发器
时隔多日,好不容易挤出点时间来写写博文.不容易,请送我几朵红花,点个赞也行. 今天呢,我们主要来扩展下通用工具类==>定时触发器. 顾名思义,所谓的定时触发器,就是告诉程序在过多长时间后,我要执 ...
- 生成文件md5校验码可满足大于2G情况
对于文件生成md5校验码,在实际开发中用处很大,有利于比较服务器上是否已经存在该文件,哪怕文件名不一致也无所谓. 由于存在超大文件,经过从网上查找,得到两种方法,一种是利用MappedByteBuff ...
- JAVA 获取文件的MD5值大小以及常见的工具类
1 /** 2 * 获取文件的MD5值大小 3 * 4 * @param file 5 * 文件对象 6 * @return 7 */ 8 public static String getMD5(Fi ...
- dao和mysql映射_hibernate通过数据库生成实体类,映射文件和DAO(实用)
hibernate通过数据库生成实体类,映射文件和DAO(实用) (2011-04-06 17:22:32) 标签: 杂谈 上次谈到利用MyEclipse从数据库反向生成实体类之JPA方式,这次我们来 ...
- mybatis根据表逆向自动化生成代码(自动生成实体类、mapper文件、mapper.xml文件)
若采用mybatis框架,数据库新建表,手动编写的话,需要编写大量的实体类.mapper文件.mapper.xml文件,都是一些重复且有规律的工作. 我们可以引用插件,然后做配置,自动生成这些文件,提 ...
- springboot中使用generator自动生成mybatis的接口、实体类和映射文件-springboot学习笔记
在使用mybatis的时候,我们需要自己建立实体类.接口和对应的映射文件.一个字母写错就可能导致运行不起来,很是麻烦.使用generator可以帮助我们自动生成上述的文件. 首先,新建一个spring ...
- 批量生成文件夹内所有文件md5
批量生成文件夹内所有文件md5 title md5批量生成脚本 setlocal enabledelayedexpansion %~d0 cd %~dp0 if exist 1234.txt del ...
最新文章
- SpringBoot 框架中 使用Spring Aop 、创建注解、创建枚举类 使用过程记录
- 软件测试需要学习什么技术
- 【Java数据库】SQL时间类型Date Time Timestamp区别、插入/取出指定时间段的数据
- Flask/Django/Tornado语法对比(持续更新中)
- python的power bi转换基础
- Java开发需要达到什么样的水平才称得上架构师?
- 如何编辑微信文章(微信文章导出word)
- svg图标如何修改大小?
- request、response
- Apache域名跳转----配置rewrite模块
- java打印表格_如何在java中使用printf()打印出表格?
- php 输出等腰三角形,C语言输出等腰三角形
- win10笔记本使用ipad作为扩展屏
- mongodb 用命令导入导出数据库,用命令在Robo3T 上查询。
- LeetCode刷题框架总结
- 【钉钉-场景化能力包】CRM销售系统集成
- UBUNTU挂载新的硬盘到文件管理系统中 WRONG FS TYPE, BAD OPTION, BAD SUPERBLOCK ON /DEV/SDB
- 皆爱高“淑商”女子——时代新词盘点
- mPEG-HSA;甲氧基聚乙二醇人血清白蛋白;HSA-PEG简介
- Android系统铃声音乐文件夹
热门文章
- mysql 5.5.39 安装_CentOS7.2安装mysql5.5.39
- Java入门算法(贪心篇)丨蓄力计划
- python numpy np.array_Python | numpy | np.split()与np.array_split()函数
- @data注解的作用_Java中注解学习系列教程-2
- 【测评】想买投影仪,预算又不多,该怎么选?——三款高性价比投影仪PK测评
- python实现语音播放_用Python实现语音播报
- python的实例属性和静态属性表_Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法...
- android ztree,ztree实现权限功能(横向显示)
- 税收java_String 类中的 isEmpty() 是判断字符串是否为空的,如果为空返回 true ,不为空返回 false 。 (1.0分)_学小易找答案...
- sql程序调用批处理_批处理学习之常用命令