いくつかのデータの2つの部分のハッシュを知っている場合、それらのハッシュからの完全なデータのハッシュを計算できますか?

StackOverflow https://stackoverflow.com/questions/5869742

  •  28-10-2019
  •  | 
  •  

質問

いくつかのデータの2つ(またはそれ以上)の部分のハッシュを知っている場合、それらのハッシュからの完全なデータのハッシュを計算できますか?

これはどのハッシュタイプを実行できますか? SHA1、SHA256、MD5? (ハッシュのセキュリティは私のユースケースにとって重要ではありません。)

すなわち

data0 = '0123'
data1 = '45678'
all_data = data0 + data1
hash0 = hash(data0)
hash1 = hash(data1)

fnはそのように存在しますか

hash(all_data) == fn(hash0, hash1)

FNはMD5、SHA1、またはSHA256に存在しますか?

ありがとう、

クリス。

役に立ちましたか?

解決

簡潔な答え。いいえ。

ハッシュは最小限の逸脱のために完全に異なり、それらを計算できないまでこれが機能しないようにします。たとえそれらを計算できる場合でも、結果はあなたが選択できる可能性のリストになります。したがって、決定論的なものは何もありません。

他のヒント

ハッシュスルー data0 システムをいくつかの中間状態に置きます。君の hash(data1) きれいな状態から計算されました。 Hash1を修正して、欠落している中間状態を補うことはできません(良いハッシュ関数の場合)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top