バイトのブロブが更新されているかどうかを検出できる必要があるシステムを構築しています。BLOB全体(最大5 MB)を保存するのではなく、BLOBが更新されているかどうかを確認するために、そのチェックサムを計算して保存し、少し後で同じチェックサムを計算する必要があると考えています。
目標は、以下を(この順序で)最小化することです。
- チェックサムのサイズ
- 計算する時間
- 衝突の可能性(コンテンツが変更されている場合でも、2つの同一のチェックサムが発生します)。
私たちのシステムの衝突は1/1,000,000以下で許容されます。問題はセキュリティではなく、単に更新/エラー検出であるため、まれな衝突は問題ありません。(これが、最小化するために最後に配置した理由です)。
また、テキストのブロブを自分で変更することはできません。
もちろん、md5
またはcrc
頭に浮かぶsha1
ので、迅速な解決策が必要な場合は、それを選択します。ただし、簡単な解決策ではなく、さまざまな方法と長所と短所を比較できるものを探しています。