これをどのように尋ねるか正確にはわかりませんが、キーを含むことができる構造を考えると、これが私が望んでいることです5+n
(したがって、私のシステムには 5 つのキーが必須であり、追加のキーはオプションです) - ハッシュを希望します同一のキー6
を持つキーハッシュがキー構造体5
のスーパーセットであり、5
追加情報を提供することを決定できるメカニズム。具体的には、すべてのリクエストで完全な構造体をネットワーク経由で送信することを妨げる制約があるため、ハッシュメカニズム。
明確にするために、いくつかの情報を次に示します (サンプルには2+n
キーが必要です)。
---
name: codebeaker
occupation: developer
でハッシュするとSHA-512
、-256
次のようになります。
SHA-512
04fe500f2b3e779aba9ecb171224a04d35cc8453eb1521c7e31fd48b56b1cce9
b1e8af775e177e110982bfb16a6ca8652d7d9812ab8a8c316015dc9d6b3b54f7
SHA-256
4833be7086726e7ffd82db206f94f0a4f9fdf7fba00692f626157afed4587c74
追加のキーを追加する場合 (以下の例)、拡張されたデータセットが最初のデータセットのスーパーセットであると推測できるようにしたいと考えています。
---
name: codebeaker
occupation: developer
telephone: 49 (0) 123 45 67
ただし、当然のことながら、MD5
、SHA-n
および私が調べた他のハッシュ関数では、これを行う方法はありません。例:
SHA-512
2fe2c1f01e39506010ea104581b737f95db6b6f71b1497788afc80a4abe26ab0
fc4913054278af69a89c152406579b7b00c3d4eb881982393a1ace83aeb7b6a2
SHA-256
77c2942e9095e55e13c548e5ef1f874396bfb64f7653e4794d6d91d0d3a168e2
(明らかに)類似点はありません...
私たちのユースケースである構造体としてフォーマットされたこのデータは、サードパーティによってシステムに供給されます。データの処理には非常にコストがかかり、操作ごとに 2 ~ 3 秒かかります。以前の実行の結果があることがわかっている場合、その時間の約 50% を取り戻すことができます。頭字語であるキーと値のペアや、まったく関連性がないにもかかわらず、類似しているように見える他のテキストをよく目にするため、ここに適しています。
必要なのは、データをチェックサムする方法です (ここで私の回答にバイアスがかかっている可能性があります)。これにより、同じデータを持つすべての同じキーが含まれているかどうかB
のスーパーセットであると判断できます。A
しかし、多くの場合、私たちのキー/値エントリには非常に多くのデータがありstruc
、より完全なコピーを既に見たと判断するためだけに毎回ネットワーク経由で送信すると、費用がかかり、無駄になります。