[发明专利]一种基于HashMap识别文件类型的方法有效
申请号: | 202010398302.4 | 申请日: | 2020-05-12 |
公开(公告)号: | CN111563063B | 公开(公告)日: | 2022-09-13 |
发明(设计)人: | 刘德建;张伟泽;陈宏展 | 申请(专利权)人: | 福建天晴在线互动科技有限公司 |
主分类号: | G06F16/14 | 分类号: | G06F16/14;G06F16/13 |
代理公司: | 福州旭辰知识产权代理事务所(普通合伙) 35233 | 代理人: | 程勇 |
地址: | 350212 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hashmap 识别 文件类型 方法 | ||
1.一种基于HashMap识别文件类型的方法,其特征在于:所述方法包括创建HashMap阶段和寻找文件类型阶段:
所述创建HashMap阶段为:预先设定已知的文件类型,遍历n个数的文件类型进行操作,即根据文件类型的特殊标签值的前2字节计算hash值,并将各个文件类型对应得到的hash值、第j个文件类型的编号j形成一个HashMap表,其中0=jn;
所述寻找文件类型阶段为:程序运行时,判断文件指针指向文件开头位置是否为初始值,是,则指针后移1字节,不是则计算待检测文件指针前2字节的hash值并查找HashMap表中是否存在,若未发现存在,指针后移1字节,进行计算指针前2个字节的hash值并继续与HashMap表进行比对,直至找到HashMap表中存在hash值为止,若发现存在,则比对待检测文件当前指针指向数据与HashMap表对应的文件类型的特殊标签值是否完全相同,若相同,即能确认文件类型。
2.根据权利要求1所述的一种基于HashMap识别文件类型的方法,其特征在于:所述创建HashMap阶段进一步具体为:创建Hash数组和Prev数组,两数组初始化填充0xff;
程序运行期间,遍历预先设定已知的文件类型,将第1个文件类型到第n个文件类型都进行处理:即根据第j种文件类型特殊标签值的前2字节计算得hash值v, 将Hash数组位于v的值更换为j,并将原来的值存储到Prev[j],如此循环构建一个包含Hash数组和Prev数组的HashMap表。
3.根据权利要求2所述的一种基于HashMap识别文件类型的方法,其特征在于:所述Hash数组大小必须大于等于最大hash值,所述Prev数组大小必须大于等于文件类型数。
4.根据权利要求2所述的一种基于HashMap识别文件类型的方法,其特征在于:所述寻找文件类型阶段进一步包括如下步骤:
步骤1、指定待检测文件,打开文件获得文件指针,此时文件指针指向文件开头位置;
步骤2、判断文件指针是否处于文件最后1字节,是,则结束流程,否,则进入步骤3;
步骤3、计算文件指针指向前2字节的hash值v,将hash值v到HashMap表中查找,即j=Hash[v],找到hash值对应的文件类型;
步骤4、判断j是不是初始值0xff,是,则表示此时并没有找到符合存在类型,文件指针向后移动1字节进入步骤2继续查找,否,则进入步骤5;
步骤5、得到第j种文件类型的特殊标签值,与文件指针指向的数据进行比较,如果不相符的话,计算j=prev[j],进入步骤4;否则即为识别到文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴在线互动科技有限公司,未经福建天晴在线互动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010398302.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种扫掠式散热器
- 下一篇:一种富电子四苯乙烯基催化剂及其制备方法与应用