2012-06-27 9 views
5

チェックサムアルゴリズムを選択して、コードの最後に1文字を追加して4文字の[A-Z0-9]コードをミスタイプしたときを検出する必要があります-Z0-9]も同様)。タイピングエラーを防ぐための短いコードのチェックサムの選択

ASCIIコードを加算してモジュロを適用することは、2つのキーストロークの反転が気付かれないため、悪い解決策です。

フレッチャーアルゴリズムを使用していますが、このユースケース用に設計されたアルゴリズムは誰でも知っていますか?

ありがとうございます。

+0

可能重複[軽量チェックサムアルゴリズムのための良い選択?](http://stackoverflow.com/questions/421419/good-choice-for-a-lightweight-checksum - アルゴリズム) – Joey

+0

あなたが私にリンクした投稿マシンが作成する長いデータチャンクのチェックサムを生成することについてです。ここでポスターは人間の入力に役立つ単一の検証文字/数字を要求しています(異なるチェックサムファミリ)。 –

答えて

8

ISO 7064 Mod x、yアルゴリズムを試すことができます。 ISOの説明によると:ISOで指定

チェックキャラクタシステム/ IEC 7064:2002(http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=31531)を検出することができます

  • すべての単一置換エラー(別のための単一の文字の置換を、例えば1234について4234)。
  • すべてのまたはほとんどすべての単一(ローカル)転置エラー(12345の場合は12354または12543など、2つの単一文字の隣接文字または1文字の転置)。
  • すべてのまたはほとんどすべてのシフトエラー(文字列全体が左または右にシフトします)。
  • 二重置換エラーの割合が高い(同じ文字列内の2つの別々の単一置換エラー、たとえば、1234567の場合は7234587)。
  • 他のすべてのエラーの割合が高い。

あなたのような見つけることができるいくつかの部分的な実装があります。

たとえば、0-9とA-Z(データとチェック文字)を使用できるISO 7064 Mod 37,36を使用できます。

+0

あなたは、私の一日を作った!ありがとう、それは私の問題のための完璧なフィット感のようです。 –

関連する問題