摘要
一种基于相似度哈希技术的软件相似项目筛选方法,包括:选取多个样本项目构建知识库;准备被检测项目;读取知识库中样本项目,对每个样本项目生成样本项目文本字符串并使用Simhash和Minhash分别提取特征向量;对被检测项目生成被测项目文本字符串,并使用Simhash和Minhash分别提取两种特征向量;将被检测项目提取的Simhash特征向量与各样本项目的Simhash特征向量进行比对,得到对应的Simhash汉明距离值;将被检测项目提取的Minhash特征向量与各样本项目的Minhash特征向量进行比对,得到对应的Minhash签名相似值;依据Simhash汉明距离值和Minhash签名相似度值初步筛选出多组候选项目;对每个候选项目进行粒度更细的文件级或代码片段级溯源分析,最终筛选出最相似的目标项目。