一种随机数获得方法、装置、系统及存储介质制造方法及图纸

技术编号:21202203 阅读:42 留言:0更新日期:2019-05-25 01:55
本发明专利技术公开了一种随机数获得方法,包括以下步骤:获得指定时间点的公开数据,指定时间点为在指定时间点之前预先指定的时间点;获得公开数据的哈希值;基于哈希值,确定随机数种子;将随机数种子加入到预设的随机函数中,获得随机数。本发明专利技术还公开了一种随机数获得装置、系统及存储介质。应用本发明专利技术实施例所提供的技术方案,指定时间点的公开数据具有随时间随机的特性,在指定时间点之前,任何人都不可预测该指定时间点的公开数据,对指定时间点的公开数据进行哈希计算,得到哈希值,进而基于哈希值确定的随机数种子得到的随机数更加公开公正,而且,在指定时间点之后,所有人均可基于获得的指定时间点的公开数据,对随机数进行验证。

A Random Number Acquisition Method, Device, System and Storage Media

The invention discloses a random number acquisition method, which includes the following steps: obtaining the public data of a specified time point, the designated time point is the pre-specified time point before the designated time point; obtaining the hash value of the public data; determining the random number seed based on the hash value; and adding the random number seed into the preset random function to obtain the random number. The invention also discloses a random number acquisition device, a system and a storage medium. According to the technical scheme provided by the embodiment of the present invention, the open data of a specified time point has the characteristics of randomness over time. Before a specified time point, no one can predict the open data of the specified time point. The open data of a specified time point is hashed to obtain the hash value, and then the random number obtained from the seed of the random number determined by the hash value is more open. Fairness, moreover, after a specified time point, all people can verify the random number based on the public data obtained at the specified time point.

【技术实现步骤摘要】
一种随机数获得方法、装置、系统及存储介质
本专利技术涉及计算机应用
,尤其涉及一种随机数获得方法、装置、系统及存储介质。
技术介绍
目前,随机数的使用场景、使用范围越来越广,比如,抽签、摇号等场景中都可使用。在现有技术中,会预先保存一些数据到随机数种子库中,在需要获得随机数时,从随机数种子库中选取一个数据作为随机数种子,通过随机函数的作用生成随机数。在这种方法中,随机数种子库中的随机数种子相对较为固定,从而使得生成的随机数相对固定,如果随机数种子库被恶意获取,将会使得生成的随机数被恶意破解,无法保证随机数的公平公正。
技术实现思路
本专利技术的主要目的在于提供一种随机数获得方法、装置、系统及存储介质,旨在解决无法保证获得的随机数的公平公正的技术问题。为实现上述目的,本专利技术提供的一种随机数获得方法,包括:获得指定时间点的公开数据,所述指定时间点为在所述指定时间点之前预先指定的时间点;获得所述公开数据的哈希值;基于所述哈希值,确定随机数种子;将所述随机数种子加入到预设的随机函数中,获得随机数。可选地,所述基于所述哈希值,确定随机数种子,包括:将所述哈希值中设定位的数值确定为随机数种子。可选地,所述将所述随机数种子加入到预设的随机函数中,获得随机数,包括:通过预设的随机函数对所述随机数种子取值N次,获得随机数,N为正整数。可选地,所述获得所述公开数据的哈希值,包括:对所述公开数据进行哈希计算,获得所述公开数据的哈希值。可选地,所述公开数据为比特币区块哈希值、哈希碰撞的值、气象云图或A股指数。为实现上述目的,本专利技术进一步提供一种随机数获得装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的随机数获得程序,所述随机数获得程序被所述处理器执行时实现如下方法:获得指定时间点的公开数据,所述指定时间点为在所述指定时间点之前预先指定的时间点;获得所述公开数据的哈希值;基于所述哈希值,确定随机数种子;将所述随机数种子加入到预设的随机函数中,获得随机数。可选地,所述随机数获得程序被所述处理器执行时具体实现:将所述哈希值中设定位的数值确定为随机数种子。可选地,所述随机数获得程序被所述处理器执行时具体实现:通过预设的随机函数对所述随机数种子取值N次,获得随机数,N为正整数。可选地,所述随机数获得程序被所述处理器执行时具体实现:对所述公开数据进行哈希计算,获得所述公开数据的哈希值。为实现上述目的,本专利技术进一步提供一种随机数获得系统,所述系统包括:公开数据获得单元,用于获得指定时间点的公开数据,所述指定时间点为在所述指定时间点之前预先指定的时间点;哈希值获得单元,用于获得所述公开数据的哈希值;随机数种子确定单元,用于基于所述哈希值,确定随机数种子;随机数获得单元,用于将所述随机数种子加入到预设的随机函数中,获得随机数。为实现上述目的,本专利技术进一步提供一种可读存储介质,所述计算机可读存储介质上存储有随机数获得程序,所述随机数获得程序可被一个或者多个处理器执行,以实现上述任一项所述的随机数获得方法。为实现上述目的,本专利技术进一步提供一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一项所述的随机数获得方法。应用本专利技术实施例所提供的技术方案,获得指定时间点的公开数据后,获得公开数据的哈希值,基于哈希值,确定随机数种子,将获得的随机数种子加入到预设的随机函数中,获得随机数。指定时间点为在指定时间点之前预先指定的时间点,指定时间点的公开数据具有随时间随机的特性,在指定时间点之前,任何人都不可预测该指定时间点的公开数据,对指定时间点的公开数据进行哈希计算,得到哈希值,进而基于哈希值确定的随机数种子得到的随机数更加公开公正,而且,在指定时间点之后,所有人均可基于获得的指定时间点的公开数据,对随机数进行验证。附图说明图1为本专利技术实施例中一种随机数获得方法的实施流程图;图2为本专利技术实施例中一种随机数获得装置的结构示意图;图3为本专利技术实施例中一种随机数获得系统的结构示意图;本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。需要说明的是,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本专利技术要求的保护范围之内。参见图1所示,为本专利技术实施例所提供的一种随机数获得方法的实施流程图,该方法可以包括以下步骤:S110:获得指定时间点的公开数据。指定时间点为在指定时间点之前预先指定的时间点。在本专利技术实施例中,在需要生成随机数时,可以预先指定未来的一个时间点,基于该指定时间点的公开数据获得所需要的随机数。也就是说,指定时间点为指定时间点之前预先指定的时间点。在指定时间点之前,任何人都不可预测该指定时间点的公开数据,该公开数据只有在到达指定时间点时才能产生,具有随时间随机的特性。在达到指定时间点时,或者在达到指定时间点后的设定时间段内,可以获得指定时间点的公开数据。具体的,可以通过互联网络或者其他公开的第三方信息查询得到。公开数据具体可以为比特币区块哈希值、哈希碰撞的值、气象云图或A股指数,当然,也可以是其他数据,只要这些数据在指定时间点才能产生即可。比特币区块哈希值每10分钟更新一次,气象云图每15分钟更新一次,在未到达更新时间点时,任何人无法预测相应数据。S120:获得公开数据的哈希值。获得指定时间点的公开数据后,可以获得公开数据的哈希值。如果获得的公开数据为比特币区块哈希值、哈希碰撞的值等数据,则在获得公开数据的同时直接获得了公开数据的哈希值,如果获得的公开数据为气象云图、A股指数等数据,则可以对公开数据进行哈希计算,获得公开数据的哈希值。在本专利技术的一种具体实施方式中,可以对公开数据进行哈希计算,获得公开数据的哈希值。即无论获得的公开数据是否已经为哈希值,都可以利用预设的哈希算法对公开数据进行哈希计算,获得公开数据的哈希值。哈希算法可以根据实际情况进行设定和调整,如设定为MD5、SHA-1、SHA-2、SHA-3或SHA-256等哈希算法。利用哈希算法对公开数据进行哈希计算,可以获得公开数据的一组16进制的哈希值。举例而言,指定时间点为2018-11-2908:33,该指定时间点可以是在2018-11-2908:33之前的任意一个时间点指定的。获得的该指定时间点的公开数据为比特币区块哈希值Hash160:c22b7ff24f16a758609daf5ee825b74d2f3868d9。同时可以将该组数值确定为该公本文档来自技高网...

