CN105653984B - 文件指纹校验方法及装置 - Google Patents

文件指纹校验方法及装置 Download PDF

Info

Publication number
CN105653984B
CN105653984B CN201510997642.8A CN201510997642A CN105653984B CN 105653984 B CN105653984 B CN 105653984B CN 201510997642 A CN201510997642 A CN 201510997642A CN 105653984 B CN105653984 B CN 105653984B
Authority
CN
China
Prior art keywords
fingerprint
file
finger print
preset
cryptographic hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510997642.8A
Other languages
English (en)
Other versions
CN105653984A (zh
Inventor
朱细智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qax Technology Group Inc
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Beijing Qianxin Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Beijing Qianxin Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510997642.8A priority Critical patent/CN105653984B/zh
Publication of CN105653984A publication Critical patent/CN105653984A/zh
Application granted granted Critical
Publication of CN105653984B publication Critical patent/CN105653984B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明公开了一种文件指纹校验方法及装置,涉及信息技术领域,可以实现对文件数据的相似性进行准确校验。所述方法包括:首先提取待校验文件中的文件内容信息并进行预处理;提取预处理后的文件内容信息中的指纹信息;检测所述指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值;若所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。本发明适用于对非结构化数据的指纹校验。

Description

文件指纹校验方法及装置
技术领域
本发明涉及一种信息技术领域,特别是涉及一种文件指纹校验方法及装置。
背景技术
随着信息技术的不断发展,电子化文档类的文件使用量越来越大。通常此类文件数据为非结构化数据,即不方便用数据库二维逻辑表来实现的数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。
目前,电子化文档在方便人们提高工作效率、节约纸张等自然资源的利用的同时,也带来一些额外的问题和麻烦。如:电子化文档比较容易复制,也比较容易传播。这些文档电子化的新特征使得文档的抄袭在技术上更加容易。加之电子化数据量的日益增大,这类抄袭的人工判断越来越困难。例如,在用户从网络上下载需要的文档文件数据的同时,也需要确保该文档文件数据没有被人修改过,如添加了木马、病毒、非官方插件等,或是在下载中没有被破坏。因此,非常有必要利用现代化信息技术来改进人们对文件数据的相似性校验方法,从而提高人们处理日益增长的海量电子化文档的能力。
发明内容
有鉴于此,本发明提供了一种文件指纹校验方法及装置,主要目的在于可以实现对非结构化数据的相似性进行准确校验。
依据本发明一个方面,提供了一种文件指纹校验方法,该方法包括:
提取待校验文件中的文件内容信息并进行预处理;
提取预处理后的文件内容信息中的指纹信息;
检测所述指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值;
若所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。
依据本发明另一个方面,提供了一种文件指纹校验装置,该装置包括:
提取单元,用于提取待校验文件中的文件内容信息;
预处理单元,用于对所述提取单元提取的待校验文件中的文件内容信息进行预处理;
所述提取单元,还用于提取预处理后的文件内容信息中的指纹信息;
检测单元,用于检测所述提取单元提取的指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值;
确定单元,用于若所述检测单元检测出所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供的一种文件指纹校验方法及装置,首先提取待校验文件中的文件内容信息并进行预处理;提取预处理后的文件内容信息中的指纹信息;检测所述指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值;若所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。本发明通过对待校验文件进行指纹信息提取并与预置指纹库中的指纹信息之间进行相似度进行检测,提供了对非结构化数据进行指纹校验的方式,可以实现对文件数据的相似性进行准确校验,从而可以提高处理日益增长的海量电子化文档的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种文件指纹校验方法流程示意图;
图2示出了本发明实施例提供的另一种文件指纹校验方法流程示意图;
图3示出了本发明实施例提供的一种文件指纹校验装置结构示意图;
图4示出了本发明实施例提供的另一种文件指纹校验装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种文件指纹校验方法,如图1所示,所述方法包括:
101、提取待校验文件中的文件内容信息并进行预处理。
其中,所述文件内容信息中包含待校验文件中的文件内容。
对于本发明实施例,可以通过泛化处理的方式,即模板化处理的方式,提取待校验文件中的文件内容信息,提取的文件内容信息为预设Unicode编码格式。具体地,可以利用预设文档内容提取函数,提取待校验文件中的文件内容,其中,预设文档内容提取函数可以按用户的实际需求进行配置;再利用预设字符集编码探测函数,识别提取的文件内容的编码格式,然后利用预设编码转换库,将提取的文件内容的编码格式转换为预设Unicode编码格式,进而完成提取待校验文件中的文件内容信息。
对于本发明实施例,在对提取的文件内容信息进行预处理的过程可以包括:去除文件内容中的标点符号、去除无意词、以及对文件内容进行中文分词处理等。
102、提取预处理后的文件内容信息中的指纹信息。
其中,所述指纹信息是指可以唯一标识某个文件的特征,每一个文件都会有唯一的指纹信息。所谓指纹,实际上就是将文件内容映射成一个数字,每一段不同内容所映射的数字都不会相同,就好比人的指纹一样。文件指纹在保护数据完整性,身份识别等诸多方面有着举足轻重的作用。
103、检测指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值。
其中,所述预置指纹库中保存有用于鉴别文件内容相似的指纹信息。所述预设阈值可以根据实际需求进行配置,例如,可以配置为70%、80%等。
104、若相似度大于或等于预设阈值,则确定待校验文件为内容相似文件。
例如,预设阈值为65%,提取文件A中的文件内容信息并进行预处理,然后提取预处理后的文件内容信息中的指纹信息,当检测出该指纹信息与预置指纹库中的指纹信息之间的相似度为70%时,确定文件A为内容相似文件;当检测出该指纹信息与预置指纹库中的指纹信息之间的相似度为30%时,确定文件A不是内容相似文件。
本发明实施例提供的一种文件指纹校验方法,首先提取待校验文件中的文件内容信息并进行预处理;提取预处理后的文件内容信息中的指纹信息;检测所述指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值;若所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。本发明通过对待校验文件进行指纹信息提取并与预置指纹库中的指纹信息之间进行相似度进行检测,提供了对非结构化数据进行指纹校验的方式,可以实现对文件数据的相似性进行准确校验,从而可以提高处理日益增长的海量电子化文档的效率。
具体地,本发明实施例提供了另一种文件指纹校验方法,如图2所示,所述方法包括:
201、提取待校验文件中的文件内容信息并进行预处理。
其中,所述文件内容信息中包含待校验文件中的文件内容。
对于本发明实施例,可以通过泛化处理的方式,即模板化处理的方式,提取待校验文件中的文件内容信息,具体地实现过程以及预处理步骤,可以参考步骤101中相应描述,在此不再赘述。
对于本发明实施例,所述步骤201之前,还包括:提取不同预置样本文件中的文件内容信息并进行预处理;获取经过预处理的文件内容信息中的指纹信息;根据所述指纹信息,构建预置指纹库。其中,所述预置样本文件可以为确定文件内容相似性的校准文件。需要说明的是,所述提取不同预置样本文件中的文件内容信息并进行预处理的过程可以参考步骤101中相应描述,在此不再赘述。所述指纹信息的概念描述可以参考步骤102中相应描述,在此不再赘述。
需要说明的是,可以通过预置Karp-Rabin函数,获取经过预处理的文件内容信息中的指纹信息,其中,所述预置Karp-Rabin函数为通过Karp-Rabin算法编写的函数。具体地,可以通过预置K-gram函数将预处理后的文件内容信息进行划分,得到多个指纹分块;计算每个指纹分块对应的哈希值,作为提取的指纹信息。
例如,对一段为“今天天气不错”的文件内容,预设分块大小k为5,划分为两个分块,分别为h1、h2,分别对应“今天天气不”、“天天气不错”两个内容片段。计算h1对应的哈希值,具体通过公式h1=A×2^4+B×2^3+C×2^2+D×2^1+E×2^0计算出h1对应的哈希值,其中,A至E为“今”、“天”、“天”、“气”、“不”在Unicode中对应的数字表示。可以通过相同的方式,可以计算出h2对应的哈希值,进而将h1、h2分别对应的哈希值作为提取的指纹信息。
对于本发明实施例,所述根据所述指纹信息,构建预置指纹库之前,还包括:对所述指纹信息进行筛选;所述根据所述指纹信息,构建预置指纹库具体包括:根据筛选后的指纹信息,构建预置指纹库。具体地,所述对所述指纹信息进行筛选包括:通过预置Winnowing函数,对所述指纹信息进行筛选。其中,所述预置Winnowing函数可以为根据Winnowing算法编写的函数。所述Winnowing算法所采用的策略是:选择每个窗口中最小的哈希值,如果一个窗口中存在多个最小值,则选择最右边的,该策略既保证选取足够的指纹信息,又保证了不会产生太庞大的指纹。
例如,当前有h1、h2、h3、h4这些分块指纹,窗口大小为3、即存在(h1、h2、h3)、(h2、h3、h4)两个窗口,分别记为窗口1、窗口2,在窗口1中h1对应的哈希值最小,则将h2和h3去除,只保留h1对应的哈希值;而窗口2中h3和h4的哈希值最小,选择保留窗口最右边的h4的哈希值,将h2和h3去除,进而只剩下h1和h4两个分块指纹,作为筛选后的指纹信息。
进一步地,所述根据筛选后的指纹信息,构建预置指纹库之后,还包括:将所述预置指纹库保存在布隆过滤器中,以便进行文件相似性校验。其中,所述布隆过滤器(BloomFilter)的实现基础是一个很长的二进制位向量和一系列随机散列函数,是一种基于散列的查找算法,用于查找一个元素是否在集合中,和散列表相比,所述布隆过滤器的优点是空间效率和查询时间都远远超过一般的算法,可以对海量数据集进行表示和查找操作,存储空间和插入/查询时间都是常数,另外,哈希函数相互之间没有关系,方便由硬件并行实现;布隆过滤器不需要存储元素本身,在对保密要求非常严格的场合有优势。
202、通过预置Karp-Rabin函数,提取预处理后的文件内容信息中的指纹信息。
对于本发明实施例,所述步骤202具体包括:通过预置K-gram函数将所述预处理后的文件内容信息进行划分,得到多个指纹分块;计算每个指纹分块对应的哈希值,作为提取的指纹信息。
进一步地,所述计算每个指纹分块对应的哈希值,作为提取的指纹信息包括:按照每个指纹分块在文件内容信息中位置的先后顺序,计算所述每个指纹分块对应的哈希值;当需要计算处于除首位外其余位置的指纹分块的哈希值时,获取前一个指纹分块对应的哈希值;计算所述前一个指纹分块中第一个字符对应的哈希值,以及所述处于除首位外其余位置的指纹分块中最后一个字符对应的哈希值;计算所述前一个指纹分块对应的哈希值与所述前一个指纹分块中第一个字符对应的哈希值之差,再与所述处于除首位外其余位置的指纹分块中最后一个字符对应的哈希值求和,得到所述处于除首位外其余位置的指纹分块对应的哈希值。
例如,对一段为“今天天气不错”的文件内容,预设分块大小k为5,划分为两个分块,分别为h1、h2,分别对应“今天天气不”、“天天气不错”两个内容片段。已经计算出了h1对应的哈希值,这时计算h2对应的哈希值时,计算h1的哈希值与“今”字符对应的哈希值之差,再与“错”字符对应的哈希值求和,最后得到h2对应的哈希值。
需要说明的是,当需要计算处于除首位外其余位置的指纹分块的哈希值时,通过上述方式可以提高计算效率,进而提高了指纹信息提取的效率。
203、检测指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值。
其中,所述预设阈值可以根据实际需求进行配置。例如,可以配置为60%、70%等。
204、若相似度大于或等于预设阈值,则确定待校验文件为内容相似文件。
本发明实施例提供的另一种文件指纹校验方法,首先提取待校验文件中的文件内容信息并进行预处理;提取预处理后的文件内容信息中的指纹信息;检测所述指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值;若所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。本发明通过对待校验文件进行指纹信息提取并与预置指纹库中的指纹信息之间进行相似度进行检测,提供了对非结构化数据进行指纹校验的方式,可以实现对文件数据的相似性进行准确校验,从而可以提高处理日益增长的海量电子化文档的效率。
进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种文件指纹校验装置,如图3所示,所述装置包括:提取单元31、预处理单元32、检测单元33、确定单元34。
所述提取单元31,可以用于提取待校验文件中的文件内容信息。
所述预处理单元32,可以用于对所述提取单元31提取的待校验文件中的文件内容信息进行预处理。
所述提取单元31,还可以用于提取预处理后的文件内容信息中的指纹信息。
所述检测单元33,可以用于检测所述提取单元31提取的指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值。
所述确定单元34,可以用于若所述检测单元33检测出所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。
需要说明的是,本发明实施例提供的一种文件指纹校验装置所涉及各功能单元的其他相应描述,可以参考图1中的对应描述,在此不再赘述。
本发明实施例提供的一种文件指纹校验装置,首先提取待校验文件中的文件内容信息并进行预处理;提取预处理后的文件内容信息中的指纹信息;检测所述指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值;若所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。本发明通过对待校验文件进行指纹信息提取并与预置指纹库中的指纹信息之间进行相似度进行检测,提供了对非结构化数据进行指纹校验的方式,可以实现对文件数据的相似性进行准确校验,从而可以提高处理日益增长的海量电子化文档的效率。
进一步地,作为图2所述方法的具体实现,本发明实施例提供了另一种文件指纹校验装置,如图4所示,所述装置包括:提取单元41、预处理单元42、检测单元43、确定单元44。
所述提取单元41,可以用于提取待校验文件中的文件内容信息。
所述预处理单元42,可以用于对所述提取单元41提取的待校验文件中的文件内容信息进行预处理。
所述提取单元41,还可以用于提取预处理后的文件内容信息中的指纹信息。
所述检测单元43,可以用于检测所述提取单元41提取的指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值。
所述确定单元44,可以用于若所述检测单元43检测出所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。
所述提取单元41,具体可以用于通过预置Karp-Rabin函数,提取预处理后的文件内容信息中的指纹信息。
进一步地,所述提取单元41包括:划分模块411、计算模块412。
所述划分模块411,可以用于通过预置K-gram函数将所述预处理后的文件内容信息进行划分,得到多个指纹分块。
所述计算模块412,可以用于计算每个指纹分块对应的哈希值,作为提取的指纹信息。
所述计算模块412,具体可以用于按照每个指纹分块在文件内容信息中位置的先后顺序,计算所述每个指纹分块对应的哈希值。
所述计算模块412,具体还可以用于当需要计算处于除首位外其余位置的指纹分块的哈希值时,获取前一个指纹分块对应的哈希值。
所述计算模块412,具体还可以用于计算所述前一个指纹分块中第一个字符对应的哈希值,以及所述处于除首位外其余位置的指纹分块中最后一个字符对应的哈希值。
所述计算模块412,具体还可以用于计算所述前一个指纹分块对应的哈希值与所述前一个指纹分块中第一个字符对应的哈希值之差,再与所述处于除首位外其余位置的指纹分块中最后一个字符对应的哈希值求和,得到所述处于除首位外其余位置的指纹分块对应的哈希值。
进一步地,所述装置还包括:获取单元45、构建单元46。
所述提取单元41,还可以用于提取不同预置样本文件中的文件内容信息。
所述预处理单元42,还可以用于对所述提取单元41提取的不同预置样本文件中的文件内容信息进行预处理。
所述获取单元45,可以用于获取经过预处理的文件内容信息中的指纹信息。
所述构建单元46,可以用于根据所述获取单元45获取的指纹信息,构建预置指纹库。
进一步地,所述装置还包括:筛选单元47。
所述筛选单元47,可以用于对所述获取单元45获取的指纹信息进行筛选。
所述构建单元46,具体可以用于根据筛选后的指纹信息,构建预置指纹库。
所述筛选单元47,具体可以用于通过预置Winnowing函数,对所述指纹信息进行筛选。
进一步地,所述装置还包括:保存单元48。
所述保存单元48,可以用于将所述预置指纹库保存在布隆过滤器中。
进一步地,以便于进行文件相似性校验。
需要说明的是,本发明实施例提供的另一种文件指纹校验装置所涉及各功能单元的其他相应描述,可以参考图2中的对应描述,在此不再赘述。
本发明实施例提供的另一种文件指纹校验装置,首先提取待校验文件中的文件内容信息并进行预处理;提取预处理后的文件内容信息中的指纹信息;检测所述指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值;若所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。本发明通过对待校验文件进行指纹信息提取并与预置指纹库中的指纹信息之间进行相似度进行检测,提供了对非结构化数据进行指纹校验的方式,可以实现对文件数据的相似性进行准确校验,从而可以提高处理日益增长的海量电子化文档的效率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种文件指纹校验方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (6)

1.一种文件指纹校验方法,其特征在于,包括:
提取不同预置样本文件中的文件内容信息并进行预处理;
通过预置Karp-Rabin函数,获取经过预处理的文件内容信息中的指纹信息,包括:通过预置K-gram函数将所述预处理后的文件内容信息进行划分,得到多个指纹分块,计算每个指纹分块对应的哈希值,作为提取的指纹信息;
根据所述指纹信息,构建预置指纹库,进一步,包括:
通过预置Winnowing函数,对所述指纹信息进行筛选,根据筛选后的指纹信息,构建预置指纹库;
提取待校验文件中的文件内容信息并进行预处理;
通过预置Karp-Rabin函数,提取预处理后的文件内容信息中的指纹信息,进一步包括:通过预置K-gram函数将所述预处理后的文件内容信息进行划分,得到多个指纹分块,计算每个指纹分块对应的哈希值,作为提取的指纹信息;
检测所述指纹信息与所述预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值;
若所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。
2.根据权利要求1所述的文件指纹校验方法,其特征在于,所述计算每个指纹分块对应的哈希值,作为提取的指纹信息包括:
按照每个指纹分块在文件内容信息中位置的先后顺序,计算所述每个指纹分块对应的哈希值;
当需要计算处于除首位外其余位置的指纹分块的哈希值时,获取前一个指纹分块对应的哈希值;
计算所述前一个指纹分块中第一个字符对应的哈希值,以及所述处于除首位外其余位置的指纹分块中最后一个字符对应的哈希值;
计算所述前一个指纹分块对应的哈希值与所述前一个指纹分块中第一个字符对应的哈希值之差,再与所述处于除首位外其余位置的指纹分块中最后一个字符对应的哈希值求和,得到所述处于除首位外其余位置的指纹分块对应的哈希值。
3.根据权利要求1所述的文件指纹校验方法,其特征在于,所述根据所述指纹信息,构建预置指纹库之后,所述方法还包括:
将所述预置指纹库保存在布隆过滤器中,以便进行文件相似性校验。
4.一种文件指纹校验装置,其特征在于,包括:
提取单元,还用于提取不同预置样本文件中的文件内容信息;
预处理单元,还用于对所述提取单元提取的不同预置样本文件中的文件内容信息进行预处理;
获取单元,用于通过预置Karp-Rabin函数,获取经过预处理的文件内容信息中的指纹信息,包括:通过预置K-gram函数将所述预处理后的文件内容信息进行划分,得到多个指纹分块,计算每个指纹分块对应的哈希值,作为提取的指纹信息;
筛选单元,用于通过预置Winnowing函数,对所述指纹信息进行筛选;
构建单元,用于根据筛选后的指纹信息,构建预置指纹库;
所述提取单元,用于通过预置Karp-Rabin函数,提取待校验文件中的文件内容信息;
其中,所述提取单元包括:划分模块,计算模块;
所述划分模块,用于通过预置K-gram函数将所述预处理后的文件内容信息进行划分,得到多个指纹分块;
所述计算模块,用于计算每个指纹分块对应的哈希值,作为提取的指纹信息;
所述预处理单元,用于对所述提取单元提取的待校验文件中的文件内容信息进行预处理;
所述提取单元,还用于提取预处理后的文件内容信息中的指纹信息;
检测单元,用于检测所述提取单元提取的指纹信息与预置指纹库中的指纹信息之间的相似度是否大于或等于预设阈值;
确定单元,用于若所述检测单元检测出所述相似度大于或等于所述预设阈值,则确定所述待校验文件为内容相似文件。
5.根据权利要求4所述的文件指纹校验装置,其特征在于,
所述计算模块,具体用于按照每个指纹分块在文件内容信息中位置的先后顺序,计算所述每个指纹分块对应的哈希值;
所述计算模块,具体还用于当需要计算处于除首位外其余位置的指纹分块的哈希值时,获取前一个指纹分块对应的哈希值;
所述计算模块,具体还用于计算所述前一个指纹分块中第一个字符对应的哈希值,以及所述处于除首位外其余位置的指纹分块中最后一个字符对应的哈希值;
所述计算模块,具体还用于计算所述前一个指纹分块对应的哈希值与所述前一个指纹分块中第一个字符对应的哈希值之差,再与所述处于除首位外其余位置的指纹分块中最后一个字符对应的哈希值求和,得到所述处于除首位外其余位置的指纹分块对应的哈希值。
6.根据权利要求4所述的文件指纹校验装置,其特征在于,所述装置还包括:
保存单元,用于将所述预置指纹库保存在布隆过滤器中,以便进行文件相似性校验。
CN201510997642.8A 2015-12-25 2015-12-25 文件指纹校验方法及装置 Active CN105653984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510997642.8A CN105653984B (zh) 2015-12-25 2015-12-25 文件指纹校验方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510997642.8A CN105653984B (zh) 2015-12-25 2015-12-25 文件指纹校验方法及装置

Publications (2)

Publication Number Publication Date
CN105653984A CN105653984A (zh) 2016-06-08
CN105653984B true CN105653984B (zh) 2019-04-19

Family

ID=56477876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510997642.8A Active CN105653984B (zh) 2015-12-25 2015-12-25 文件指纹校验方法及装置

Country Status (1)

Country Link
CN (1) CN105653984B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250777A (zh) * 2016-07-26 2016-12-21 合肥赛猊腾龙信息技术有限公司 数据防泄露系统中一种文档指纹提取及匹配方法
CN106355183A (zh) * 2016-08-16 2017-01-25 珠海市魅族科技有限公司 检测主题文件相似度的方法及装置
CN110019640B (zh) * 2017-07-25 2021-02-23 杭州盈高科技有限公司 涉密文件检查方法及装置
CN109547319A (zh) * 2017-09-22 2019-03-29 中移(杭州)信息技术有限公司 一种消息处理方法及装置
CN108829660B (zh) * 2018-05-09 2021-08-31 电子科技大学 一种基于随机数分治递归的短文本签名生成方法
CN109376277B (zh) * 2018-11-23 2020-11-20 京东数字科技控股有限公司 确定设备指纹同源性的方法及装置
CN111858486B (zh) * 2020-07-03 2024-07-23 北京天空卫士网络安全技术有限公司 一种文件分类方法和装置
CN112182604B (zh) * 2020-09-23 2024-08-23 恒安嘉新(北京)科技股份公司 文件检测系统以及方法
CN112256911A (zh) * 2020-10-21 2021-01-22 腾讯音乐娱乐科技(深圳)有限公司 一种音频匹配方法、装置和设备
CN112214985A (zh) * 2020-10-22 2021-01-12 新华三信息安全技术有限公司 一种文件类别检测方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020174A (zh) * 2012-11-28 2013-04-03 华为技术有限公司 相似性分析方法、装置及系统
CN103118019A (zh) * 2013-01-24 2013-05-22 南开大学 一种基于去重的文件网络复制方法
CN103970722A (zh) * 2014-05-07 2014-08-06 江苏金智教育信息技术有限公司 一种文本内容去重的方法
CN104657665A (zh) * 2015-03-12 2015-05-27 四川神琥科技有限公司 一种文件处理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020174A (zh) * 2012-11-28 2013-04-03 华为技术有限公司 相似性分析方法、装置及系统
CN103118019A (zh) * 2013-01-24 2013-05-22 南开大学 一种基于去重的文件网络复制方法
CN103970722A (zh) * 2014-05-07 2014-08-06 江苏金智教育信息技术有限公司 一种文本内容去重的方法
CN104657665A (zh) * 2015-03-12 2015-05-27 四川神琥科技有限公司 一种文件处理方法

Also Published As

Publication number Publication date
CN105653984A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
CN105653984B (zh) 文件指纹校验方法及装置
CN104168293B (zh) 结合本地内容规则库识别可疑钓鱼网页的方法及系统
CN111597803B (zh) 一种要素提取方法、装置、电子设备及存储介质
CN105224600B (zh) 一种样本相似度的检测方法及装置
CN106572117A (zh) 一种WebShell文件的检测方法和装置
CN110741376B (zh) 用于不同自然语言的自动文档分析
CN109063055A (zh) 同源二进制文件检索方法和装置
CN104158828B (zh) 基于云端内容规则库识别可疑钓鱼网页的方法及系统
WO2019028990A1 (zh) 代码元素的命名方法、装置、电子设备及介质
CN103473104A (zh) 一种基于关键词上下文频率矩阵的应用重打包辨别方法
CN103605691A (zh) 用于处理社交网络中发布内容的装置和方法
CN111651768B (zh) 计算机二进制程序的链接库函数名识别方法及装置
US20190108277A1 (en) Method to identify and extract fragments among large collections of digital documents using repeatability and semantic information
CN104281842A (zh) 人脸图片人名识别方法和装置
CN109657228A (zh) 一种敏感文本确定方法及装置
López et al. Mastering python regular expressions
CN110989991B (zh) 检测应用程序中源代码克隆开源软件的方法及系统
Hakak et al. Diacritical digital Quran authentication model
CN109858249A (zh) 移动恶意软件大数据的快速智能比对和安全检测方法
US20140169618A1 (en) Method for retrieving associated information using an image
CN113111350A (zh) 一种恶意pdf文件的检测方法、装置及电子设备
CN114996707B (zh) 图片木马的静态检测方法、装置、电子设备及存储介质
CN105608205B (zh) 结构化数据的指纹校验方法及装置
CN108875374B (zh) 基于文档节点类型的恶意pdf检测方法及装置
CN114254069A (zh) 域名相似度的检测方法、装置和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Co-patentee after: QAX Technology Group Inc.

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Co-patentee before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd.

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder