一种生成随机数及随机数组的方法和设备技术

技术编号:11120862 阅读:94 留言:0更新日期:2015-03-11 10:02
本发明专利技术的实施方式提供了一种生成随机数的方法。该方法包括:当需要生成随机数时,获取外界图像;根据所述外界图像中坐标点的特征值,为所述随机数计算各个数位的值,并将所述各个数位的值合成为所述随机数。通过基于外界图像中坐标点的特征值来生成随机数,本发明专利技术的方法不仅降低了所生成的随机数被破解的风险,而且也使得包含大量数位的随机数以及包含大量随机数的随机数组都更易于生成,此外还无需在设备内再增加对系统内部硬件进行监测的组件。此外,本发明专利技术的实施方式提供了一种生成随机数的设备,以及一种生成随机数组的方法和设备。

【技术实现步骤摘要】

本专利技术的实施方式涉及数据处理领域,更具体地,本专利技术的实施方式涉及一种生成随机数的方法和设备,以及,一种生成随机数组的方法和设备。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。目前,为了完成某些特定的任务或实现特定的功能,一些应用程序在运行的过程中需要生成随机数。例如,某些应用程序为了降低恶意访问用户身份的风险,在用户身份验证时需要生成动态的随机密码或随机验证码提供给用户,这些随机密码和随机验证码需要由随机数来确定。又如,为了更好地贴合现实场景,对于现实场景中某些随机出现的资源,某些应用程序在用户使用时也需要随机提供这些资源,这些资源的种类、数量等需要由生成的随机数来确定。现有技术中,已经出现一些生成随机数的实现方式。例如,在一种常用的随机数生成方式中,在系统内预先保存一些数据到随机种子库,在需要生成随机数时,从随机种子库中选取一个数据作为随机种子,采用线性同余算法以随机种子作为初始值依次确定随机数的每一数位的数值,再将各个数位的值组合在一起形成随机数。
技术实现思路
可以理解的是,应用程序在通过生成随机数或随机数组来完成任务时,实际上利用随机数具有随机的、不确定的特性来避免恶意破解的风险,从而提高应用程序任务完成过程的安全性,例如随机密码可以提高应用程序中用户身份的安全性。但是,由于现有技术中是以系统内预先保存在固定的随机种子库中的数据作为随机种子采用固定的计算逻辑(如前述线性同余算法)来生成随机数,在系统受到恶意攻击时,不仅用于生成随机数的固定计算逻辑很可能会被恶意破解,而且预先保存的固定随机种子库也很可能会被恶意获取,因此,在固定随机种子库被恶意获取且固定计算逻辑被恶意破解的情况下,应用程序生成的随机数就不可避免地会被恶意破解,从而导致以随机数来完成的任务安全性降低。由此可见,在现有技术中,在固定的计算逻辑被破解的情况下,由于难以避免系统内预先保存的固定随机种子库被恶意获取,就会导致应用程序无法保证以随机数来完成任务的安全性,这是非常令人烦恼的过程。为此,非常需要一种改进的生成随机数的方法和设备以及生成随机数组的方法和设备,以避免采用固定随机种子库中的数据作为随机种子来生成随机数,从而保证应用程序以随机数来完成任务的安全性。在本上下文中,本专利技术的实施方式期望提供一种生成随机数的方法和设备,以及,一种生成随机数组的方法和设备。在本专利技术实施方式的第一方面中,提供了一种生成随机数的方法,包括:当需要生成随机数时,获取外界图像;根据所述外界图像中坐标点的特征值,为所述随机数计算各个数位的值,并将所述各个数位的值合成为所述随机数。在本专利技术实施方式的第二方面中,提供了一种生成随机数组的方法,包括:当需要生成随机数组时,确定所述随机数组中包含的随机数个数;以所述随机数个数作为目标随机数数量,采用本专利技术实施方式第一方面提供的、用于生成随机数的方法,生成所述目标随机数数量的随机数;将所述随机数数量的随机数组成所述随机数数组。在本专利技术实施方式的第三方面中,提供了一种生成随机数的设备,包括:获取模块,用于当需要生成随机数时,获取外界图像;计算模块,用于根据所述外界图像中坐标点的特征值,为所述随机数计算各个数位的值,并将所述各个数位的值合成为所述随机数。在本专利技术实施方式的第四方面中,提供了一种生成随机数组的设备,包括:确定模块,用于当需要生成随机数组时,确定所述随机数组中包含的随机数个数;生成模块,用于以所述随机数个数作为目标随机数数量,采用本专利技术实施方式第三方面提供的、用于生成随机数的设备,生成所述目标随机数数量的随机数;组成模块,用于将所述随机数数量的随机数组成所述随机数数组。根据本专利技术实施方式的、用于生成随机数及随机数组的方法和设备,由于随机数是基于外界图像中坐标点的特征值来计算的,一方面,外界图像中坐标点的特征值相对于系统内固定随机种子库中的数据来说难以被恶意获取,因此,在系统受到恶意攻击时,即使用于生成随机数的固定计算逻辑被恶意破解,用于生成随机数的外界图像也难以被恶意获取,这就使得所生成的随机数难以被破解,以此随机数来完成任务的安全性也更高;另一方面,相对于声音等外界参数来说,一个外界图像中所包含的坐标点数量非常多,而每个坐标点的特征值都可以用于计算随机数中一个数位的值,可见,仅需获取一个外界图像就可以得到非常多的数位值,因此,无论是所要生成的随机数包含有大量数位的情况还是所要生成的随机数组包含大量随机数的情况,都可以在短时间内通过获取一个外界图像来实现,这就使得包含大量数位的随机数以及包含大量随机数的随机数组都更易于生成;再一方面,由于随机数生成时只需要获取外界图像而无需对系统内部的硬件状态进行监测,因此,并不需要在设备内再增加对系统内部硬件进行监测的组件,从而显著地降低了应用程序生成随机数在设备上实现的难度。由此可见,本专利技术实施方式提供的、用于生成随机数及随机数组的方法和设备,不仅可以避免所生成的随机数被破解而使得以此随机数来完成任务的安全性更高,而且也可以使得包含大量数位的随机数以及包含大量随机数的随机数组都更易于生成,此外还无需在设备内再增加对系统内部硬件进行监测的组件而降低了设备改造的难度。附图说明通过参考附图阅读下文的详细描述,本专利技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施方式,其中:图1示意性地示出了本专利技术的实施方式的一个示例性应用场景的框架示意图;图2示意性地示出了本专利技术中生成随机数的方法一实施例的流程图;图3示意性地示出了本专利技术实施例中计算随机数一实施方式的流程图;图4示意性地示出了本专利技术实施例中一种应用场景示例的示意图;图5示意性地示出了本专利技术中生成随机数组的方法一实施例的流程图;图6示意性地示出了本专利技术中生成随机数的设备一实施例的流程图;图7示意性地示出了本专利技术中生成随机数组的设备一实施例的流程图;在附图中,相同或对应的标号表示相同或对应的部分。具体实施方式下面将参考若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。相反,提供这些实施方式是本文档来自技高网...

