代码相似性的判断

文章目录

    • 概要
    • 基本思路
    • 性能

概要

代码相似性扫描多用于内容安全的审核, 例如防止核心资产外泄等。

基本思路

  1. 整文哈希值
    将代码作为文本, 去除空格和注释, 剩余内容拼接起来计算哈希值, 哈希值一样的视为抄袭
  2. 行数哈希值
    和1类似, 只不过计算的是行的哈希值, 设置一个相似度阈值, 一个代码中有多少行和库中的行哈希值相同, 超过阈值认为抄袭。
  3. 函数哈希值
    同2
    函数哈希值可能要基于语义, 可用目前的开源工具, 例如tree-sitter和antlr 4

性能

扫描提高性能很重要, 一篇100行以内代码扫描时间应控制在1s以内
可通过使用ES这种高性能搜索引擎来提高性能

你可能感兴趣的:(爬虫,后端)