大家都知道信用卡卡號(hào)是由一串?dāng)?shù)字組成,那么這些數(shù)字都代表什么呢?身份證上的數(shù)字可以看出地區(qū),出生年月日等等信息,那么我們根據(jù)信用卡上的數(shù)字可以得出什么信息呢?
一、數(shù)字的含義:
1、第一位數(shù)字代表不同的卡組織
通常,Visa卡首位數(shù)字為4,萬(wàn)事達(dá)首位數(shù)字為5,銀聯(lián)首位數(shù)字為6,JCB卡和運(yùn)通卡通常都是3開頭的。
2、前 6 位數(shù)字(包含第一位數(shù)字)是發(fā)卡機(jī)構(gòu)代碼(Issuer Identification Number, 簡(jiǎn)稱IIN),用于標(biāo)識(shí)具體的卡片發(fā)行機(jī)構(gòu)
卡片可以通過(guò)它們的 IIN 來(lái)分辨是由哪家機(jī)構(gòu)發(fā)行的。例如,
Visa(維薩):4xxxxx
Mastercard(萬(wàn)事達(dá)):51xxxx – 55xxxx
銀聯(lián):62xxxx
3、第 7 位至倒數(shù)第二位數(shù)字是銀行帳戶號(hào)
這部分?jǐn)?shù)字都是由銀行自己定義的,每個(gè)銀行的規(guī)則都不同。如果是標(biāo)準(zhǔn)的 12 位數(shù)字,大約有萬(wàn)億種組合,也就是說(shuō)每個(gè)發(fā)卡機(jī)構(gòu)可以提供萬(wàn)億張不同的信用卡;但很多信用卡只用了 9 位,這就構(gòu)成了我們通常見到的 16 位數(shù)字信用卡卡號(hào)。
4、最后一位是校驗(yàn)數(shù)字
這位數(shù)字一般采用盧恩(Luhn)算法來(lái)校驗(yàn)卡號(hào)。Luhn算法(Luhn algorithm),也稱為“模10算法”,是一種簡(jiǎn)單的校驗(yàn)和算法,一般用于驗(yàn)證身份識(shí)別碼。我們來(lái)看看最后一位校驗(yàn)數(shù)字是如何算出的。
二、計(jì)算步驟:
1. 第三列,從校驗(yàn)位開始,從右往左,奇數(shù)位乘2,然后將兩位數(shù)字的個(gè)位與十位相加;
2. 第四列,把得到的數(shù)字與原數(shù)字串的偶數(shù)位相加在一起,得到71;
3. 取結(jié)果的個(gè)位數(shù)1
4. 用10減去個(gè)位數(shù)1,得到9,就是實(shí)卡中最后一位校驗(yàn)碼
小技巧:
我們也可以用這一方法來(lái)驗(yàn)證銀行卡號(hào)的真假。方法與上面的相似,方法如下:
1. 從右邊開始,將奇數(shù)位的數(shù)字乘以 2;
2. 將得到的數(shù)字和剛才剩余的(偶數(shù)位)的所有數(shù)字相加,如果遇到乘以 2 后得到的數(shù)字是 2 位數(shù)的,則將其個(gè)位和十位數(shù)相加;
3. 如果得到的數(shù)字之和是 10 的倍數(shù),則號(hào)碼為真,否則就是假的信用卡號(hào)了。