見出し画像

【note】会員番号のひみつ

会員番号の決まり方

 会員番号とは、ある団体やサービスに登録した人に与えられる、一意な識別番号のことです。例えば、図書館やスポーツクラブ、オンラインショッピングなどで会員番号が使われています。
 会員番号は、会員の個人情報や利用履歴などを管理するのに便利で、会員の種類やランクなどを表す情報も含まれることがあります。

ルーンアルゴリズムとは?

 さっそくですが、会員番号を作るときにはルーンアルゴリズムを使うのはご存知でしたでしょうか。今回は、このルーンアルゴリズムとはなにかを一緒に見ていきましょう。

 ルーンアルゴリズムとは、数字の並びに誤りがないかどうかをチェックする方法の一つです。クレジットカード番号などに使われています。
 ルーンアルゴリズムは、IBMの科学者ハンス・ピーター・ルーンが考えたもので、1960年に特許が発効しました。今ではパブリックドメインになっており、誰でも自由に使えます。

なぜルーンアルゴリズムを使うのか?

 会員番号を作るときに、ルーンアルゴリズムを使うと、以下のようなメリットがあります。

  • 会員番号に誤りがないかどうかを簡単に確認できる

  • 会員番号の桁数を自由に決められる

  • 会員番号の重複や偽造を防ぐことができる


ルーンアルゴリズムの仕組み

 ルーンアルゴリズムは、数字の並びにチェックディジットと呼ばれる1桁の数字を付け加えることで、誤りを検出します。チェックディジットは、数字の並びの最後に付けられます。チェックディジットは、以下のようにして求められます。

例えば、1234という数字の並びにチェックディジットを付ける場合は、以下のようになります。

  1. 右端から偶数番目の桁をそれぞれ2倍する: (4×2) = 8, (2×2) = 4

  2. それぞれの数字の総和を計算する:
    1 + (8) + 3 + (4) = 16

  3. この総和の下1桁が0になるように、チェックディジットを付ける:
    16 + 4 = 20 なので、
    チェックディジットは4

  4. したがって、1234にチェックディジットを付けた番号は、12344となる
    (5桁の会員番号になる)

一方で、1234という番号を検証する場合を考えます。表にすると以下のようになります。

| 番号 | 1 | 2 | 3 | 4 |
 ↓
| 偶数番目の桁を2倍 | 1 | 4 | 3 | 8 |
 ↓
| 各数字の総和 | 1 + 4 + 3 + 8 = 16 |

 この総和の下1桁が0ではないので、この番号はルーンアルゴリズムでは正しくありません。正しい番号は、総和の下1桁が0になるようにチェックディジットを付加したものです。例えば、1230や1247などが正しい番号になります。


 今回は、ルーンアルゴリズムという簡単で強力なハッシュ関数を使って、会員番号を作る方法を紹介しました。

 ルーンアルゴリズムで作った会員番号は、様々な場面で活用できます。例えば、会員カードやバーコード、QRコードなどに印刷して、スキャンや読み取りを容易にすることができます。また、会員番号をデータベースのキーとして使うことで、検索やソートを高速化することができます。さらに、会員番号を暗号化や署名に使うことで、セキュリティや信頼性を向上させることができます。

 ルーンアルゴリズムで会員番号を作ることは、簡単で便利で安全な方法です。ぜひ、あなたもルーンアルゴリズムを使って、会員番号を作ってみてください。

この記事が参加している募集

よろしければサポートお願いします! いただいたサポートはクリエイターとしての活動費に使わせていただきます!