2011-09-08 10 views
0

ファイルホスティングWebサイトで使用するのに最適なハッシュ関数は何ですか?私はすべてのファイルのハッシュを保存したいので、重複ファイルのHDスペースを無駄にする必要はありません。ファイルホスティングサイトのハッシュ関数

問題はsha1/md5が大きなファイルでは遅く、予想されるトラフィックが高いことです。 最適なソリューションは何ですか?ネットワークを介してユーザーからファイルを受信しながら、メモリをハッシュする?

私の主な関心事はサイトのパフォーマンスです。予想されるトラフィックが多いため、ハッシュがボトルネックになる可能性があります。

答えて

0

大きなファイルの場合、すべてのハッシュは、ディスクからファイルを読み取ることができる速度によって制限されるため、ほぼ同じ速度で実行されます。一般に、あなたが記述しているサイトのようなサイトは、ディスク上やネットワーク上のどの程度の速さでボトルネックになります。CPU上で動作するものではありません。

0

ファイルホスティングWebサイトで使用するのに最適なハッシュ関数は何ですか?

SHAはMD5よりも優れたハッシュです。

問題はsha1/md5が大きなファイルでは遅く、予想されるトラフィックが高いことです。最高のソリューションは何ですか?ネットワークを介してユーザーからファイルを受信しながら、メモリをハッシュする?

これは社内外のホスティングですか?内部については、私はクライアント側でハッシュします。 重複するファイルの数を見積もりましたか?たぶん、ハッシングの利点はありません。CPUサイクルを無駄にするのに比べてスペースを節約できます。

+0

問題のステートメントを注意深く読んでください。このアプリケーションではSHAがMD5よりも優れているわけではありません。これはセキュリティのためではなく、重複を検出することです。 –

0

多くの異なるハッシュ形式があり、最適な解決策は、サイトの存続期間中にどれくらいのファイルが存在すると予想されるか、いくつかの重複を持つことがどれほど悪いか、どれくらいのCP​​Uあなたがハッシュ関数などに費やすことができる馬力

Hereは、私がウィキペディアで見つけた面白い64ビットハッシュ関数の1つです。これは、計算が非常に速く、合理的な衝突特性を提供する必要があります。また、そのページにリンクされている他のハッシュ関数も調べてください。そのうちの1つは、必要なものに限定されています。