クレジットカード番号の仕組み
クレジットカード番号は16桁の数字で構成されている。クレジットカード番号の意味最初の1桁:主要産業識別子 (MII:Major industry identifier)でカード発行者の業界を表す。0予備<>1、2航空3旅行・娯楽4、5銀行・金融6商品輸送・銀行7石油8通信9国ごとの割り当て分MIIを含む最初6桁:発行者識別番号(IIN:Issuer Identifier Number)はカード発行者を表す。主なクレジットカードのIIN・Visa 4xxxxx・Mastercard 51xxxx - 55xxxx・Discover 6011xx、644xxx、65xxxx・Amex 34xxxx、37xxxxまた番号は、Luhnアルゴリズムに沿った数字で構成されている。Luhnアルゴリズムでは以下のステップで番号の検証をしている。1.右端のチェックディジットを1番目として、偶数番目の桁を2倍にする。2.2倍にしていない桁も含め、各数字の総和を求める(2倍にした桁が2桁になった場合は、それぞれを別々の数字として加える)。3.この総和の下1桁が0なら(つまり、10で割り切れる場合)、この番号はLuhnアルゴリズムでは正しく、そうでない場合は正しくない。「49927398716」という番号を検証する場合は以下の通り。例として、49927398716 という番号を検証する場合を考える。1.右端から偶数番目の桁をそれぞれ2倍する(1×2) = 2, (8×2) = 16, (3×2) = 6, (2×2) = 4, (9×2) = 182.それぞれの数字の総和を計算する6 + (2) + 7 + (1+6) + 9 + (6) + 7 + (4) + 9 + (1+8) + 4 = 7070は割り切れるのでこの番号は正しい。ちなみに、システム開発のテスト用でクレジットカード番号を生成してくれる、Get Credit Card Numbersといったサイトも公開されている。