1、信用卡基本常識
信用卡號由一串16位的數(shù)字組成。4開頭的卡是VISA卡,5開頭的卡是萬事達卡,JCB卡和運通卡通常都是3開頭的,而最常見的中國銀聯(lián)的卡是62開頭。
2、信用卡卡號數(shù)字排列的含義
我們以中國銀行長城環(huán)球通VISA芯片信用卡為例,來解剖信用卡的數(shù)字含義,卡號一共16位,四位一組,一共四組。那么這組排列到底有什么含義呢?我們來看下表:
在這張表格中,我們很清楚的看到,亮黃***域的卡號1-6位數(shù)字是發(fā)卡行識別碼,也就是的我們熟悉的BIN碼;土黃***域的卡號7-15位數(shù)字是銀行賬戶(美國運通卡除外,下同),它的含義是由發(fā)卡行自定義的,各個銀行的定義標準不同,我們也就不一一細說;而草綠***域第16位是校驗碼,英文說法是checkdigit,它是用來驗證卡號有效性的,回頭我會來說說這數(shù)字怎么算出來的。
3、發(fā)卡行識別碼(BIN碼)
我們先了解一下什么是發(fā)卡行識別碼(BIN碼)吧。很多卡友都知道這是卡組織分配給銀行的6位數(shù)字,但具體怎么來的,很多人可能并不清楚。
卡號前六位數(shù)字被稱為BIN,是英文BankIdentificationNumber的縮寫;這組數(shù)字也被稱為IIN,是英文IssuerIdentificationNumber(發(fā)行者識別號碼)的縮寫,它是按照ISO/IEC7812文件而制定。這些數(shù)字可以幫助持卡人和商戶識別出銀行卡的發(fā)行機構(gòu)。符合ISO/IEC7812標準的銀行卡號通常為16位,最長可達19位,標準結(jié)構(gòu)就是如表一所示。
按照ISO/IEC7812規(guī)范,卡號靠前位嚴格來說是MII??--MajorIndustryIdentifier,也就是主要產(chǎn)業(yè)標識碼,可以很方便的幫助我們識別出卡片所屬行業(yè)。比如,3開頭的號碼分配給旅游、娛樂和銀行/金融業(yè),4和5開頭的號碼被完全分配給銀行/金融業(yè),6開頭的號碼分配給商業(yè)和銀行/金融業(yè)??ㄌ柕?-6位是叫IIN,即發(fā)行者識別號碼。當然我們這里是討論銀行卡,不需要說的這么細,感興趣的朋友可以自己去網(wǎng)上查找資料。為了簡便起見,我們還是用BIN碼來稱呼銀行卡前6位數(shù)字。
IIN數(shù)據(jù)庫和成員由美國國家標準協(xié)會(AmericanNationalStandardsInstitute,ANSI)管理并每月更新一次。美國國家標準協(xié)會負責向發(fā)行網(wǎng)絡(luò)分配IIN范圍。銀聯(lián)就是向該組織申請62開頭的國際標準卡編號。有很多網(wǎng)站提供BIN碼的查詢,我們只要輸入卡前6位就能知道自己的卡片發(fā)卡國家和銀行,還有卡片種類,這里給大家介紹一個BIN碼的查詢網(wǎng)站http://www.exactbins.com/,有興趣的朋友不妨查詢自己的卡片種類,當然結(jié)果僅供參考。
4、卡號的第7-15位數(shù)字
信用卡的第7-15位數(shù)字也就是銀行賬戶,都是由銀行自己定義的,每個銀行的規(guī)則都不同,大家只要理解為這是自己的銀行賬戶就可以了。這里再拿中國銀行長城環(huán)球通卡額外說一下。長城卡的這組賬戶數(shù)字非常有意思,他把卡號7-8位定義為省級發(fā)卡行識別號,比如31代表上海,32代表江蘇等等。剩下9-15位才是自己的賬戶號,最后一位仍然是校驗碼。我們用看下面表二來了解一下具有中行長城卡特色的卡號結(jié)構(gòu):
順便再給大家提供長城環(huán)球通卡省級發(fā)卡行識別號:
北京11、天津12、河北13、山西14、內(nèi)蒙古自治區(qū)15、遼寧21、吉林22、黑龍江23、上海31、江蘇32、浙江33、安徽34、福建35、江西36、山東37、河南41、湖北42、湖南43、廣東44、深圳48、廣西45、海南46、重慶50、四川51、貴州52、云南53、**54、陜西61、甘肅52、青海53、寧夏64、新疆65
有興趣的朋友不妨對照一下自己手中的長城卡。
5、最后一位校驗碼
現(xiàn)在就剩下卡片最后一位校驗碼還沒說,不過在介紹這第十六位校驗碼之前,我們先學習一個專有名詞-------Luhn算法。
Luhn算法(Luhnalgorithm),也稱為“模10算法”(Modulus10或Mod10)算法,是一種簡單的校驗和算法,一般用于驗證身份識別碼,例如發(fā)卡行識別碼、國際移動設(shè)備辨識碼(IMEI),美國國家提供商標識號碼,或是加拿大社會保險號碼。它是由IBM科學家HansPeterLuhn創(chuàng)造,于1954年1月6日申請專利,1960年8月23日頒證,美國專利號2950048。
該算法已經(jīng)得到了廣泛的應(yīng)用,例如和我們信用卡相關(guān)ISO/IEC7812-1標準就采納了這一算法。設(shè)計它的目的只是防止意外出錯而不是惡意攻擊。很多信用卡和眾多的***身份識別號碼都使用該算法從一系列的隨機數(shù)字中提取有效的數(shù)字,但是中國銀聯(lián)并沒有使用這種算法,至于使用何種算法還不得而知。
我們用本文中的真實卡號來了解一下這個算法的特點,看看是如何算出最后一位校驗碼,即校驗碼9
計算步驟:
1.第三列,從校驗位開始,從右往左,偶數(shù)位乘2,然后將兩位數(shù)字的個位與十位相加;
2.第四列,把得到的數(shù)字與原數(shù)字串的奇數(shù)位相加在一起,得到71;
3.取結(jié)果的個位數(shù)1
4.用10減去個位數(shù)1,得到9,就是實卡中最后一位校驗碼
還有一種算法是,按照上述步驟1-2算出總和71,然后:
1.將結(jié)果71乘以9,得到639,
2.取結(jié)果的個位數(shù)9,即為校驗碼
現(xiàn)在我們知道信用卡的最后一位校驗碼是通過Luhn算法計算出來的,它的作用就是驗證卡片的有效性,而不是銀行電腦里面隨便生成一個數(shù)字印上去的。一些網(wǎng)上流行的信用卡號碼生成器也是利用該算法生成信用卡號碼,這種卡號雖然有效但是仍然屬于偽卡,不能用于真實的在線交易。