一种用于网络设备的随机数生成方法及装置的制造方法

文档序号:9923460阅读:420来源:国知局
一种用于网络设备的随机数生成方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术,具体涉及一种用于网络设备的随机数生成方法及装置。
【背景技术】
[0002]现有技术中,通常利用当前的时间来初始化随机数种子,然后再通过调用随机数产生函数产生随机数。实际应用中,利用当前时间作为随机种子会存在一定的缺点:由于时间是有固定模式的,例如每秒的时间间隔是固定的,若以秒为基本单位,那么随机数种子在一秒内会完全一样,从而使得随机数产生函数所产生的随机数在一秒内也是完全一样的,这样就失去了随机性。同理,如果以毫秒为基本单位,那么在一毫秒内同样会产生相同的随机数。当所产生的随机数作为密码时,如果该规律被居心叵测的人掌握,那么会就破解密码,从而对网络设备的安全造成影响。

【发明内容】

[0003]针对现有技术中的缺陷,本发明提供一种用于网络设备的随机数生成方法及装置,可以毫无规律的产生随机数种子,提高所产生随机数的有效性。
[0004]第一方面,本发明提供了一种用于网络设备的随机数生成方法,其特征在于,包括:
[0005]获取网络设备的多个设备参数,并根据所述多个设备参数获取数值value;
[0006]将该数值value代入随机数发生器的初始化函数获取随机数种子;
[0007]将该随机数种子代入随机数发生器以生成随机数。
[0008]可选地,根据所述多个设备参数获取数值value的步骤中对所述多个设备参数采用加法处理从而得到数值value。
[0009]可选地,所述多个设备参数包括:接收报文的字节数、当前CPU利用率、当前CPU温度、当前存储设备已使用空间大小、用户输入次数和当前时间中的一个或者多个。
[0010]可选地,当所述接收报文的字节数大于32位无符号数的最大值时,需要进行以下处理:
[0011 ]以第32位为界限将该报文分为第一部分与第二部分;
[0012]将该第一部分与第二部分进行异或操作,并将异或操作结果作为最终接收报文的字节数。
[0013]可选地,在当前存储设备已使用空间大小超过4GB时,还包括以下步骤:
[0014]以第32位为界限将该当前存储设备已使用空间大小分为第三部分与第四部分;
[0015]将该第三部分与第四部分进行异或操作,并将异或操作结果作为最终的当前存储设备已使用空间大小。
[0016]可选地,所述用户输入次数通过命令行界面与网页界面获取。
[0017]第二方面,本发明实施例还提供了一种用于网络设备的随机数生成装置,包括:
[0018]数值value获取模块,用于获取网络设备的多个设备参数,并根据所述多个设备参数获取数值value;
[0019]随机数种子获取模块,用于将该数值value代入随机数发生器的初始化函数获取随机数种子;
[0020]随机数获取模块,用于将该随机数种子代入随机数发生器以生成随机数。
[0021 ] 可选地,所述数据value获取模块包括参数处理单元,该参数处理单元用于对所述多个设备参数采用加法处理从而得到数值value。
[0022]可选地,所述数据value获取模块用于获取网络设备的多个设备参数,所述多个设备参数包括:接收报文的字节数、当前CPU利用率、当前CPU温度、当前存储设备已使用空间大小、用户输入次数和当前时间中的一个或者多个。
[0023]可选地,所述数据value获取模块包括报文分割单元与第一异或操作单元;所述报文分割单元用于当所述接收报文的字节数大于32位无符号数的最大值时,执行以下步骤:
[0024]以第32位为界限将该报文分为第一部分与第二部分;
[0025]所述第一异或操作单元用于将该第一部分与第二部分进行异或操作,并将异或操作结果作为最终接收报文的字节数;
[0026]和/或,
[0027]所述数据value获取模块还包括存储空间分割单元与第二异或操作单元;所述存储空间分割单元用于在当前存储设备已使用空间大小超过4GB时,执行以下步骤:
[0028]以第32位为界限将该当前存储设备已使用空间大小分为第三部分与第四部分;
[0029]所述第二异或操作单元用于将该第三部分与第四部分进行异或操作,并将异或操作结果作为最终的当前存储设备已使用空间大小。
[0030]由上述技术方案可知,本发明通过利用该网络设备自身的多个不确定的设备参数结合当前时间获取随机数。由于多个不确定的设备参数相结合后所获取的数值value值更加不确定,从而使得获取的随机数种子不会存在相同的情况,所得到的随机数也会不同,从而提高所产生随机数的有效性。
【附图说明】
[0031]通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
[0032]图1是本发明实施例提供的一种用于网络设备的随机数生成方法流程图;
[0033]图2是本发明实施例提供的一种用于网络设备的随机数生成装置框图。
【具体实施方式】
[0034]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]第一方面,本发明实施例提供了一种用于网络设备的随机数生成方法,如图1所示,包括:
[0036]S100、获取网络设备的多个设备参数,并根据所述多个设备参数获取数值value;
[0037]S200、将该数值value代入随机数发生器的初始化函数获取随机数种子;
[0038]S300、将该随机数种子代入随机数发生器以生成随机数。
[0039]下面结合实施例对本发明实施例提供的用于网络设备的随机数生成方法作进一步说明。
[0040]首先,介绍S100、获取网络设备的多个设备参数,并根据所述多个设备参数获取数值value的步骤。
[0041]实际应用中,网络设备是一种特殊的设备,其本身有很多不确定的设备参数。本发明使用这些不确定的设备参数或者结合这些不确定的设备参数,那么就可以产生随机数了。较优地,本发明实施例中多个设备参数包括:
[0042](I)接收报文的字节数。通常情况下,各个硬件接口会有当前接收的总报文字节数,通过查询各个硬件接口就可以获取接收报文的字节数。
[0043]需要说明的是,接收报文的字节数有时会超过32位无符号数的最大值(SP4294967296)时,会提高计算随机数时的复杂度,降低随机数的生成效率。较优地,本发明中对超过上述最大值的所接收报文的字节数进行分割处理。以第32位为界限,将该接收报文的字节数分为第一部分与第二部分;将该第一部分与第二部分进行异或操作,并将异或操作结果作为最终接收报文的字节数。本发明通过上述处理,可以大大降低计算随机数时的复杂度。
[0044]可理解的是,本发明中对所接收报文的字节数分割为两部分,本领域技术人员也可以将所接收报文分为更多部分,例如三部分、四部分或者N部分,利用该多个部分处理后的结果作为所接收报文的字节数,从而增加随机数的不确定性。
[0045]可理解的是,本发明中对所接收的字节数进行分割后进行异或处理,本领域技术人员应该知道例如同或、加法、位与等处理都可以实现上述目的,本发明不作限定。
[0046](2)当前CPU利用率。由于CPU利用率是动态的、随机的,并且当前CPU利用率也非常容易获取,因此本发明实施例中将当前(PU利用率作为其中的一个设备参数。
[0047](3)当前CPU温度。同当前CPU利用率相同,CPU温度也是动态的、随机的,并且当前CPU温度也非常容易获取,因此本发明实施例中将当前CPU温度作为其中的一个设备参数。
[0048](4)当前存储设备的已经使用的空间大小,单位字节。由于网络设备需要不停的接收与传输数据,将所接收的数据存储到当前存储设备中,因此,对于当前存储设备来讲,其已使用的空间大小是时刻变化的,且该已使用的空间大小容易获取,故本发明实施例中将当前存储设备的已经使用的空间大小作为其中的一个设备参数。
[0049]需要说明的是,当存储设备容量比较大时,所采集的当前存储设备的已经使用的空间大小会超过4GB(即超过32位无符号数的最大值)时,本发明采用与处理接收报文的字节数的相同方法,将该当前存储设备的已经使用的空间大小进行分割。以第32位为界限,将该当前存储设备的已经使用的空间大小分为第三部分与第四部分;将该第三部分与第四部分进行异或操作,并将异或操作结果作为最终的当前存储设备的已经使用的空间大小。本发明通过上述处理,可以大大降低计算随机数时的复杂度。
[0
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1