随机数生成方法、装置、设备及存储介质制造方法及图纸

技术编号:25550409 阅读:24 留言:0更新日期:2020-09-08 18:49
本发明专利技术公开了一种随机数生成方法,包括:对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算,得到初始化IP地址随机因子、初始化主机名随机因子以及初始化MAC地址随机因子;对所述初始化主机名随机因子进行随机运算,得到主机名随机因子;对所述初始化MAC地址随机因子进行随机运算,得到MAC地址随机因子;对所述初始化IP地址随机因子进行随机运算,得到IP地址随机因子;对所述主机名随机因子、所述MAC地址随机因子以及所述IP地址随机因子进行随机运算,获得随机数。通过上述方法,获得的随机数存储空间小,相关系数小,而且唯一性可靠。

【技术实现步骤摘要】
随机数生成方法、装置、设备及存储介质
本专利技术涉及随机运算
,特别涉及一种随机数生成方法、装置、设备及存储介质。
技术介绍
近年来,随着电脑信息科技的蓬勃发展,许多应用需要生成随机数,例如,在密码应用、随机模拟、软件和硬件测试、工业自动化中,都需要生成随机数,而随机数的重复性则严重影响了数据的安全性,如何降低随机数的重复性,即提高重复数的唯一可靠性,已是随机数生成方法在设计上的重要课题。
技术实现思路
本公开实施例提供了一种随机数生成方法、装置、设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。在一些可选地实施例中,一种随机数生成方法,包括:对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算,得到初始化IP地址随机因子、初始化主机名随机因子以及初始化MAC地址随机因子;对初始化主机名随机因子进行随机运算,得到主机名随机因子;对初始化MAC地址随机因子进行随机运算,得到MAC地址随机因子;对初始化IP地址随机因子进行随机运算,得到IP地址随机因子;对主机名随机因子、MAC地址随机因子以及IP地址随机因子进行随机运算,获得随机数。进一步地,当获得的随机数的位数不满足预设位数时,还包括:对时间因子做随机运算,得到运算结果,根据运算结果补齐随机数的位数。进一步地,对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算,包括:取IP地址字符串的字节值,对字节值进行加减、求余操作,得到初始化IP地址随机因子;取主机名字符串的字节值,对字节值进行加减、取绝对值以及求余操作,得到初始化主机名随机因子;取MAC地址字符串进行HASH运算,得到初始化MAC地址随机因子。进一步地,通过乘同余法对初始化主机名随机因子进行随机运算,得到主机名随机因子;通过乘同余法对初始化MAC地址随机因子进行随机运算,得到MAC地址随机因子;通过反函数法对初始化IP地址随机因子进行随机运算,得到IP地址随机因子。进一步地,通过正态分布算法对主机名随机因子、MAC地址随机因子以及IP地址随机因子进行随机运算,获得随机数。进一步地,对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算之前,还包括:获取宿主机IP地址字符串、主机名字符串以及MAC地址字符串。在一些可选地实施例中,一种随机数生成装置,包括:初始化模块,用于对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算,得到初始化IP地址随机因子、初始化主机名随机因子以及初始化MAC地址随机因子;第一随机运算模块,用于对初始化主机名随机因子进行随机运算,得到主机名随机因子;第二随机运算模块,用于对初始化MAC地址随机因子进行随机运算,得到MAC地址随机因子;第三随机运算模块,用于对初始化IP地址随机因子进行随机运算,得到IP地址随机因子;随机数生成模块,用于对主机名随机因子、MAC地址随机因子以及IP地址随机因子进行随机运算,获得随机数。进一步地,还包括:位数补齐模块,用于当获得的随机数的位数不满足预设位数时,对时间因子做随机运算,得到运算结果,根据运算结果补齐随机数的位数。在一些可选地实施例中,一种随机数生成设备,包括处理器和存储有程序指令的存储器,其特征在于,处理器被配置为在执行程序指令时,执行上述实施例提供的随机数生成方法。在一些可选地实施例中,一种计算机可读介质,其上存储有计算机可读指令,计算机可读指令可被处理器执行以实现上述实施例提供的随机数生成方法。本公开实施例提供的技术方案可以包括以下有益效果:本专利技术提供了一种随机数生成方法,在随机数生成方法中,加入了宿主机IP地址、MAC地址、主机名、CPU时钟等随机因子,使随机数的冲突率降低了数倍,而且通过特定的算法进行随机运算,大大提高了运算性能,获得的随机数存储空间小,相关系数小,唯一性可靠。通过本专利技术生成的随机数,可应用于数据库表唯一ID、唯一订单ID、流水序列ID、设备ID等各类系统中。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。图1是根据一示例性实施例示出的一种随机数生成方法的流程示意图;图2是根据一示例性实施例示出的一种随机数生成方法的流程示意图;图3是根据一示例性实施例示出的一种随机数生成装置的结构示意图;图4是根据一示例性实施例示出的一种随机数生成设备的结构示意图。具体实施方式为了能够更加详尽地了解本公开实施例的特点与
技术实现思路
,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。在该随机数的设计过程中,在初始化过程中会预设一些用于做CPU随机运算的对象,放入线程池中,在线程池中维护一定数量的随机运算的对象,用于避免在取值过程中创建对象所产生的开销。在实际取值过程中,直接获取初始化的线程池中的对象,只通过对象做CPU相关的运算,运算完后对象归还线程池。随机运算的对象是属于线程安全的,对于高并发的情形,通过缓存好的对象来获取随机数,大大提高取值的性能。本公开实施例的随机数生成方法,主要包括两个过程,一是初始化过程,二是随机运算过程。初始化过程的主要目的是为了获取初始化随机因子,为了达到不可预测性,随机因子的取值方式为,对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算,得到初始化IP地址随机因子、初始化主机名随机因子以及初始化MAC地址随机因子,通过以上多种方式取得的随机因子,用于后续的随机运算。随机运算的思路是,将得到的随机因子用特定算法运算,得到一个数字类型的随机数。实施例一:本公开实施例提供了一种随机数生成方法,图1是根据一示例性实施例示出的一种随机数生成方法的流程示意图。如图1所示,一种随机数生成方法,包括:S101对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算,得到初始化IP地址随机因子、初始化主机名随机因子以及初始化MAC地址随机因子;具体地,对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算,包括:取IP地址字符串的字节值,对字节值进行加减、求余操作,得到初始化IP地址随机因子,取本文档来自技高网
...

