Python中的哈希函数族生成器

问题描述 投票:8回答:4

我正在寻找一个散列函数族生成器,该生成器可以在给定一组参数的情况下生成一个散列函数族。到目前为止,我还没有找到任何此类生成器。有没有办法用hashlib包来做到这一点?

例如,我想做类似的事情:

h1 = hash_function(1)
h2 = hash_function(2)
...

以及h1h2将是不同的哈希函数。

对于那些可能了解这一点的人,我正在尝试在非常大的数据集上实现最小散列算法。

[基本上,对于给定的文档,我有很多功能(1亿到10亿个,我需要为此功能创建1000到10000个不同的随机排列。

我不想显式地构建随机排列,因此我想在以下内容中使用该技术:

  1. 生成哈希函数h,并考虑对于两个索引rs
  2. [r出现在排列的s之前,如果h(r) < h(s)并针对100至1000个不同的哈希函数执行此操作。

我可能会错过任何已知的库吗?还是您可能知道的使用python生成哈希函数族的任何标准方法?

我正在寻找一个散列函数族生成器,该生成器可以在给定一组参数的情况下生成一个散列函数族。到目前为止,我还没有找到任何此类生成器。有没有办法用...

python hash generator
4个回答
6
投票

我只是想做类似的事情(如果您不需要线程安全-如果您确实需要线程安全,并且不难改变-并假设是32位Python版本):


1
投票

如上所述,您可以对minhash使用通用哈希。例如:


0
投票

您应该考虑使用通用哈希。我的答案和代码可以在这里找到:https://stackoverflow.com/a/25104050/207661


0
投票

@@ alex的答案虽然简洁明了,但是它生成的哈希函数并不“彼此非常不同”。

© www.soinside.com 2019 - 2024. All rights reserved.