23、模糊哈希:原理、实现与应用

模糊哈希:原理、实现与应用

1. 模糊哈希简介

模糊哈希是一种用于文件比较和相似度检测的技术,在数字取证和信息安全领域有着广泛的应用。它的核心概念包括滚动哈希、基于文件大小计算的重置点以及传统哈希算法(如FNV算法)。滚动哈希用于识别文件中的边界,而传统哈希则用于对这些边界内的数据进行摘要。

2. 创建模糊哈希的代码实现
2.1 fuzz_file() 函数

该函数接受一个文件路径作为输入,并使用文件开头定义的常量来计算文件的模糊哈希签名。以下是函数的定义:

def fuzz_file(file_path):
    """
    The fuzz_file function creates a fuzzy hash of a file
    :param file_path (str): file to read.
    :return (str): spamsum hash
    """
2.2 生成滚动哈希

fuzz_file() 函数内部,定义了一个嵌套函数 update_rolling_hash() 用于更新滚动哈希值。该函数接受两个参数:新字节 nb 和滚动哈希跟踪字典 rh

def update_rolling_hash(nb, rh):
    """
    Update the
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值