根据卡号判断是不是信用卡(一分钟学会舞空术)
2000年,中国人民银行组织制定了一系列银行卡业务规范和技术标准,推进联网。《银行卡发卡行标识代码及卡号》规定国内发行和使用的各类人民币卡必须使用“9”字头BIN。这一规定为规范和统一我国银行卡的发行、使用和联网奠定了基础。随着我国银行卡产业的快速发展和国际交流的日益增多,持卡人的境外支付需求越来越多。根据国际标准化组织(ISO)的规定,带有“9”BIN前缀的银行卡只能在中国使用。这意味着,人民币自由兑换后,国内各发卡机构发行的大量“9”字头BIN银行卡,届时在国外可能无法获得。带有“9”BIN前缀的银行卡只能在境内使用的限制与广大持卡人境外用卡支付需求之间的矛盾逐渐显现。为促进全国银行卡产业健康持续发展,维护各发卡机构的长远利益,克服“9”字头BIN的银行卡境外使用限制,在中国人民银行的指导和帮助下,2002年,中国银联向ISO(国际标准化组织)申请了国内外通行的800个国际标准BIN(622126至622925)。在获得中国人民银行关于开通银联国际标准发卡行BIN号的批复后,2003年7月,中国银联向各成员机构发放《关于启用银联国际标准发卡行BIN号的函》。为规范、使用和管理银联国际标准BIN号和已经广泛使用的原“9”字头BIN号,中国银联发布了《银联标识卡BIN号分配和管理暂行办法》。由此,正式启动银联国际标准“62”字头BIN号的发放和使用,督促各成员机构开始发行银联标准卡,即带有“银联”标识且卡号前六位采用银联国际标准“62”字头BIN号的银行卡。该卡符合我国统一的业务规范和技术标准,是我国具有自主知识产权的高品质、国际化的民族银行卡品牌。
银行卡卡号最多由19位数字组成。1.前六位数字称为发卡行识别号(IIN),也称为银行识别号(BIN)。常说的卡BIN就是指它,中国银联代表国内所有发卡机构向ISO申请。
6位IIN的第一位是主要行业标识符(MII)。
分布如下:
-0-ISO/TC 68和其他行业任务
-1-航空业
-2-航空、金融等未来行业分布
-3-旅游和娱乐业
-4-银行和金融业
-5-银行和金融业
-6-商业和银行/金融
-7-石油工业和其他未来工业的分布
-8-医疗行业、电信行业及其他未来行业分布
-9-由国家标准机构指定。2.中间7~18位由发卡行定义,表示不同的个人账号,最多12位;3.最后一位是校验码,使用Luhn算法计算。注:在2017年发布的ISO/IEC 7812-1中,删除了MII的定义描述,IIN码由6位扩展至8位。但由于总位数仍最多为19位,中间个人账号对应的最大位数由12位减少到10位。所以卡BIN不再只是6位,还要考虑8位的兼容性。
Luhn算法,也称为“模10”算法,是一种简单的校验和算法,一般用于验证身份号码,如信用卡号、国际移动设备识别码(IMEI)、美国供应商识别号、加拿大社会安全号、以色列身份证号、希腊社会安全号等。Luhn算法是在ISO/IEC 7812-1中定义的。它不是安全的加密哈希函数。旨在防止意外失误而非恶意攻击,也就是我们常说的防君子防小人。用Luhn算法检查的步骤:1。从右边第一个数字(校验位)开始,将偶数数字乘以2;2.将步骤1得到的乘积的位数加到原数未乘以2的位数上;3.如果在步骤2中获得的模10和为0,则验证通过。例:笔者一张过期信用卡的卡号是6225760008219524,按照上述步骤验证。图260% 10=0,验证通过。你可以尝试相应地验证你的银行卡号。了解了LUHN算法校验银行卡号的方法后,就很容易推导出Luhn算法计算数字串校验数的方法。以上述银行卡号为例。去掉支票号码后,剩下的号码是622576000821952。假设支票号是xx,还是按照上面的步骤计算。图3如果等式(56 xx)% 10=0成立,很容易得到xx=4,与实际银行卡号一致。