一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

随机数的生成方法及装置、非易失性存储介质、电子设备与流程

2023-04-05 07:02:24 来源:中国专利 TAG:


1.本技术涉及计算机软件技术领域,具体而言,涉及一种随机数的生成方法及装置、非易失性存储介质、电子设备。


背景技术:

2.两程序交互时,为确保工单号的唯一性,采用一个唯一的随机数表示工单;在文件加解密和系统交互时,将一个唯一的随机数作为密钥;因此,保证随机数的唯一性是保证数据的安全的重要条件。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本技术实施例提供了一种随机数的生成方法及装置、非易失性存储介质、电子设备,以至少解决由于相关技术无法确保随机数的唯一性造成降低数据安全性的技术问题。
5.根据本技术实施例的一个方面,提供了一种随机数的生成方法,包括:确定多个目标能量域,对多个目标能量域中的各目标能量域的参数进行初始化,其中,目标能量域为微粒运动的区域,参数包括:各目标能量域中微粒的运动速度,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量;分别在各目标能量域中采集微粒,并确定在各目标能量域中采集微粒的数量;根据在各目标能量域中采集微粒的数量,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量确定各目标能量域的能量;根据各目标能量域中微粒的运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数。
6.可选地,确定多个目标能量域,对多个目标能量域的各目标能量域的参数进行初始化,包括:确定第一目标能量域,将第一目标能量域中微粒的运动速度初始化为第一速度,将第一目标能量域中微粒的初始质量初始化为第一质量,并将第一目标能量域中微粒的运动质量初始化为第二质量;确定第二目标能量域,将第二目标能量域中微粒的运动速度初始化为第二速度,将第二目标能量域中微粒的初始质量初始化为第一质量,并将第二目标能量域中微粒的运动质量初始化为第三质量;确定第三目标能量域,将第三目标能量域中微粒的运动速度初始化为第三速度,将第三目标能量域中微粒的初始质量初始化为第一质量,并将第三目标能量域中微粒的运动质量初始化为第四质量;确定第四目标能量域,将第四目标能量域中微粒的运动速度初始化为第四速度,将第四目标能量域中微粒的初始质量初始化为第一质量,并将第四目标能量域中微粒的运动质量初始化为第五质量;确定第五目标能量域,将第五目标能量域中微粒的运动速度初始化为第五速度,将第五目标能量域中微粒的初始质量初始化为第一质量,并将第五目标能量域中微粒的运动质量初始化为第六质量;其中,第一目标能量域的温度大于第二目标能量域的温度,第二目标能量域的温度大于第三目标能量域的温度,第三目标能量域的温度大于第四目标能量域的温度,第四目标能量域的温度大于第五目标能量域的温度;第一速度大于第二速度,第二速度大于
第三速度,第三速度大于第四速度,第四速度大于第五速度;第二质量小于第三质量,第三质量小于第四质量,第四质量小于第五质量,第五质量小于第六质量,且第六质量小于第一质量。
7.可选地,根据在各目标能量域中采集微粒的数量,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量确定各目标能量域的能量,包括:确定第一质量与第二质量的第一差值;确定第一差值、第一数量与预设值的第一乘积,将第一乘积确定为第一目标能量域的第一能量,其中,第一数量为在第一目标能量域中采集微粒的数量;确定第一质量与第三质量的第二差值;确定第二差值与第二数量与预设值的第二乘积,将第二乘积确定为第二目标能量域的第二能量,其中,第二数量为在第二目标能量域中采集微粒的数量;确定第一质量与第四质量的第三差值;确定第三差值与第三数量与预设值的第三乘积,将第三乘积确定为第三目标能量域的第三能量,其中,第三数量为在第三目标能量域中采集微粒的数量;确定第一质量与第五质量的第四差值;确定第四差值与第四数量与预设值的第四乘积,将第四乘积确定为第四目标能量域的第四能量,其中,第四数量为在第四目标能量域中采集微粒的数量;确定第一质量与第六质量的第五差值;确定第五差值与第五数量与预设值的第五乘积,将第五乘积确定为第五目标能量域的第五能量,其中,第五数量为在第一目标能量域中采集微粒的数量。
8.可选地,根据各目标能量域中微粒的运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数,包括:确定第一能量的第一正弦值,确定第一正弦值与第一数量的乘积,并确定乘积与第一速度的第一比值;确定第二能量的第一余弦值,确定第一余弦值与第二数量的乘积,并确定乘积与第二速度的第二比值;确定第三能量的正切值,确定正切值与第三数量的乘积,并确定乘积与第三速度的第三比值;确定第四能量的第二正弦值,确定第二正弦值与第四数量的乘积,并确定乘积与第四速度的第四比值;确定第五能量的第二余弦值,确定第二余弦值与第五数量的乘积,并确定乘积与第五速度的第五比值;确定第一比值与第二比值的第六差值,确定第六差值与第三比值的第一和值,确定第一和值与第四比值的第七差值,并确定第七差值与第五比值的第二和值;确定第二和值的绝对值,将绝对值确定为随机数。
9.可选地,随机数的生成方法还包括:如果微粒从初始目标能量域运动到终点目标能量域,微粒的运动速度由初始目标能量域中微粒的运动速度变为终点目标能量域中微粒的运动速度,微粒的运动质量由初始目标能量域中微粒的运动质量变为终点目标能量域中微粒的运动质量。
10.可选地,随机数的生成方法还包括:确定时间周期,在时间周期内对各目标能量域的参数进行初始化,并生成随机数,其中,每个时间周期内生成的随机数均为唯一真随机数。
11.可选地,根据各目标能量域中微粒的运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数之后,方法还包括以下至少之一:将不同的随机数添加到不同的程序中;将随机数添加到用于实现文件加解密的密钥中,或者实现系统交互的参数秘钥中。
12.根据本技术实施例的另一方面,还提供了一种随机数的生成装置,包括:初始化模块,用于确定多个目标能量域,对多个目标能量域中的各目标能量域的参数进行初始化,其
中,目标能量域为微粒运动的区域,参数包括:各目标能量域中微粒的运动速度,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量;第一确定模块,用于分别在各目标能量域中采集微粒,并确定在各目标能量域中采集微粒的数量;第二确定模块,用于根据在各目标能量域中采集微粒的数量,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量确定各目标能量域的能量;第三确定模块,用于根据各目标能量域中微粒的运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数。
13.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,该非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述的随机数的生成方法。
14.根据本技术实施例的另一方面,还提供了一种电子设备,包括:存储器和处理器,该处理器用于运行存储在存储器中的程序,其中,程序运行时执行上述的随机数的生成方法。
15.在本技术实施例中,采用确定多个目标能量域,对多个目标能量域中的各目标能量域的参数进行初始化,其中,目标能量域为微粒运动的区域,参数包括:各目标能量域中微粒的运动速度,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量;分别在各目标能量域中采集微粒,并确定在各目标能量域中采集微粒的数量;根据在各目标能量域中采集微粒的数量,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量确定各目标能量域的能量;根据各目标能量域中微粒的运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数的方式,构建一种玻尔兹曼方程模型,通过在模型内构建多个不同的能量域,通过对不同能量域进行初始化,使不同能量域中的微粒随机分布,并使不同能量域中的微粒以不同的速度运动;将微粒的无规律热运动与每个能量域的参数结合计算,达到了生成高度随机性的真随机数的目的,从而实现了保证随机数的唯一性,提高数据安全性的技术效果,进而解决了由于相关技术无法确保随机数的唯一性造成降低数据安全性技术问题。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1是根据本技术实施例的一种实现随机数的生成方法的计算机终端(或移动设备)的硬件结构框图;
18.图2是根据本技术实施例的一种随机数的生成方法的流程图;
19.图3是根据本技术实施例的一种随机数的生成装置的结构图;
20.图4是根据本技术实施例的一种生成随机数的流程图。
具体实施方式
21.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范
围。
22.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.为了更好地理解本技术实施例,以下将本技术实施例中涉及的技术术语解释如下:
24.真随机数:区别于伪随机数,是基于物理现象得到的数字,如基于掷骰子、核裂变现象,电子元件产生噪音等现象得到的数字;真随机数可表现为数字形式、字母形式、字符形式,字母与数字的组合形式,字符与数字的组合形式,字符与字母的组合形式等任意形式。
25.主键:即主关键字(primary key),是表中一个或多个字段,主键的值用于唯一标识表中的一条记录,是表的唯一行标识。
26.玻尔兹曼方程:用于描述非热力学平衡状态的热力学统计行为偏微分方程。
27.在相关技术中,通常采用有多个求解结果的方程生成随机数,方程在经过多次求解后,可能得到与之前的相同的求解结果;因此,存在无法保证随机数的唯一性的问题。为了解决该问题,本技术实施例中通过使用无解的数学问题构建出一个高度随机的物理模型,并将多个微粒间的瞬时坐标和形成的夹角加入运算,得到一个高度唯一的随机数,保证了随机数算法的安全性和不重复性,从而可以解决上述问题,以下详细说明。
28.根据本技术实施例,提供了一种随机数的生成方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
29.本技术实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现随机数的生成方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为bus总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
30.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计
算机终端10(或移动设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
31.存储器104可用于存储应用软件的软件程序以及模块,如本技术实施例中的随机数的生成方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的随机数的生成方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
32.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
33.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
34.在上述运行环境下,本技术实施例提供了一种随机数的生成方法,图2是根据本技术实施例提供的一种随机数的生成方法的流程图,如图2所示,该方法包括如下步骤:
35.步骤s202,确定多个目标能量域,对多个目标能量域中的各目标能量域的参数进行初始化,其中,目标能量域为微粒运动的区域,参数包括:各目标能量域中微粒的运动速度,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量。
36.在步骤s202中,针对微粒的运动构建物理模型,在上述物理模型中构建多个目标能量域,例如,构建五个能量域;并依据从第一个目标能量域到第五个目标能量域,目标能量域中的温度依次升高,目标能量域中微粒的运动速度依次增加,目标能量域中微粒的运动质量依次减小的规则对各个目标能量域初始化;同时,将各个目标能量域中微粒的初始质量初始化为相同的数值。
37.步骤s204,分别在各目标能量域中采集微粒,并确定在各目标能量域中采集微粒的数量。
38.在步骤s204中,在初始化后的目标能量域中采集微粒,并记录在每个目标能量域中采集的微粒的数量。
39.步骤s206,根据在各目标能量域中采集微粒的数量,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量确定各目标能量域的能量。
40.在步骤s206中,将初始化后各个目标能量域中微粒的初始质量,初始化后各个目标能量域中微粒的运动质量,与在步骤s204中记录的在每个目标能量域中采集的微粒的数量结合运算,得到各个目标能量域的能量。
41.步骤s208,根据各目标能量域中微粒的运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数。
42.在步骤s208中,将初始化后各个目标能量域中微粒的运动速度,在步骤s204中记录的在每个目标能量域中采集的微粒的数量,与在步骤206中得到的各个目标能量域的能
量结合运算,得到一个随机数。
43.通过上述步骤,提供了一种轻量级的随机数生成算法,在各个目标能量域中随机采集微粒,将在不同目标能量域采集的微粒的数目,与不同目标能量域中微粒的运动速度,初始质量和运动质量结合运算,得到一个随机数。基于微粒热运动的无序性保证了每次生成的随机数无法复刻,提高了数据的安全性;同时,周期性的更新每个目标能量域的微粒数目,进一步提高算法的安全性,保证随机数的唯一性;可以实现提高数据安全性的技术效果。
44.根据本技术一个可选的实施例,确定多个目标能量域,对多个目标能量域的各目标能量域的参数进行初始化,包括:确定第一目标能量域,将第一目标能量域中微粒的运动速度初始化为第一速度,将第一目标能量域中微粒的初始质量初始化为第一质量,并将第一目标能量域中微粒的运动质量初始化为第二质量;确定第二目标能量域,将第二目标能量域中微粒的运动速度初始化为第二速度,将第二目标能量域中微粒的初始质量初始化为第一质量,并将第二目标能量域中微粒的运动质量初始化为第三质量;确定第三目标能量域,将第三目标能量域中微粒的运动速度初始化为第三速度,将第三目标能量域中微粒的初始质量初始化为第一质量,并将第三目标能量域中微粒的运动质量初始化为第四质量;确定第四目标能量域,将第四目标能量域中微粒的运动速度初始化为第四速度,将第四目标能量域中微粒的初始质量初始化为第一质量,并将第四目标能量域中微粒的运动质量初始化为第五质量;确定第五目标能量域,将第五目标能量域中微粒的运动速度初始化为第五速度,将第五目标能量域中微粒的初始质量初始化为第一质量,并将第五目标能量域中微粒的运动质量初始化为第六质量;其中,第一目标能量域的温度大于第二目标能量域的温度,第二目标能量域的温度大于第三目标能量域的温度,第三目标能量域的温度大于第四目标能量域的温度,第四目标能量域的温度大于第五目标能量域的温度;第一速度大于第二速度,第二速度大于第三速度,第三速度大于第四速度,第四速度大于第五速度;第二质量小于第三质量,第三质量小于第四质量,第四质量小于第五质量,第五质量小于第六质量,且第六质量小于第一质量。
45.在本实施例中,对确定的多个目标能量域中微粒的运动速度,微粒的初始质量,以及各个目标能量域中微粒的运动速度初始化,同时,对各个目标能量域的温度初始化,例如,确定了五个目标能量域,则按照从第一个目标能量域到第五个目标能量域,温度依次升高的规则对这五个目标能量域进行温度初始化,其中,第一个目标能量域的温度最高,第五个目标能量域的温度最小;由于温度与微粒的运动速度存在正比例的关系,因此,按照从第一个目标能量域到第五个目标能量域,微粒的运动速度依次增大的规则对这五个目标能量域中微粒的运动速度进行初始化,其中,第一个目标能量域的中微粒的运动速度最快,第五个目标能量域中微粒的运动速度最慢;例如,将第一个目标能量域的中微粒的运动速度记为v1,初始化时对其赋值,令v1=5;将第二个目标能量域的中微粒的运动速度记为v2,初始化时对其赋值,令v2=4;将第三个目标能量域的中微粒的运动速度记为v3,初始化时对其赋值,令v3=3;将第四个目标能量域的中微粒的运动速度记为v4,初始化时对其赋值,令v4=2;将第五个目标能量域的中微粒的运动速度记为v5,初始化时对其赋值,令v5=1,则各个目标能量区域中的微粒按照赋值的速度运动。为上述五个目标能量域,按照从第一个目标能量域到第五个目标能量域,微粒数目依次减少的规则随机分配微粒,对每个目标能量
域的微粒数目初始化,并将每个目标能量域中微粒的初始质量初始化为同样的质量(即第一质量),例如,将每个目标能量域的初始质量记为m,在初始化时对m赋值令m=10,则随机分配到上述五个目标能量域中的微粒的初始质量均为10。按照从第一个目标能量域到第五个目标能量域,微粒的运动质量依次增减小的规则对目标能量域中微粒的运动速度初始化,其中,第一个目标能量域的中微粒的运动质量最小,第五个目标能量域中微粒的运动质量最大,例如,将第一目标能量域中微粒的运动质量记为m1,在初始化时对m1赋值令m1=5;将第二目标能量域中微粒的运动质量记为m2,在初始化时对m2赋值令m2=6;将第三目标能量域中微粒的运动质量记为m3,在初始化时对m3赋值令m3=7;将第四目标能量域中微粒的运动质量记为m4,在初始化时对m4赋值令m4=8;将第五目标能量域中微粒的运动质量记为m5,在初始化时对m5赋值令m1=9;则各个目标能量区域中的微粒的运动质量均为上述赋值后的质量。在下一个周期对目标能量域初始化时,也遵循上述的规则。
46.根据本技术另一个可选的实施例,根据在各目标能量域中采集微粒的数量,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量确定各目标能量域的能量,包括:确定第一质量与第二质量的第一差值;确定第一差值、第一数量与预设值的第一乘积,将第一乘积确定为第一目标能量域的第一能量,其中,第一数量为在第一目标能量域中采集微粒的数量;确定第一质量与第三质量的第二差值;确定第二差值与第二数量与预设值的第二乘积,将第二乘积确定为第二目标能量域的第二能量,其中,第二数量为在第二目标能量域中采集微粒的数量;确定第一质量与第四质量的第三差值;确定第三差值与第三数量与预设值的第三乘积,将第三乘积确定为第三目标能量域的第三能量,其中,第三数量为在第三目标能量域中采集微粒的数量;确定第一质量与第五质量的第四差值;确定第四差值与第四数量与预设值的第四乘积,将第四乘积确定为第四目标能量域的第四能量,其中,第四数量为在第四目标能量域中采集微粒的数量;确定第一质量与第六质量的第五差值;确定第五差值与第五数量与预设值的第五乘积,将第五乘积确定为第五目标能量域的第五能量,其中,第五数量为在第一目标能量域中采集微粒的数量。
47.在本实施例中,在生成随机数时,从上述确定的目标能量域中采集微粒,记录采集的微粒的数目,其中,采集的微粒的数目为在采集时刻属于上述目标能量域的微粒的数目,将在第一目标能量域中采集的微粒的数目记为n1,将在第二目标能量域中采集的微粒的数目记为n2,将在第三目标能量域中采集的微粒的数目记为n3,将在第四目标能量域中采集的微粒的数目记为n4,将在第五目标能量域中采集的微粒的数目记为n5。确定第一目标能量域中微粒的初始质量m与微粒的运动质量m1的差值(m-m1)(即第一差值),将第一目标能量域中微粒的初始质量m与微粒的运动质量m1的差值与第一目标能量域中采集的微粒的数目n1的乘积:(m-m1)*n1,与预设值的乘积确定为第一目标能量域的能量e1,其中,预设值为光速(c)的平方值,在本技术实施例中,光速(c)取值为299792458m/s;则第一目标能量域的能量e1:e1=(m-m1)*c2*n1;同样的,第二目标能量域的能量e2:e2=(m-m2)*c2*n2;第三目标能量域的能量e3:e3=(m-m3)*c2*n3;第四目标能量域的能量e4:e4=(m-m4)*c2*n4;第五目标能量域的能量e5:e5=(m-m5)*c2*n5。
48.根据本技术又一个可选的实施例,根据各目标能量域中微粒的运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数,包括:确定第一能量的第一正弦值,确定第一正弦值与第一数量的乘积,并确定乘积与第一速度的第一比值;确定第二
能量的第一余弦值,确定第一余弦值与第二数量的乘积,并确定乘积与第二速度的第二比值;确定第三能量的正切值,确定正切值与第三数量的乘积,并确定乘积与第三速度的第三比值;确定第四能量的第二正弦值,确定第二正弦值与第四数量的乘积,并确定乘积与第四速度的第四比值;确定第五能量的第二余弦值,确定第二余弦值与第五数量的乘积,并确定乘积与第五速度的第五比值;确定第一比值与第二比值的第六差值,确定第六差值与第三比值的第一和值,确定第一和值与第四比值的第七差值,并确定第七差值与第五比值的第二和值;确定第二和值的绝对值,将绝对值确定为随机数。
49.在本实施例中,根据如下公式生成随机数r,
[0050][0051]
其中,sine1为第一目标能量域的能量e1的正弦值(即第一正弦值),sine4为第四目标能量域的能量e4的正弦值(即第二正弦值),cose2为第二目标能量域的能量e2的余弦值(即第一余弦值),cose5为第五目标能量域的能量e5的余弦值(即第五余弦值),tane3为第三目标能量域的能量e3的正切值。
[0052]
根据本技术一些优选的实施例,随机数的生成方法还包括:如果微粒从初始目标能量域运动到终点目标能量域,微粒的运动速度由初始目标能量域中微粒的运动速度变为终点目标能量域中微粒的运动速度,微粒的运动质量由初始目标能量域中微粒的运动质量变为终点目标能量域中微粒的运动质量。
[0053]
由于微粒在每个目标能量域进行随机无规律热运动,因此各个域之间存在微粒的交换,在一些优选的实施例中,当微粒进入不同的目标能量域,同步更改微粒的运动速度以及微粒的运动质量,例如,微粒从上述第一个目标能量域(即初始目标能量域)运动至上述第二目标能量域时(即终点目标能量域),微粒的运动速度从v1同步变更为v2,微粒的运动质量从m1同步变更为m2。因此,保证了本技术实施例生成的随机数在任意时刻都是独一无二的。
[0054]
根据本技术一个可选的实施例,随机数的生成方法还包括:确定时间周期,在时间周期内对各目标能量域的参数进行初始化,并生成随机数,其中,每个时间周期内生成的随机数均为唯一真随机数。
[0055]
在本实施例中,为上述生成随机数的算法设置更新周期,以周期性的重新初始化各个目标能量域中微粒的分布,在每个更新周期对各个目标能量域的参数重新初始化,每次进行初始化时,各个目标能量域中微粒的初始质量不变,每个目标能量域中微粒的初始速度不变。
[0056]
根据本技术另一些优选的实施例,根据各目标能量域中微粒的运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数之后,方法还包括以下至少之一:将不同的随机数添加到不同的程序中;将随机数添加到用于实现文件加解密的密钥中,或者实现系统交互的参数秘钥中。
[0057]
在另一些优选的实施例中,根据本技术实施例的方法生成的随机数应用于以下场景:在两程序交互时,将随机数作为交互工单的号码,确保工单号码的唯一性;在对文件加密/解密时,将多个随机数拼接或单独一个随机数作为文件加解密过程的密钥;或者在项目中作为传输文件的签名;或者在系统交互时作为系统交互参数密钥。根据本技术实施例的
方法生成的随机数还应用于主键生成策略,将多个随机数拼接为一个主键,或将一个随机数作为主键,保证了主键的唯一性,确保了数据的安全性。
[0058]
图3是根据本技术实施例提供的一种随机数的生成装置的结构图,如图3所示,包括:初始化模块30,用于确定多个目标能量域,对多个目标能量域中的各目标能量域的参数进行初始化,其中,目标能量域为微粒运动的区域,参数包括:各目标能量域中微粒的运动速度,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量;第一确定模块32,用于分别在各目标能量域中采集微粒,并确定在各目标能量域中采集微粒的数量;第二确定模块34,用于根据在各目标能量域中采集微粒的数量,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量确定各目标能量域的能量;第三确定模块36,用于根据各目标能量域中微粒的运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数。
[0059]
图4是生成随机数的流程图,如图4所示,随机数的生成装置开始工作,通过初始化模块30对各个目标能量域进行初始化,将能量域一中到能量域五中微粒的初始速度(v)均初始化为5,将能量域一中到能量域五中微粒的初始质量(m)均初始化为10;并为各个能量域随机分配微粒数目,例如,为能量域一分配9000-10000个微粒,为能量域二分配7000-8000个微粒,为能量域三分配5000-6000个微粒,为能量域四分配2000-4000个微粒,为能量域五分配1000-2000个微粒。第一确定模块32,在某一时刻从上述五个能量域中采集微粒,得到在采集时刻各个能量域中微粒的数目并记录;将能量域一的微粒数目记为n1,能量域二的微粒数目记为n2,能量域三的微粒数目记为n3,能量域四的微粒数目记为n4,能量域五的微粒数目记为n5。运动时默认微粒的的质量有变动,通过第二确定模块34确定能量域一中微粒的运动质量m1,能量域二中微粒的运动质量m2,能量域三中微粒的运动质量m3,能量域一中微粒的运动质量m4,能量域一中微粒的运动质量m5,并根据公式e=(m-m)*n,确定能量域一的能量e1,能量域二的能量e2,能量域三的能量e3,能量域四的能量e4和能量域五的能量e5。第三确定模块36,根据上述信息依据公式5。第三确定模块36,根据上述信息依据公式生成一个随机数,并将该随机数应用在目标程序或系统中。
[0060]
需要说明的是,图3所示实施例的优选实施方式可以参见图2所示实施例的相关描述,此处不再赘述。
[0061]
根据本技术实施例提供的方法,提供一种轻量级随机数生成策略;生成的随机数具有唯一性、时效性、随机性和安全性等多个优良特性。
[0062]
本技术实施例还提供了一种非易失性存储介质,该非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行以上的随机数的生成方法。
[0063]
上述非易失性存储介质用于存储执行以下功能的程序:确定多个目标能量域,对多个目标能量域中的各目标能量域的参数进行初始化,其中,目标能量域为微粒运动的区域,参数包括:各目标能量域中微粒的运动速度,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量;分别在各目标能量域中采集微粒,并确定在各目标能量域中采集微粒的数量;根据在各目标能量域中采集微粒的数量,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量确定各目标能量域的能量;根据各目标能量域中微粒的
运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数。
[0064]
本技术实施例还提供了一种电子设备,包括:存储器和处理器,该处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的随机数的生成方法。
[0065]
上述电子设备中的处理器用于运行执行以下功能的程序:确定多个目标能量域,对多个目标能量域中的各目标能量域的参数进行初始化,其中,目标能量域为微粒运动的区域,参数包括:各目标能量域中微粒的运动速度,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量;分别在各目标能量域中采集微粒,并确定在各目标能量域中采集微粒的数量;根据在各目标能量域中采集微粒的数量,各目标能量域中微粒的初始质量和各目标能量域中微粒的运动质量确定各目标能量域的能量;根据各目标能量域中微粒的运动速度,各目标能量域中采集微粒的数量和各目标能量域的能量生成随机数。
[0066]
需要说明的是,上述随机数的生成装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
[0067]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0068]
在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0069]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0070]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0071]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0072]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0073]
以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应
视为本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献