私はちょうどDHTの実装と理論の勉強を始めたばかりで、ノードの起動時とネットワークへの接続時にノードIDを生成する方法に固執しました。IDはいくつかのハッシュ範囲からのランダムハッシュだと読みましたが、それは一意のハッシュですか? ハッシュは、このノードが格納するデータに近いものを生成しますか? これで私を助けてください。
1525 次
3 に答える
2
大きな値の空間で優れたハッシュ関数を使用してノードIDを自己生成することは、DHT/P2Pシステムで使用される一般的な手法です。ハッシュは良好なランダム分布を保証するため、衝突の可能性は非常に低くなります。統計的に、IDは(ほとんどの場合)一意になります。
そのハッシュは、ノードに保存されているデータから独立しています。
于 2011-04-16T18:14:09.773 に答える
0
import random
import hashlib
def newID():
s = ""
for i in range(20):
s += chr(random.randint(0, 255))
m = hashlib.sha1()
m.update(s)
return m.digest()
于 2013-11-20T10:03:34.963 に答える