2

24ビットワードに収まる短い文字列(たとえば、16〜256バイト)のチェックサム/指紋関数が必要です。そのためのよく知られたアルゴリズムはありますか?

4

2 に答える 2

2

簡単な解決策として24ビットCRCを使用することを提案します。CRCはすべての長さで利用可能であり、常に計算が簡単です。ウィキペディアには一致するエントリがあります。文字を交換すると異なるCRCが生成される可能性が高いため、品質はモジュロ削減された合計よりもはるかに優れています。

次のステップ(同じチェックサムで間違った文字列を持つことが実際の脅威である場合)は、CMACのような暗号化MACです。これは本からは長すぎますが、最初の24ビットを取ることで減らすことができます。

于 2012-07-10T09:29:44.913 に答える
-1

最も簡単な方法は、基本的なチェックサムです。文字列mod(2 ^ 24)のバイトを合計します。

ただし、バイトに変換するときは文字セットの問題に注意する必要があるため、文字をバイトに同じようにエンコードすることに全員が同意します。

于 2011-11-30T19:09:14.930 に答える