チェックデジット

久しぶりにチェックデジット付与の計算をしました。いろいろな計算方式があるのですが、詳細のルールはシステム毎に微妙に特殊仕様になっているので注意が必要ですね。以前は通信プログラム作成していたときは、チェックサムの計算には、CRCなどを利用していました。今回は通信プログラムでなく商品コードなどへのチェックデジット付与ですので、モジュラス11の変形を利用しました。これは、以前、書籍の返品システムに携わったときにISBNコード利用時に使用したことがありましたが、すっかり忘れてました。といっても、単純なアルゴリズムなのですけどね。コードなどの誤り入力やデータ改変防止に役立つチェックデジットですが、構造化されたコード体系などの場合、コードはUIとも考えられますので、チェックデジットを付与してしまっては、ユーザが直感的にコードを思い起こすことが難しくなってしまいますね。