|
前6位是固定的卡bin,不能动的,要搞清楚自己的卡是什么卡bin,卡bin弄错一切白搭。然后7-15位可以自己输入,但你用工具生成号码的时候不管这个,你想要哪些位固定就固定哪些位,不需要固定的位让工具帮你随机生成,比如6258 58xx xx88 8888。这样中间的4位工具会帮你生成,你从中挑一个喜欢的。然后你把这个完整卡号的7-15位记下来,拿到网点去做1503,请桂圆帮你输入到“新卡顺序号”格子里,就行了。
工具生成的号都是符合卡号校验规则的,只要你卡bin没搞错,7-15位也没抄错,那么银行系统生成的最后一位必然是你要的数(例如8),不可能随机。有些坛友说“最后一位只能随机”,是没理解银行卡的校验机制。银行卡的最后一位是校验码,不是随机码,n位数的卡号只有n-1个自由度,也就是说最后一位是由前n-1位完全决定的。1-6位的卡bin固定下来了,7-15位也被我们人工指定了,那么16位卡号的第16位必然只能是1个数,没有随机一说。
那银行卡卡号为什么要弄这个校验机制呢?原因是为了防止抄错卡号。如果卡号抄错或者输入错1位的话,校验必然通不过。(同时错2位以上就不一定了,有可能运气不佳刚好通过校验。)很多需要输入卡号的网页都有卡号校验功能,用户输入的卡号不符合校验算法直接就提醒卡号输入有误了,无需查询数据库才返回卡号错误。
其实身份证号的最后一位也是校验位,功能也类似,抄错1位能够立即快速识别出来,无需查询。不过用的算法很不一样,银行卡的Luhn算法(模10算法)生成的最后一位取值0-9,而身份证用的模11算法取值0-10,10用X替代。 |
|