临泽县仪器检测外校报告证书原攵地址:
银行卡预留手机号号的编码规则及校验笔者目前使用的jdk版本是//)提供了若干接口其中就包括了银行卡预留手机号信息查询(/tjweb/api/detail?apiSvcId=51)接口,该接口可以根据银行卡预留手机号卡号返回发卡行、发卡行机构代码、卡性质、卡类别、卡种、卡品牌、卡产品、卡等级、卡介質、所属总行机构中文名称、所属总行机构中文简称。
接口返回的内容可以说是相当全面了但是笔者开发项目中并未使用过该接口,因此不能担保其性能不过银联的权威性毋庸置疑,如需商业合作可以放心致电洽谈银联的服务还是很专业的。
资费详情:本产品推广期為2017年10月1日至2018年9月30日推广期内本产品可免费使用。推广期过后的收费标准将提前30个工作日在本平台另行公示 到目前为止,笔者没有看到收费标准公示是否可以理解为仍然可以免费使用?
验证银行卡预留手机号信息银联开放平台(/)同时为我们提供了另外一个优秀的接口验证银行卡预留手机号信息(/tjweb/api/detail?apiSvcId=21)。我们可以通过以下5种方式进行验证灵活组合,按需选择:
两要素:银行卡预留手机号号+姓名两要素:银行卡预留手机号号+身份证号三要素:银行卡预留手机号号+姓名+身份证号四要素:银行卡预留手机号号+姓名+身份证号+银行预留手机号六偠素:银行卡预留手机号号+姓名+身份证号+银行预留手机号+CVN2+有效期根据个人项目经验推荐借记卡使用四要素验证,贷记卡使用六要素验证毕竟验证要素越多,验证就越可靠
程序设计有了Luhn算法以及银联开放平台提供的2个接口,我们应该如何设计我们的程序(产品)呢
对輸入要素进行初步校验 使用Luhn算法校验银行卡预留手机号号,使用上篇身份证号码的编码规则及校验介绍的公式校验身份证号
银行预留手機号的校验 这里需要注意的是:银行预留手机号,有时候你认为预留了但是可能没有预留。如果客户坚持自己填写信息无误那么请客戶致电银行查询预留手机号是解决问题的一个思路。
这里说的银行预留手机号的校验主要是为了校验手机是否在客户本人身上,可以通過短信验证码的方式校验其必要性:一是,从安全性出发手机的窃取往往比银行卡预留手机号相关信息的窃取成本更高;二是,毕竟銀联开放平台提供的2个接口后续使用过程中极有可能都是需要收费的一条短信的价格往往更加便宜,优先排除掉不合格的信息从而提高后续验证的成功率。
调用银行卡预留手机号信息查询接口 经过初步的信息校验通过我们可以调用银联的第1个接口了,银行卡预留手机號信息查询银联返回的信息比较全面,笔者的建议是全部记录下来当系统中积累的银行卡预留手机号数据足够多的时候,通过一定的數据分析手段恭喜你,你拥有了自己的卡BIN数据每月更新一次,足矣
从这个接口,可以看出银联的高明之处它不直接告诉你卡BIN,让伱每次都要调用它的接口查询授人以渔何以授人以鱼。(大家在制定接口时要注意:从安全性和不可替代性出发,核心数据不能泄露尽量使用验证代替查询,这样也有利于提高接口使用率增加用户粘性;同时,记录尽量多的请求方数据便于日后的数据分析,也符匼当前大数据的趋势)
调用这个接口,一方面可以积累数据另一方面可以确定客户的银行卡预留手机号性质,是借记卡还是贷记卡;借记卡和贷记卡在进行验证时验证要素略有差异,笔者开发项目过程中接触的银行卡预留手机号验证除了银行卡预留手机号号、姓名、身份证号、手机号四要素之外,借记卡可以额外验证密码贷记卡可以额外验证CVN2、有效期,目前发行的芯片借记卡也有CVN2、有效期但是筆者项目中从来没有对此验证过,不知银联这个接口是否可以验证
有时,为了提升客户体验借记卡的密码,贷记卡的CVN2、有效期也不做驗证便利性与安全性是需要互相妥协的,但是它们不是鱼与熊掌通过技术手段完全可以鱼与熊掌兼得。
调用验证银行卡预留手机号信息接口 最后我们终于可以调用银联的第2个接口了。
数据安全存储到这里你以为结束了吗?其实还没有还有一个重要的问题,那就是數据安全存储
银行卡预留手机号号,身份证号手机号,建议加密存储; 借记卡密码贷记卡CVN2、有效期,建议不存储; 数据安全存储鈈单单指数据库,建议肉眼可见的介质之上都做安全存储比如应用程序日志、数据同步文件等; 数据传输过程中,理应也如此银联接口ΦCVN2、有效期就要求RSA加密。信息安全多管齐下,CSDN、携程、华住的悲剧才不会继续上演
数据加密算法相关内容,后续会开辟新篇专题交流