【技术保护点】
1.一种随机数生成方法,其特征在于,包括:/n对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算,得到初始化IP地址随机因子、初始化主机名随机因子以及初始化MAC地址随机因子;/n对所述初始化主机名随机因子进行随机运算,得到主机名随机因子;/n对所述初始化MAC地址随机因子进行随机运算,得到MAC地址随机因子;/n对所述初始化IP地址随机因子进行随机运算,得到IP地址随机因子;/n对所述主机名随机因子、所述MAC地址随机因子以及所述IP地址随机因子进行随机运算,获得随机数。/n

【技术特征摘要】
1.一种随机数生成方法,其特征在于,包括:
对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算,得到初始化IP地址随机因子、初始化主机名随机因子以及初始化MAC地址随机因子;
对所述初始化主机名随机因子进行随机运算,得到主机名随机因子;
对所述初始化MAC地址随机因子进行随机运算,得到MAC地址随机因子;
对所述初始化IP地址随机因子进行随机运算,得到IP地址随机因子;
对所述主机名随机因子、所述MAC地址随机因子以及所述IP地址随机因子进行随机运算,获得随机数。


2.根据权利要求1所述的方法,其特征在于,当获得的随机数的位数不满足预设位数时,还包括:
对时间因子做随机运算,得到运算结果,根据所述运算结果补齐随机数的位数。


3.根据权利要求1所述的方法,其特征在于,对IP地址字符串、主机名字符串以及MAC地址字符串进行初始化运算,包括:
取IP地址字符串的字节值,对所述字节值进行加减、求余操作,得到初始化IP地址随机因子;
取主机名字符串的字节值,对所述字节值进行加减、取绝对值以及求余操作,得到初始化主机名随机因子;
取MAC地址字符串进行HASH运算,得到初始化MAC地址随机因子。


4.根据权利要求1所述的方法,其特征在于,
通过乘同余法对所述初始化主机名随机因子进行随机运算,得到主机名随机因子;
通过乘同余法对所述初始化MAC地址随机因子进行随机运算,得到MAC地址随机因子;
通过反函数法对所述初始化IP地址随机因子进行随机运算,得到IP地址随机因子。


5.根据权利要求1所述的方法,其特征在于,通过正态分布算法对所述...

【专利技术属性】
技术研发人员:高亚龙邓伟张志平胡道生夏曙东
申请(专利权)人:北京中交兴路信息科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1