銀行/電信送金を可能にする支払いシステムの場合、支払いを目的の対応するユーザーアカウントに確実に関連付ける必要があります。このため、ユーザーは自分のアカウントに関連付けられている転送に参照番号を含める必要があります。
次の(おそらく一般的な)エラーのうち最大N個を検出して修正できるように、冗長性(追加のシンボル)が組み込まれたこの番号を生成したいと思います。
- シーケンス内の誤った記号(タイプミス)
- 2つのシンボルの交換(これは2つの間違ったシンボルと同じだと思います)
- シーケンスに欠落しているシンボル
- シーケンス内の追加の記号
少し調べてみたところ、リードソロモンやBCHがよく使われているコードのようです。私が見つけられなかった唯一のことは、それらが最後のケース、つまり余分な記号をサポートしているかどうかです。
また、ランダムな「修正済み」の結果を表示するのではなく、「これは非常にめちゃくちゃなので、修正できません」というエラーモードをコードに持たせたいと思います。これは、まばらな参照番号を生成し、誤って有効な参照番号にヒットする可能性が低いことを期待するだけで実行できると思いますが、「最大5つのエラーを修正できますが、 3つ以上、私はあきらめます。」
何かご意見は?ありがとうございました!