[发明专利]随机生成信用卡号的方法及系统在审
申请号: | 202110776066.X | 申请日: | 2021-07-08 |
公开(公告)号: | CN113485676A | 公开(公告)日: | 2021-10-08 |
发明(设计)人: | 洪俊 | 申请(专利权)人: | 上海通联金融服务有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58;G06Q40/02 |
代理公司: | 上海翰信知识产权代理事务所(普通合伙) 31270 | 代理人: | 张维东 |
地址: | 200437 上海市虹口*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 随机 生成 信用卡 方法 系统 | ||
本发明提供了一种随机生成信用卡号的方法及系统,该方法包括以下步骤:建立卡号的顺序号表:首先确定顺序号的范围,产生顺序数组,然后将产生的顺序数组用随机打乱算法打乱,最后将打乱后的序列存储到顺序号表中;生成卡号:当接收到生成卡号的请求时,顺序获取所述顺序号表中的顺序号,并将获取的顺序号从所述顺序号表中删除,将获取的顺序号根据生成卡号的规则生成完整卡号,本发明生成卡号时无需重试,不会随着已分配卡号数量增加导致生成卡号过程的性能下降,适合高性能要求场景。
技术领域
本发明属于计算机技术领域,具体涉及一种随机生成信用卡号的方法及系统。
背景技术
信用卡卡号通常由:6位卡BIN(发卡行识别码,由信用卡组织规定)+若干位表示卡产品/地域等+若干位顺序号+1位校验位。为了尽可能保护持卡人的信息安全,通常要求顺序号随机生成。
目前,常用的做法是每次纯随机产生顺序号形成卡号,然后在已有的卡表中检索是否已经存在。如果存在则重新随机生成,直至得到一个未使用的卡号。此方法的问题是:随着已经分配卡号数量增加,尝试生成卡号重复的概率会逐步增加,导致生成卡号过程的性能逐渐下降。
发明内容
本发明是为了解决上述问题而进行的,目的在于提供一种生成卡号时无需重试,适合高并发实时发卡场景的随机生成信用卡号的方法及系统。
本发明提供了一种随机生成信用卡号的方法,其特征在于,包括以下步骤:
建立卡号的顺序号表:首先确定顺序号的范围,产生顺序数组,然后将产生的顺序数组用随机打乱算法打乱,最后将打乱后的序列存储到顺序号表中;
生成卡号:当接收到生成卡号的请求时,顺序获取所述顺序号表中的顺序号,并将获取的顺序号从所述顺序号表中删除,将获取的顺序号根据生成卡号的规则生成完整卡号。
进一步,在本发明提供的随机生成信用卡号的方法中,还可以具有这样的特征:所述随机打乱算法为Fisher-Yate shuffle算法。
进一步,在本发明提供的随机生成信用卡号的方法中,还可以具有这样的特征:所述顺序号表包含两个字段,一个字段是表示存储的序列的插入顺序,另一个字段是顺序号。
进一步,在本发明提供的随机生成信用卡号的方法中,还可以具有这样的特征:生成卡号的规则为:根据业务卡的发卡行识别码、卡产品或地域、顺序号拼装并计算校验位,生成完整卡号。
本发明还提供了一种随机生成信用卡号的系统,其特征在于,包括:
顺序号表生成模块,根据确定的顺序号的范围产生顺序数组,将所述顺序数组采用随机打乱算法打乱,建立顺序号表,将打乱后的序列存储到所述顺序号表中;
卡号形成模块,用于在接收到生成卡号的请求时,顺序获取所述顺序号表中的顺序号,然后将获取的顺序号根据生成卡号的规则生成完整卡号;以及
删除模块,在所述卡号形成模块获取所述顺序号表中的顺序号后,将获取的顺序号从所述顺序号表中删除。
进一步,在本发明提供的随机生成信用卡号的系统中,还可以具有这样的特征:所述顺序号表包含两个字段,一个字段是表示存储的序列的插入顺序,另一个字段是顺序号。
进一步,在本发明提供的随机生成信用卡号的系统中,还可以具有这样的特征:所述随机打乱算法为Fisher-Yate shuffle算法。
进一步,在本发明提供的随机生成信用卡号的系统中,还可以具有这样的特征:所述卡号形成模块生成卡号时根据业务卡的发卡行识别码、卡产品或地域、顺序号拼装并计算校验位,生成完整卡号。
本发明的优点如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海通联金融服务有限公司,未经上海通联金融服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110776066.X/2.html,转载请声明来源钻瓜专利网。