クレジットカード番号の決め方
PayPayの騒動を見て疑問に思ったTipsのような話。 クレジットカード番号はどうやって決まるのか? 多くは16桁の番号。ただし、14桁や15桁のクレジットカード番号もある 最初の6桁は、 BIN (Bank Identification Number, 銀行識別番号)または IIN (Issuer Identification Number, 発行者識別番号)と呼ばれ、カードのイシュア(発行事業者)を特定する。 例えば、 American Expressなら、冒頭34, 37 ちなみに、15桁 Visaは、冒頭4 Master Cardは、510000 - 559999, 222100 - 272099の間の数値 参考元: Wikipedia クレジットカードの番号 残りの部分は、イシュアが決める。 ただし、多くのクレジットカード番号会社では、番号の入力間違いの検知などをチェックするため、番号の決定に Luhnアルゴリズム(ルーンアルゴリズム) を採用している。 そして、最終桁はチェック・ディジットになる。 なお、これは ISO/IEC 7812 に規定されている ISO/IEC 7812 - ウィキペディア Luhnアルゴリズムとは 様々な識別番号の認証に使われている単純な チェックサム 方式 IBM の科学者 Hans Peter Luhn が 1954年 1月6日 に特許を申請し、 1960年 8月23日 に発効した アルゴリズムは パブリックドメイン になっている。 ISO/IEC 7812 -1 [2] に詳細に記されている。 参考: Luhnアルゴリズム - Wikipedia 調べると興味深いが、整理すると3つの工程を踏む チェックデジット(最終桁)を除く数値を決定する 仮に 1234 5678 9012 345X とする。(Xは、チェックデジット) チェックデジットを含んで右から偶数桁を2倍にする。ただし、2桁の場合はそれぞれの桁を分ける。(本が6ならば、12なので1+2)とする。それ以外はそのままとして、それらの総和を出す 偶数桁 2 + 6 + ( 1+0 ) + (1+4) + (1+8...