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