【技术保护点】
一种生成随机数的方法,包括:当需要生成随机数时,获取外界图像;根据所述外界图像中坐标点的特征值,为所述随机数计算各个数位的值,并将所述各个数位的值合成为所述随机数。

【技术特征摘要】
1.一种生成随机数的方法,包括:
当需要生成随机数时,获取外界图像;
根据所述外界图像中坐标点的特征值,为所述随机数计算各个数位的
值,并将所述各个数位的值合成为所述随机数。
2.根据权利要求1所述的方法,其中,所述外界图像中坐标点的特
征值为所述外界图像中坐标点的颜色值。
3.根据权利要求1所述的方法,其中,所述根据所述外界图像中坐
标点的特征值,为所述随机数计算各个数位的值,并将所述各个数位的值
合成为所述随机数,包括:
以所述随机数的数位个数作为目标数位数量,在所述外界图像中确定
所述目标数位数量的目标坐标点;
根据所述外界图像在各个所述目标坐标点处的特征值,计算所述随机
数各个数位的值,其中,各个不同的所述目标坐标点用于计算所述随机数
中各个不同的数位的值;
以计算出的各个数位的值组成所述随机数。
4.根据权利要求3所述的方法,其中,所述目标坐标点是响应于用
户的选取操作而确定的,或,所述目标坐标点是根据预设的坐标值而确定
的。
5.根据权利要求1所述的方法,还包括:
响应于所述随机数的数值不属于预设的数值范围,返回执行所述获取
外界图像,以便重新生成随机数。
6.一种生成随机数组的方法,包括:
当需要生成随机数组时,确定所述随机数组中包含的随机数个数;
以所述随机数个数作为目标随机数数量,采用如权利要求1~5任意一
项所述的方法,生成所述目标随机数数量的随机数;
将所述随机数数量的随机数组成所述随机数数组。
7.根据权利要求6所述的方法,其中,所述目标随机数数量的随机
数是根据同一个外界图像生成的,各个不同的随机数是由所述外界图像中
不完全相同的目标坐标点的特征值来计算的。
8.根据权利要求6所述的方法,其中,所述目标随机数数量的随机
数中,各个不同的随机数是根据各不相同的外界图像生成的。
9.一种生成随...

【专利技术属性】
技术研发人员:陈君耀郏文璇翁国平
申请(专利权)人:乐得科技有限公司
类型:发明
国别省市:浙江;33

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

1