私は正確にこれを尋ねる方法はわかりませんが、ここには5+n
のキーが含まれている可能性のある構造が与えられています(私のシステムには必須の5つのキーがありますキーは任意である) - 5
同一キーを持つ6
キーハッシュが5
キー構造のスーパーセットであり、追加情報を提供することを確認できるハッシングメカニズムが必要です。具体的には、リクエスト毎にワイヤを介して完全な構造体を送ることを排除する制約があるため、ハッシングメカニズム。 、追加のキーを追加する場合"ベースの"データチェックサムの計算。 (SHA1/2など)
SHA-512
04fe500f2b3e779aba9ecb171224a04d35cc8453eb1521c7e31fd48b56b1cce9
b1e8af775e177e110982bfb16a6ca8652d7d9812ab8a8c316015dc9d6b3b54f7
SHA-256
4833be7086726e7ffd82db206f94f0a4f9fdf7fba00692f626157afed4587c74
:これが見えるように出てくる
---
name: codebeaker
occupation: developer
が
SHA-512
でハッシュされ、そして
-256
:
は明確化のため、ここでは(サンプルが2+n
キーが必要です)いくつかの情報です(下の例)私は、拡張データセットが最初のスーパーセットであると推測できるようにしたいと考えています。
---
name: codebeaker
occupation: developer
telephone: 49 (0) 123 45 67
しかし、当然、MD5
、SHA-n
と私はに見てきた他のハッシング関数の中で、これを行う方法はありません、例:
SHA-512
2fe2c1f01e39506010ea104581b737f95db6b6f71b1497788afc80a4abe26ab0
fc4913054278af69a89c152406579b7b00c3d4eb881982393a1ace83aeb7b6a2
SHA-256
77c2942e9095e55e13c548e5ef1f874396bfb64f7653e4794d6d91d0d3a168e2
(明らかに)何の類似点が存在しません。..
私たちの使用例では、このデータは構造体としてフォーマットされ、サードパーティによってシステムに供給されます。データの処理は1回の操作で2〜3秒という非常に高価ですが、前回の実行結果がわかっていれば、その時間の約50%を得ることができます。ベイジアンとLevensteinのテキスト差分アルゴリズムは頭字語であるキー/値のペアや、完全に無関係なときに類似したように見えるその他のテキストがよく見られるため、ここでは適切です。
私が必要とするのは、同じデータを持つ同じキーがすべて含まれている場合、B
がA
のスーパーセットであると判断できるように、チェックサムデータ(ここで私の応答をバイアスしている可能性があります)です。しかし、多くの場合、キー/バリューエントリにはデータがたくさんあり、私たちはすでに完全なコピーを見ただけで、高価で無駄なものになると判断するたびに、毎回それを送信しています。
「キー」は既知であり、修正されていますか?そうでない場合は、あなたの(名前、職業、電話)を3倍にすると、比較(名前、職業)、(名前、電話)、(職業、電話)の3つのスーパーセットを作成する必要があります。 。提供されるキーの数と必要な数の間により広いギャップがある場合、組み合わせの数は爆発する可能性があります。 –
私はTwitterでこれをリンクしました。誰かがキーから別のキーを派生させているかどうかを決めることができるということを覚えているので、「暗号」のタグ付けは間違いかもしれないと指摘しました。 –
@Damien_The_Unbeliever、キーは知られていますが、ほとんどの場合、潜在的に既知の10個のキーが存在すると言われています(このコンテキストではどういう違いがありますか?)現在、5つの必須(上記)と潜在的には15倍もの成長とシステムの変更を可能にする生涯です。追加の既知のキーを持つ部分については、APIのセマンティックバージョニングを使用して許可フィールドを制御します。例えばv1.3では、v1.2よりも多くの鍵が使用できます。 v0.9クライアントは、5つの(必須の)キーをすべて提供しないため、1.0 APIを使用できません。 APIフォーマットは現在JSONですが、変更することができます。 (私たちはクライアントを書いた) –