【技术保护点】
1.一种随机数获得方法,其特征在于,包括:获得指定时间点的公开数据,所述指定时间点为在所述指定时间点之前预先指定的时间点;获得所述公开数据的哈希值;基于所述哈希值,确定随机数种子;将所述随机数种子加入到预设的随机函数中,获得随机数。

【技术特征摘要】
1.一种随机数获得方法,其特征在于,包括:获得指定时间点的公开数据,所述指定时间点为在所述指定时间点之前预先指定的时间点;获得所述公开数据的哈希值;基于所述哈希值,确定随机数种子;将所述随机数种子加入到预设的随机函数中,获得随机数。2.根据权利要求1所述的方法,其特征在于,所述基于所述哈希值,确定随机数种子,包括:将所述哈希值中设定位的数值确定为随机数种子。3.根据权利要求1所述的方法,其特征在于,所述将所述随机数种子加入到预设的随机函数中,获得随机数,包括:通过预设的随机函数对所述随机数种子取值N次,获得随机数,N为正整数。4.根据权利要求1至3之中任一项所述的方法,其特征在于,所述获得所述公开数据的哈希值,包括:对所述公开数据进行哈希计算,获得所述公开数据的哈希值。5.根据权利要求1至3之中任一项所述的方法,其特征在于,所述公开数据为比特币区块哈希值、哈希碰撞的值、气象云图或A股指数。6.一种随机数获得装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的随机数获得程序,所述随机数获得程序被所述处理器执行时实现如下方法:获得指定时间点的公开数据,所述指定时间点为在所述指定时间点之前预先指定的时间点;获得所述...

【专利技术属性】
技术研发人员:郭子刘浏张慧勇周茂青王静
申请(专利权)人:深圳市网心科技有限公司
类型:发明
国别省市:广东,44

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

1