3

実際の数学用語がわかりません(多くのマッピングが私が使用した用語です)

これは私の要件です:

hash_code = hash_function(element 1, element 2, ...... element n)

私は取得できるはずです

bool b = is_valid_hash(hash_code, element x)

関数is_valid_hashは天気を教えてくれるはずです' element x'は渡された要素でしたhash_function

そのようなハッシュ関数の名前は何ですか?1つのハッシュが複数の要素にマップできる必要があります(衝突ではありません)。

4

2 に答える 2

1

私が探していたのは:ブルームフィルター

于 2011-12-29T03:14:59.927 に答える
0

hash_functionが標準のハッシュアルゴリズム(md5など)であると仮定すると、これは実行できません。ただし、カスタム関数の場合は、次の2つの方法のいずれかで実行できます。

  1. hash_function()は、各要素をハッシュしてから文字列を連結し(これにより、非常に長いハッシュが生成され、いくつかの点で安全性が低下しますが、機能します)、is_valid_hash(でサブ文字列の比較を行うことができます)。 )(ハッシュされた要素xがhash_codeのサブストリングであるかどうかを確認します。

  2. 同様に、hash_functionはハッシュの配列を返す可能性があります...文字列が必要な場合、またはセキュリティが懸念される場合は、双方向で暗号化されたシリアル化された配列を返すこともできます...これはis_valid_hash()で復号化および非シリアル化できます。要素xハッシュが配列にあるかどうかを確認できます。

于 2011-12-28T15:19:56.833 に答える