信用卡

根据卡号判断信用卡真假!

  大家都知道信用卡卡号是由一串数字组成,那么这些数字都代表什么呢?身份证上的数字可以看出地区,出生年月日等等信息,那么我们根据信用卡上的数字可以得出什么信息呢?

  一、数字的含义:

  1、第一位数字代表不同的卡组织

  通常,Visa卡首位数字为4,万事达首位数字为5,银联首位数字为6,JCB卡和运通卡通常都是3开头的。

  2、前6位数字(包含第一位数字)是发卡机构代码(Issuer Identification Number,简称IIN),用于标识具体的卡片发行机构

  卡片可以通过它们的IIN来分辨是由哪家机构发行的。例如,

  Visa(维萨):4xxxxx

  Mastercard(万事达):51xxxx–55xxxx

  银联:62xxxx

  3、第7位至倒数第二位数字是银行帐户号

  这部分数字都是由银行自己定义的,每个银行的规则都不同。如果是标准的12位数字,大约有万亿种组合,也就是说每个发卡机构可以提供万亿张不同的信用卡;但很多信用卡只用了9位,这就构成了我们通常见到的16位数字信用卡卡号。

  4、最后一位是校验数字

  这位数字一般采用卢恩(Luhn)算法来校验卡号。Luhn算法(Luhn algorithm),也称为“模10算法”,是一种简单的校验和算法,一般用于验证身份识别码。我们来看看最后一位校验数字是如何算出的。

  二、计算步骤:

  1、第三列,从校验位开始,从右往左,奇数位乘2,然后将两位数字的个位与十位相加;

  2、第四列,把得到的数字与原数字串的偶数位相加在一起,得到71;

  3、取结果的个位数1

  4、用10减去个位数1,得到9,就是实卡中最后一位校验码

  小技巧:

  我们也可以用这一方法来验证银行卡号的真假。方法与上面的相似,方法如下:

  1、从右边开始,将奇数位的数字乘以2;

  2、将得到的数字和刚才剩余的(偶数位)的所有数字相加,如果遇到乘以2后得到的数字是2位数的,则将其个位和十位数相加;

  3、如果得到的数字之和是10的倍数,则号码为真,否则就是假的信用卡号了。