[发明专利]一种随机数发生器及电子券、动态支付码的生成方法在审
申请号: | 201910345096.8 | 申请日: | 2019-04-26 |
公开(公告)号: | CN110069242A | 公开(公告)日: | 2019-07-30 |
发明(设计)人: | 陈其洪 | 申请(专利权)人: | 迅付信息科技有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58;G06Q30/02 |
代理公司: | 上海宝鼎专利代理有限公司 31222 | 代理人: | 龚峥嵘 |
地址: | 200233 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数组 随机数发生器 随机种子 随机数 排序数组 数组元素 位长 取出 随机数获取 随机数算法 生成模块 数组生成 顺序排序 随机算法 序号一致 放入 存储 重复 保证 | ||
本发明公开了一种随机数发生器及电子券、动态支付码的生成方法,包括初始排序数组生成模块:所述初始排序数组包含指定位长的全部数字,数组的值与数组序号一致,且按大小顺序排序;随机种子数组生成模块:用随机数算法得到序号,随机算法取值范围为0到数组元素个数减1,每取一个数,数组元素个数减1;将随机序号存储的数值按次序放入随机种子数组中;随机数获取模块:按次序从随机种子数组取值,取出的值即为随机数。本发明提供的随机数发生器及电子券、动态支付码的生成方法,能够使用位长范围内的全部随机数,且保证取出的随机数不会重复。
技术领域
本发明涉及一种高效随机数获取方法,尤其涉及一种随机数发生器及电子券、动态支付码的生成方法。
背景技术
在支付领域,随机数用途非常广,如:电子券号、随机密码等。
常规随机数的获得方法存在以下痛点:
1.随机因子选择不当,易生成相同随机数;
2.随着生成的随机数增加,出现重复随机数的概率越来越大,生成效率也越低,必须增加数字长度以提高可用性;
不能充分利用理论上可用的数字,且效率低下。如6位数字理论上存在1百万个随机数,但因以上原因,基本不可能高效的生成这1百万个不同的随机数。
发明内容
本发明所要解决的技术问题是提供一种随机数发生器及电子券、动态支付码的生成方法,能够高效不重复地获得预定数字长度范围内的所有随机数。
本发明为解决上述技术问题而采用的技术方案是提供一种随机数发生器,包括初始排序数组生成模块:所述初始排序数组包含指定位长的全部数字,数组的值与数组序号一致,且按大小顺序排序;随机种子数组生成模块:用随机数算法得到序号,随机算法取值范围为0到数组元素个数减1,每取一个数,数组元素个数减1;将随机序号存储的数值按次序放入随机种子数组中;随机数获取模块:按次序从随机种子数组取值,取出的值即为随机数。
上述的随机数发生器,其中,所述初始排序数组按指定随机数位长N生成,序号i从0开始递增,最大序号为位长N对应的最大值。
上述的随机数发生器,其中,所述随机种子数组生成模块包括:判断初始排序数组中当前包含的数据个数n是否等于1,当个数n等于1时,将初始排序数组中序号为0的存储单元中存储的值添加到随机种子数组中;当个数n不等于1时:使用random(0,n-1)生成1个随机数r;查找初始排序数组中序号为r的存储单元,并将该存储单元中存储的值添加到随机种子数组中;将初始排序数组中最后一个存储单元中存储的值复制到初始排序数组中序号为r的存储单元;将初始排序数组的数据个数n减去1;重复上述过程,直至将初始排序数组中的所有数值放进随机种子数组中。
本发明为解决上述技术问题还提供一种电子券的生成方法,其中,采用上述的随机数发生器,包括如下步骤:S1)设定代发电子券的张数及其对应的最大位长,生成初始排序数组;S2)随机按序号从初始排序数组中取值,并放入随机种子数组;S3)按序号查询随机种子数组,获取不重复的随机数作为电子券的唯一识别码。
上述的电子券的生成方法,其中,采用两个上述的随机数发生器生成随机种子数组,当其中一个随机数发生器中的随机种子数组使用完后,自动启用另一个随机种子数组。
上述的电子券的生成方法,其中,当需要生成的券号长度大于随机数发生器返回随机数最大长度时,多次调用随机数发生器,并用获得的多个随机数组合成一个需要的券号。
本发明为解决上述技术问题还提供一种动态支付码的生成方法,其中,采用上述的随机数发生器,包括如下步骤:S1)设定动态支付码的最大位长;S2)随机按序号从初始排序数组中取值,并放入随机种子数组;S3)按序号查询随机种子数组,获取不重复的随机数作为动态支付码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迅付信息科技有限公司,未经迅付信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910345096.8/2.html,转载请声明来源钻瓜专利网。