これが私の問題です。クライアントがblobを正常にダウンロードしたかどうかを知りたいので、blobのチェックサムを取得する方法はありますか?または、blobとダウンロードされたファイルが同じである場合、それらを比較するためのより良い解決策があるでしょうか?
1 に答える
ほとんどすべての状況で、TCP / IPの組み込みチェックサムは、転送中のネットワーク破損からデータを保護します。さらに、オーディオファイル(および画像などの他のメディアファイル)は、いくつかの反転ビットに対してフォールトトレラントです。(それは、破損が目立たないということではありませんが、その影響は最小限になります。)
悪意のあるパーティからの意図的な破損について心配する理由がある場合(おそらくそうではありません)、チェックサムを提供する価値があるかもしれません。ただし、ユーザーに確認してもらうには、可能な限り単純にしたとしても、手動で入力する必要があります。
この投稿では、JSを使用してファイルのMD5ハッシュを計算する例を示します。MD5には多くの既知の弱点があるため、悪意のある破損を回避しようとしている場合は、より強力なもの(少なくとも、SHA1)を使用することをお勧めします。SHA1を使用した別の例を次に示します。
これらのソリューションの最大の欠点は、ブラウザのセキュリティモデルにより、コードでチェックサムを計算できるように、ユーザーがファイルを手動で選択する必要があることです。
また、JS(ユーザーがチェックサムを計算するために実行している)が変更されていないこと、およびサイトで比較しているチェックサムが変更されていないことを確認してから、ローカルチェックサム。SSLを使用すると、これらの懸念に役立ちます。知識のあるユーザーの場合は、サイトにチェックサムを公開して、独自のツールで確認できるようにすることができます。
要約すると、次のようになります。
- おそらく、MP3のチェックサム検証を実行する必要はありません。
- 使用できるJSベースのソリューションはありますが、特にユーザーフレンドリーではありません。
- チェックサムを気にするほとんどのユーザーは、おそらく自分でチェックサムを計算する方法を知っているので、チェックサムを公開することは良い妥協案です。
- 最後に、サイトでSSLを使用してください。