CN103617020B - 一种应用程序中生成随机数的方法和设备 - Google Patents

一种应用程序中生成随机数的方法和设备 Download PDF

Info

Publication number
CN103617020B
CN103617020B CN201310718567.8A CN201310718567A CN103617020B CN 103617020 B CN103617020 B CN 103617020B CN 201310718567 A CN201310718567 A CN 201310718567A CN 103617020 B CN103617020 B CN 103617020B
Authority
CN
China
Prior art keywords
random number
task data
numerical digit
generated
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310718567.8A
Other languages
English (en)
Other versions
CN103617020A (zh
Inventor
李先治
马保祥
郏文璇
陈君耀
王礞
王波
王树鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Lede Technology Co Ltd
Original Assignee
Netease Lede Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Lede Technology Co Ltd filed Critical Netease Lede Technology Co Ltd
Priority to CN201310718567.8A priority Critical patent/CN103617020B/zh
Publication of CN103617020A publication Critical patent/CN103617020A/zh
Application granted granted Critical
Publication of CN103617020B publication Critical patent/CN103617020B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明的实施方式提供了一种应用程序中生成随机数的方法。该方法包括:响应于生成随机数的指令,感测外界声音;基于所述外界声音的属性参数,确定所述随机数中各个数位的值,并以确定的各个数位的值组成所述随机数。通过基于外界声音的属性参数来生成随机数,本发明的方法使得可以同时实现既降低恶意破解的风险又无需在设备内增加对***内部硬件进行监测的组件。此外,本发明的实施方式提供了一种应用程序中生成随机数的设备,以及一种应用程序中生成任务数据的方法和设备。

Description

一种应用程序中生成随机数的方法和设备
技术领域
本发明的实施方式涉及数据处理领域,更具体地,本发明的实施方式涉及一种应用程序中生成随机数的方法和设备,以及一种应用程序中生成任务数据的方法和设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前,许多应用程序在运行过程中需要生成随机数来组成特定的任务数据,以便完成某些特定的任务或实现某些特定的功能。例如,某些应用程序会在用户进行一些操作时向用户提供动态的随机密码或者随机验证码,作为用户登陆或者触发某些特定操作的验证条件,这些随机密码或随机验证码需要由生成的随机数来组成。又如,某些游戏类的应用程序,在用户进行游戏的过程中需要随机向用户提供某些游戏资源,这些资源的种类、数量等需要由生成的随机数来组成。
现有技术中,已经出现一些生成随机数的实现方式。例如,在一种常用的随机数生成方式中,选取一个数据作为随机种子,采用线性同余算法以随机种子作为初始值依次确定随机数的每一数位的数值,再将各个数位的值组合在一起形成随机数。其中,随机种子一般是从***内存在的数据中选取,例如从应用程序中预设的一个随机种子数据库中选取随机种子。
发明内容
需要说明的是,应用程序在以随机数作为任务数据时,需要任务数据具有随机的、不确定的特性,以避免恶意破解的风险,从而提高应用程序任务完成过程的安全性,例如随机密码可以提高应用程序中用户账号的安全性。由于现有技术中是以随机种子为初始值采用固定的计算逻辑(如线性同余算法)来生成随机数,在固定的计算逻辑被恶意破解的情况下,如果随机种子也被恶意获取,应用程序生成的随机数就不可避免地会被恶意破解,从而导致以随机数组成的任务数据安全性降低。而现有技术采用***内存在的数据作为随机种子则导致随机种子被恶意获取的风险较高。为了避免随机种子被恶意获取而导致随机数被恶意破解的风险,目前存在一些基于***内的硬件状态变化作为随机种子来避免随机种子被恶意获取的设想,例如鼠标的移动轨迹、按键敲击的间隔时间、电阻或振荡器产生的噪声等等,但这些基于***内硬件状态变化的设想在实现时都需要在设备内增加硬件来对***内部进行监测,这就导致随机数的生成必须依靠对设备内部的硬件改造而无法仅依靠应用程序来实现,这不仅提高了改造后设备的硬件成本,还使得改造后设备内硬件组装的难度进一步加大,此外还需要应用程序提供方必须依靠设备制造厂商的支持,因此,现有以***内部硬件状态作为随机种子的随机数生成方式在应用程序中难以实现,故目前的应用程序在生成随机数时几乎都没有采用,而是大都采用了前述以***内存在的数据作为随机种子的随机数生成方式。
由此可见,在现有技术中,生成随机数时无法同时实现既降低恶意破解的风险又无需在设备内增加对***内部硬件进行监测的组件,从而导致了在不对设备内硬件进行改造的情况下应用程序无法保证以随机数组成的任务数据的安全性,这是非常令人烦恼的过程。
为此,非常需要一种改进的应用程序中生成随机数的方法和设备、以及相对应的应用程序中生成任务数据的方法和设备,以使随机数的生成既可以降低恶意破解的风险又无需在设备内增加对***内部硬件进行监测的组件,从而能够使得在不对设备内硬件进行改造的情况下应用程序提高以随机数组成的任务数据的安全性。
在本上下文中,本发明的实施方式期望提供一种应用程序中生成随机数的方法和设备,以及,一种应用程序中生成任务数据的方法和设备。
在本发明实施方式的第一方面中,提供了一种应用程序中生成随机数的方法,包括:响应于生成随机数的指令,感测外界声音;基于所述外界声音的属性参数,确定所述随机数中各个数位的值,并以确定的各个数位的值组成所述随机数。。
在本发明实施方式的第二方面中,提供了一种应用程序中生成任务数据的方法,包括:响应于生成任务数据的请求指令,采用本发明实施方式的第一方面提供的应用程序中生成随机数的方法来生成随机数,得到一系列随机数;响应于生成任务数据的确认指令,以所述任务数据中需要的随机数个数作为获取数量,从所述一系列随机数中选取所述获取数量的随机数组成所述任务数据。
在本发明实施方式的第三方面中,提供了一种应用程序中生成随机数的设备,包括:外音感测模块,用于响应于生成随机数的指令,感测外界声音;随机数确定模块,用于基于所述外界声音的属性参数,确定所述随机数中各个数位的值,并以确定的各个数位的值组成所述随机数。
在本发明实施方式的第四方面中,提供了一种应用程序中生成任务数据的设备,包括:随机数生成模块,用于响应于生成任务数据的请求指令,采用本发明实施方式的第三方面提供的应用程序中生成随机数的设备来生成随机数,得到一系列随机数;任务数据组成模块,用于响应于生成任务数据的确认指令,以所述任务数据中需要的随机数个数作为获取数量,从所述一系列随机数中选取所述获取数量的随机数组成所述任务数据。
根据本发明实施方式的应用程序中生成随机数的方法和设备以及生成任务数据的方法和设备,由于随机数是基于感测到的外界声音的属性参数来生成的,而外界声音的属性参数相对于***内存在的数据来说难以被恶意获取,因此,所生成的随机数难以被破解,以此随机数组成的任务数据安全性也更高。并且,由于随机数生成时只需要感测外界声音而无需对***内部的硬件状态进行监测,而并不需要在设备内再增加对***内部硬件进行监测的组件,从而显著地降低了应用程序生成随机数在设备上实现的难度。因此,本发明实施方式中随机数的生成及任务数据的生成,可以同时实现既降低恶意破解的风险又无需在设备内增加对***内部硬件进行监测的组件,从而能够使得在不对设备内硬件进行改造的情况下应用程序保证以随机数组成的任务数据的安全性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了本发明的实施方式的一个示例性应用场景的框架示意图;
图2示意性地示出了本发明中应用程序中生成随机数的方法一实施例的流程图;
图3示意性地示出了本发明实施例中确定随机数中各个数位的值一实施方式的流程图;
图4示意性地示出了本发明中应用程序中生成任务数据的方法一实施例的流程图;
图5示意性地示出了本发明实施例中生成一系列随机数一实施方式的流程图;
图6示意性地示出了本发明实施例中任务数据显示方式一实施方式的示意图;
图7示意性地示出了本发明实施例中一应用场景的应用程序中随机投注显示界面的一示意图;
图8示意性地示出了本发明实施例中一应用场景的应用程序中随机投注显示界面的又一示意图;
图9示意性地示出了本发明中应用程序中生成随机数的设备一实施例的结构图;
图10示意性地示出了本发明实施例中随机数确定模块901一实施方式的结构图;
图11示意性地示出了本发明中应用程序中生成随机数的设备又一实施例的结构图;
图12示意性地示出了本发明中应用程序中生成任务数据的设备一实施例的结构图;
图13示意性地示出了本发明实施例中随机数生成模块1201一实施方式的结构图;
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术技术人员知道,本发明的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种应用程序中生成随机数的方法和设备,以及一种应用程序中生成任务数据的方法和设备。
在本文中,需要理解的是,所涉及的术语“应用程序”表示的是具有数据处理能力的程序,并且,其所处理的数据中存在以随机数组成的任务数据。其中,该任务数据可以是用于人与计算机之间进行交互的任务数据,或者也可以是仅用于计算机***内部处理的任务数据,对此本文不作限定。相应地,应用程序可以是用于人与计算机之间进行交互的程序,或者也可以是用于计算机***内部处理的***程序,对此本文也不做限定。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有的随机数生成方式之所以容易被恶意破解,原因在于随机数是基于***内存在的数据来生成的,而***内存在的数据是十分容易被获取到的。为了解决随机数容易破解这一问题,虽然现有技术也提出了可以采用基于***内的硬件状态变化来生成随机数的方式,但是由于这种方式需要对设备内的硬件状态进行监测,所以需要在设备内部增加监测***内部硬件的组件,这不仅导致设备内硬件组装的难度以及成本的提高,还需要设备制造厂商对于应用程序中这种随机数生成方式给予支持,可见,基于***内的硬件状态变化来生成随机数的方式,虽然可以降低随机数被恶意破解的风险,但在不对设备内硬件进行改造的情况下实现的难度很大。
基于上述发现,本发明的设计思想在于:通过对外界声音的感测,基于外界声音的属性参数来生成随机数。一方面,外界声音并不存在于***内而是实时感测的,所以以外界声音来生成随机数可以降低随机数被恶意破解的风险,提高以随机数生成的任务数据的安全性。另一方面,由于设备一般都具有能够感测外界声音的硬件,例如手机、ipad等移动终端中的麦克风,所以基于外界声音的属性参数来生成随机数时并不需要在设备内增加对***内部硬件进行监测的组件,甚至无需对这些设备进行任何改造,从而降低了在设备的应用程序中实现随机数生成的难度。再一方面,即使对于本身不具有感测外界声音硬件的设备来说,也只需给这些设备外接一个能够感测外界声音的设备即可实现随机数的生成,例如给台式机、膝上型计算机等外接一个麦克风,而无需在设备内增加对***内部硬件进行监测的组件,无需对设备内硬件进行任何改造,从而也能够降低应用程序中实现随机数生成的难度。由此可见,基于感测到的外界声音的属性参数来生成随机数,可以同时实现既降低恶意破解的风险又无需在设备内增加对***内部硬件进行监测的组件,从而不仅提高了应用程序中以随机数组成的任务数据的安全性,也使得随机数生成方式能够在不对设备内硬件进行改造的情况下得以实现。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1,图1是本发明的实施方式的一个示例性应用场景的框架示意图。其中,用户通过客户端102与提供应用程序相关功能的服务器101进行交互。本领域技术人员可以理解,图1所示的框架示意图仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受到该框架任何方面的限制。
需要注意的是,此处的客户端102可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线和/或无线连接(例如,Wi-Fi、LAN、蜂窝、同轴电缆等)与服务器101交互的任何客户端,包括但不限于:现有的、正在研发的或将来研发的智能手机、非智能手机、平板电脑、膝上型个人计算机、桌面型个人计算机、小型计算机、中型计算机、大型计算机等。或者,客户端102也可以是软件客户端,例如当前非常流行的安装于智能手机、平板电脑等硬件设备上的应用程序。更一般地,客户端102可以是软件客户端与硬件客户端的组合。
还需要注意的是,此处的服务器101仅是现有的、正在研发的或将来研发的、能够向用户提供服务的设备(可以是软件、硬件、固件或者它们的任何组合)的一个示例。本发明的实施方式在此方面不受任何限制。
基于图1所示的框架,在第一种示例性应用场景下,客户端102响应于生成随机数的指令,感测外界声音;然后,客户端102基于所述外界声音的属性参数,确定所述随机数中各个数位的值,并以确定的各个数位的值组成所述随机数。其中,该随机数可以用于客户端102生成任务数据,该任务数据可以用于客户端102向服务器101发送,以完成特定任务。
基于图1所示的框架,在第二种示例性应用场景下,客户端102响应于生成任务数据的请求指令,采用前述基于外界声音的属性参数生成随机数的方法来生成随机数,得到一系列随机数;然后,客户端102响应于生成任务数据的确认指令,以所述任务数据中需要的随机数个数作为获取数量,从所述一系列随机数中选取所述获取数量的随机数组成所述任务数据。其中,该任务数据可以用于客户端102向服务器101发送,以完成特定任务。
基于图1所示的框架,在第三种示例性应用场景下,服务器101响应于生成随机数的指令,感测外界声音;然后,服务器101基于所述外界声音的属性参数,确定所述随机数中各个数位的值,并以确定的各个数位的值组成所述随机数。其中,该随机数可以用于服务器101生成任务数据,该任务数据可以用于服务器101向客户端102发送,以完成特定任务。
基于图1所示的框架,在第四种示例性应用场景下,服务器101响应于生成任务数据的请求指令,采用前述基于外界声音的属性参数生成随机数的方法来生成随机数,得到一系列随机数;然后,服务器101响应于生成任务数据的确认指令,以所述任务数据中需要的随机数个数作为获取数量,从所述一系列随机数中选取所述获取数量的随机数组成所述任务数据。其中,该任务数据可以用于服务器101向客户端102发送,以完成特定任务。
需要说明的是,虽然上述应用场景中将任务数据描述为客户端102与服务器101之间交互的数据,但可以理解的是,客户端102或服务器101生成的任务数据也可以是在设备自身应用的数据。例如,客户端102生成的任务数据可以用于在客户端102上存储、显示和/或触发某特定动作的指令;同样,服务器101生成的任务数据可以用于在服务器101上存储和/或触发某特定动作的指令。
另外,在客户端102上生成随机数或任务数据时,执行生成动作的应用程序可以是只在客户端102上运行,或者也可以是在客户端102及服务器101同时运行。同样,在服务器101上生成随机数或任务数据时,执行生成动作的应用程序可以是只在服务器101上运行,或者也可以是在客户端102及服务器101上同时运行。
还需要注意的是,本发明的应用场景中,虽然此处和下面将本发明实施方式的动作描述为由客户端102或服务器101单独执行,但是这些动作也可以部分由客户端102执行、部分由服务器101执行。本发明在执行主体方面不受限制,只要执行了本发明实施方式所公开的动作即可。
示例性方法
下面结合图1的应用场景,参考图2~8来描述根据本发明示例性实施方式的用于应用程序中生成随机数的方法,以及用于应用程序中生成任务数据的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
参见图2,示出了本发明中应用程序中生成随机数的方法一实施例的流程图。在本实施例中,例如具体可以包括以下步骤:
S201、响应于生成随机数的指令,感测外界声音。
其中,生成随机数的指令,可以是由应用程序自动触发的,也可以是由用户在应用程序的操作界面上手动触发的。例如,可以在应用程序的操作界面上设置一个触发随机数生成的按键,当用户点击该按键的时候,则触发生成随机数的指令给应用程序。又如,可以在应用程序生成任务数据的过程中,当需要获取随机数时,则自动触发一个生成随机数的指令。
需要说明的是,对于外界声音的感测,如果应用程序是在内部具有外界声音的接收硬件的设备上运行时,可以通过启动该接收硬件来感测外界声音。例如,手机、平板电脑等移动终端内部具有麦克风,可以在响应到生成随机数的指令时开启麦克风接收外界声音。另外,如果应用程序是在内部不具有外界声音的接收硬件的设备上运行时,可以给应用程序运行所在的设备外接一个外界声音的接收设备,通过启动该接收设备并接收该接收设备基于该外界声音而发送的信号来感测外界声音。例如,台式机一般内部不具有能够接收外界声音的设备,则可以给台式机外接一个话筒,当响应到生成随机数的指令时,台式机可以启动话筒并接收话筒基于外界声音而传送来的信号,从而感测外界声音。
可以理解的是,外界声音表示的是应用程序运行所在设备之外的声音,“外界”是相对于设备内部而言的。
S202、基于所述外界声音的属性参数,确定所述随机数中各个数位的值,并以确定的各个数位的值组成所述随机数。
其中,外界声音的属性参数,可以是外界声音任意一种属性参数,例如表示外界声音大小的分贝数、表示外界声音频率的频率值等等。
需要说明的是,为了尽量保证随机数的随机性,一般是分别对随机数各个数位上的数值进行确定,再将各个数位上的数值组成随机数。其中,在确定随机数各个数位上的数值时,一种确定方式可以是先获取感测到的外界声音的属性参数,然后依据这一个属性参数按照预设的确定逻辑来依次确定各个数位上的数值。但是,由于这种确定方式是基于一个属性参数来确定所有数位上的数值,各个数位的数值之间的随机性不强,这也导致随机数存在被恶意破解的风险。因此,为了避免一个属性参数来确定所有数位上的数值而导致各个数位的数值之间随机性不强,另一种确定方式可以是依次确定各个数位上的数值且每个数位的数值基于当前感测到的外界声音的属性参数来确定,从而可以实现各个数位上的数值是分别由不同外界声音的属性参数来确定得到的,从而提高各个数位上的数值之间的随机性。
对于第二种确定随机数中各个数位的值的方式,具体地可以参见图3所示的流程,S202例如可以包括:
S301、从所述随机数的未确定数位中选取一个数位作为当前数位。
其中,未确定数位即表示没有确定数值的数位。当随机数的生成刚刚开始时,则该随机数中的所有数位都是未确定数位。
可以理解的是,为了算法实现的便捷,当前数位的选取可以按照一定的规律进行。例如,每一次选取的当前数位可以为随机数的未确定数位中最末位数位。例如,对于一个三位的随机数来说,当三个数位上的数值都未确定时,则当前数位为其个位;当个位上的数值已确定时,则当前数位为其十位;当十位和个位上的数值都已确定时,则当前数位为其百位。当然,当前数位的选取也可以是任意选取的,只要保证当前数位为未确定数位中的一个即可。
S302、获取当前感测得到的外界声音的属性参数作为当前参数。
需要说明的是,当前参数为当前感测得到的外界声音的属性参数。由于每个数位上的数值是分别确定的,各个数值的确定时间各不相同,所以每个数值在确定时都采用当前感测到的外界声音的属性参数,则可以实现基于不同的外界声音的属性参数来分别确定随机数中的各个数位的数值。
S303、基于所述当前参数,确定所述当前数位的数值。
其中,确定数值的方式,可以依据属性参数的种类来设计。例如,对于以分贝数作为属性参数的情况,可以将当前分贝数的个位数值作为当前数位的数值。需要说明的是,之所以选用当前分贝数的个位数值作为当前数位的数值,一方面是考虑到分贝数的个位数值的区间正好与随机数中各个数位的值的区间正好相当,都为0~9中的任意一个整数,另一方面是考虑到即使在外界声音大小的变化很小时分贝数的个位数值也会产生很大的变化,这样可以进一步提高随机数的随机性。
可以理解的是,在以当前分贝数的个位数值作为当前数位的数值的实施方式中,算法的实现上可以包括计算当前分贝数除以10的余数,然后将确定的余数作为当前数位的数值。
另外,在S303执行完毕以后,当前数位的数值被确定,则当前数位即成为已确定数位。其中,已确定数位即表示已确定数值的数位。
需要说明的是,在S303执行完成以后,需要根据已确定数值的数位数目与随机数中数位的数目两者之间的大小关系来选择进入执行S304或S305。
S304、响应于已确定数位的数目小于所述随机数中数位的数目,返回S301。
当已确定数位的数目小于随机数中数位的数目时,表明随机数中还有未知数值的数位,也即随机数的所有数位的数值还未确定完毕,因此返回S301进行对随机数中未知数值的数位进行确定。
S305、响应于已确定数位的数目等于所述随机数中数位的数目,以确定的各个数位的值按照各自所在数位组成所述随机数。
当已确定数位的数目等于随机数中数位的数目时,表明随机数中的所有数位的数值都已知,此时可以将各个数位的值按照各自所在数位组成随机数,从而完成随机数的生成过程。
可以理解的是,在以各个数位的值组成随机数的过程中,算法的实现上可以以各个数值与各自所在数位的基数相乘之后再相加来实现。例如,假设采用前述当前数位为随机数的未确定数位中最末位的实施方式,则在每次确定当前数位的数值时,都直接采用下式进行累加:
Y=Y+X*10N
其中,Y表示累加的数值,X表示当前数位的数值,N为当该当前数位作为已确定数位时已确定数位的数量。这样,在所有数位都确定完毕时,累加的数值Y即为各个数位的数值所组成的随机数。
接着返回图2。
在本实施例中,所生成的随机数可以在各种不同的应用场景下进行使用。在许多应用场景下,应用程序所需要的随机数并没有数值范围的要求。例如,某应用程序需要一个三位的随机数,当其对随机数的数值范围没有要求时,这个随机数可以是000~999之间的任意一个数。但是,在某些特定的应用场景下,应用程序所需要的随机数必须在某一个数值范围内,而只有生成随机数在这一数值范围内时,应用程序才可以使用这个随机数。例如,某应用程序需要一个三位的随机数,而其要求随机数不能大于256,则当生成的随机数大于256时,则应用程序就无法使用该随机数。为了适应这些对随机数有数值范围要求的应用场景,在本实施例的一种可选的实施方式中,在S202执行完成并生成了随机数之后,还可以响应于所述随机数的数值不属于预设的数值范围,返回执行S201,以便重新生成随机数。而对于不属于预设数值范围的随机数,则可以删除该随机数。
通过本实施例的实施方式,可以同时实现既降低恶意破解的风险又无需在设备内增加对***内部硬件进行监测的组件,从而能够使得在不对设备内部进行硬件改造的情况下应用程序保证以随机数组成的任务数据的安全性。
需要说明的是,应用程序中所生成的随机数,通常是用于进一步生成任务数据。在介绍了本发明中生成随机数的方法的实施方式之后,下面介绍本发明中生成任务数据的方法的实施方式。
参见图4,示出了本发明中应用程序中生成任务数据的方法一实施例的流程图。在本实施例中,例如具体可以包括以下步骤:
S401、响应于生成任务数据的请求指令,采用前述应用程序中生成随机数的方法实施例中任意一种实施方式来生成随机数,得到一系列随机数。
其中,生成任务数据的请求指令,可以是应用程序自动触发的,或者也可以是由用户在应用程序的操作界面上触发的。例如,在用户触发的实施方式中,在应用程序的操作界面上可以提供一个生成任务数据的按键,当用户点击这一按键时,则可以触发一个生成任务数据的请求指令。可以理解的是,操作界面上用于触发生成任务数据的请求指令的按键,可以是触发该任务数据所要完成的任务的触发按键。例如,在任务数据用于选取显示图标的应用场景中,当用户触发显示图标的触发按键时,则可以触发一个生成任务数据的请求指令,并在任务数据生成以后,按照该任务数据去选取显示图标并显示给用户。
需要说明的是,在某些应用场景下,用户需要对任务数据中所包括的随机数进行一定的选择,也即,用户需要看到任务数据中随机数生成的过程,并发现任务数据中所包括的随机数符合其要求的时候再确认生成任务数据。为了满足这些应用场景下用户的需求,一种生成随机数的方式可以是,先确定任务数据中需要的随机数个数,然后按照该随机数个数分别生成各个随机数并显示给用户,如果用户在预设的时间内未触发生成任务数据的确认指令,则再次按照该随机数个数分别生成各个随机数并显示给用户,以替换之前显示的随机数,直至用户触发生成任务数据的确认指令。此外,为了向用户提供更加动态有趣的显示效果,另一种生成随机数的方式可以是,在响应生成任务数据的请求指令时,一个一个地生成随机数,并向用户显示最新生成的、任务数据所需要的随机数个数的随机数。具体地,可见参见图5所示的流程,S401例如可以通过循环执行以下步骤来完成:
S501、采用前述应用程序中生成随机数的方法实施例中任意一种实施方式来生成一个随机数,作为当前随机数。
S502、将当前随机数确定为所述任务数据中已生成随机数。
S503、响应于所述任务数据中已生成随机数的个数未超过所述任务数据中需要的随机数个数,对所述任务数据中的各个已生成随机数按照生成时间排序并显示。
当任务数据中已生成随机数的个数未超过任务数据中需要的随机数个数时,表明任务数据中当前具有的随机数数量还未超过需求,而此时所有任务数据中的已生成随机数都需要保留。
对于显示效果来说,假设任务数据的显示方式如图6所示,a、b、c三个随机数显示格子用于分别显示一个随机数。当任务数据中已生成随机数的个数未超过任务数据中需要的随机数个数时,则a、b、c三个随机数显示格子中在S503执行完成之前会存在没有随机数的格子。假设S503执行之前格子a和b都没有随机数,则在S503执行完成以后,新生成的当前随机数被显示在格子b中,格子c中的随机数不变,格子a中依然没有显示随机数。
S504、响应于所述任务数据中已生成随机数的个数超过所述任务数据中需要的随机数个数,删除所述任务数据中生成时间最早的已生成随机数,并对所述任务数据中剩余的各个已生成随机数按照生成时间排序并显示。
当任务数据中已生成随机数的个数超过任务数据中需要的随机数个数时,表明任务数据中当前具有的随机数数量已超过需求,而此时需要删除任务数据中的已生成随机数。而为了体现动态显示效果,可以删除生成时间最早的已生成随机数。
对于显示效果来说,假设任务数据的显示方式如图6所示,a、b、c三个随机数显示格子用于分别显示一个随机数。当任务数据中已生成随机数的个数超过任务数据中需要的随机数个数时,则a、b、c三个随机数显示格子中在S504执行完成之前所有格子中都显示有随机数。假设S504执行之前所有格子中都显示有随机数,则在S504执行完成以后,新生成的当前随机数被显示在格子a中,格子b中的随机数则是原先显示在格子a中的随机数,格子c中的随机数则是原先显示在格子b中的随机数,而原先显示格子c中的随机数则不再显示。
接着返回图4。
S402、响应于生成任务数据的确认指令,以所述任务数据中需要的随机数个数作为获取数量,从所述一系列随机数中选取所述获取数量的随机数组成所述任务数据。
其中,生成任务数据的确认指令,可以是应用程序自动触发的,或者也可以是由用户在应用程序的操作界面上触发的。例如,在应用程序自动触发的实施方式中,可以是在已生成的随机数个数达到该任务数据中所需要的随机数的数目时自动触发。又如,在用户触发的实施方式中,在应用程序的操作界面上可以提供一个确认任务数据的按键,当用户点击这一按键时,则可以触发一个生成任务数据的确认指令。
可以理解的是,对于前述需要用户查看所生成的随机数来确认任务数据生成的实施方式中,用于生成任务数据的随机数可以是最新生成的随机数。例如,对于图5所示的实施方式,当已生成过的随机数个数超过任务数据中所需要的随机数个数时,由于生成时间较早的随机数已被删除,因此,在用户触发确认指令时,是以最新生成的那些随机数来组成任务数据的。
在本实施例中,任务数据生成方法的实施方式可以应用在各种不同的应用场景下。例如,在投注彩票的应用场景中,应用程序可以是用于用户投注彩票的客户端软件,一个任务数据可以是一注彩票,其中一个随机数可以是一注彩票中的一个号码。例如,当用户点击该客户端软件界面上随机投注的触发按键时,相当于触发生成任务数据的请求指令,该软件开始基于外界声音生成号码并显示在随机投注的显示界面上,如图7所示。当用户点击该显示界面上“就要这注号码”时,相当于触发生成任务数据的确认指令,则该软件可以将当前显示界面上的号码组成彩票,如图8所示,并在用户点击“立即投注”时,将彩票的号码组合发送至服务器,以完成彩票投注的过程。
通过本实施例的实施方式,可以同时实现既降低恶意破解的风险又无需在设备内增加对***内部硬件进行监测的组件,从而能够使得在不对设备内硬件进行改造的情况下应用程序保证以随机数组成的任务数据的安全性。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图9~13对本发明示例性实施方式的、用于应用程序中生成随机数的设备,以及用于应用程序中生成任务数据的设备进行描述。
参见图9,示例性示出了本发明中应用程序中生成随机数的设备一实施例的结构图。在本实施例中,所述设备例如具体可以包括:
外音感测模块901,用于响应于生成随机数的指令,感测外界声音;
随机数确定模块902,用于基于所述外界声音的属性参数,确定所述随机数中各个数位的值,并以确定的各个数位的值组成所述随机数。
其中,可选的,参见图10,示出了本发明实施例中随机数确定模块902一实施方式的结构图。其中,所述随机数确定模块902例如可以包括:
当前数位选取子模块1001,用于从所述随机数的未确定数位中选取一个数位作为当前数位;
当前参数获取子模块1002,用于获取当前感测得到的外界声音的属性参数作为当前参数;
当前数位数值确定子模块1003,用于基于所述当前参数,确定所述当前数位的数值;
返回当前数位选取触发子模块1004,用于响应于已确定数位的数目小于所述随机数中数位的位数,返回触发所述当前数位选取子模块1001;
随机数组成子模块1005,用于响应于已确定数位的数目等于所述随机数中数位的数目,以确定的各个数位的值组成所述随机数。
其中,可选的,所述属性参数为所述外界声音的分贝数,和/或,所述当前数位为所述随机数的未确定数位中最末位数位。
参见图11,示出了本发明中应用程序中生成随机数的设备又一实施例的结构图。在本实施例中,所述设备除了包括图9所示的所有结构外,还可以包括:
重新生成随机数触发模块1101,用于响应于所述随机数的数值不属于预设的数值范围,返回触发所述外音感测模块901。
参见图12,示出了本发明中应用程序中生成任务数据的设备一实施例的结构图。在本实施例中,所述设备例如具体可以包括:
随机数生成模块1201,用于响应于生成任务数据的请求指令,采用前述应用程序中生成随机数的方法实施例中任意一种实施方式生成随机数,得到一系列随机数;
任务数据组成模块1202,用于响应于生成任务数据的确认指令,以所述任务数据中需要的随机数个数作为获取数量,从所述一系列随机数中选取所述获取数量的随机数组成所述任务数据。
其中,可选的,参见图13,示出了本发明实施例中随机数生成模块1201一实施方式的结构图。其中,所述随机数生成模块1301可以包括:
循环触发子模块1301,用于在响应于生成任务数据的请求指令、直接添加随机数子模块1304执行完成或删除添加随机数子模块1305执行完成的情况下,触发所述当前随机数生成子模块1302;
当前随机数生成子模块1302,用于采用前述应用程序中生成随机数的方法实施例中任意一种实施方式来生成一个随机数,作为当前随机数;
已生成随机数确定子模块1303,用于将当前随机数确定为所述任务数据中已生成随机数;
直接添加随机数子模块1304,用于响应于所述任务数据中已生成随机数的个数未超过所述任务数据中需要的随机数个数,对所述任务数据中的各个已生成随机数按照生成时间排序并显示;
删除添加随机数子模块1305,用于响应于所述任务数据中已生成随机数的个数超过所述任务数据中需要的随机数个数,删除所述任务数据中生成时间最早的已生成随机数,并对所述任务数据中剩余的各个已生成随机数按照生成时间排序并显示。
其中,可选的,一个所述任务数据为一注彩票,一个所述随机数为所述一注彩票中的一个号码。
通过本发明的设备实施例,可以同时实现既降低恶意破解的风险又无需在设备内增加对***内部硬件进行监测的组件,从而能够使得在不对设备内部进行硬件改造的情况下应用程序保证以随机数组成的任务数据的安全性。
应当注意,尽管在上文详细描述中提及了用于应用程序中生成随机数的设备以及用于应用程序中生成任务数据的设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (8)

1.一种应用程序中生成任务数据的方法,包括:
响应于生成任务数据的请求指令,采用应用程序中生成随机数的方法生成随机数,得到一系列随机数;
响应于用户触发的生成任务数据的确认指令,以所述任务数据中需要的随机数个数作为获取数量,从所述一系列随机数中选取最新生成的所述获取数量的随机数组成所述任务数据;
其中,所述响应于生成任务数据的请求指令,采用应用程序中生成随机数的方法生成随机数,得到一系列随机数,包括循环执行以下步骤:
采用所述应用程序中生成随机数的方法生成一个随机数,作为当前随机数;
将当前随机数确定为所述任务数据中已生成随机数;
响应于所述任务数据中已生成随机数的个数未超过所述任务数据中需要的随机数个数,对所述任务数据中的各个已生成随机数按照生成时间排序并显示,或者,响应于所述任务数据中已生成随机数的个数超过所述任务数据中需要的随机数个数,删除所述任务数据中生成时间最早的已生成随机数,并对所述任务数据中剩余的各个已生成随机数按照生成时间排序并显示;
其中,所述应用程序中生成随机数的方法,包括:
响应于生成随机数的指令,感测外界声音;
基于所述外界声音的属性参数,确定所述随机数中各个数位的值,并以确定的各个数位的值组成所述随机数;
其中,所述基于所述外界声音的属性参数,确定所述随机数中各个数位的值,并以确定的各个数位的值组成所述随机数,包括:
A)从所述随机数的未确定数位中选取一个数位作为当前数位;
B)获取当前感测得到的外界声音的属性参数作为当前参数;
C)基于所述当前参数,确定所述当前数位的数值;
D)响应于已确定数位的数目小于所述随机数中数位的数目,返回执行步骤A),或者,响应于已确定数位的数目等于所述随机数中数位的数目,以确定的各个数位的值组成所述随机数;
其中,所述属性参数为所述外界声音的分贝数,所述当前数位的数值为所述当前参数的个位数值。
2.根据权利要求1所述的方法,其中,所述当前数位为所述随机数的未确定数位中最末位数位。
3.根据权利要求1所述的方法,还包括:
响应于所述随机数的数值不属于预设的数值范围,返回执行所述响应于生成随机数的指令,感测外界声音,以便重新生成随机数。
4.根据权利要求1所述的方法,其中,一个所述任务数据为一注彩票,一个所述随机数为所述一注彩票中的一个号码。
5.一种应用程序中生成任务数据的设备,包括:
随机数生成模块,用于响应于生成任务数据的请求指令,采用应用程序中生成随机数的设备生成随机数,得到一系列随机数;
任务数据组成模块,用于响应于用户触发的生成任务数据的确认指令,以所述任务数据中需要的随机数个数作为获取数量,从所述一系列随机数中选取最新生成的所述获取数量的随机数组成所述任务数据;
其中,所述随机数生成模块包括:
循环触发子模块,用于在响应于生成任务数据的请求指令、直接添加随机数子模块执行完成或删除添加随机数子模块执行完成的情况下,触发当前随机数生成子模块;
当前随机数生成子模块,用于采用所述应用程序中生成随机数的设备生成一个随机数,作为当前随机数;
已生成随机数确定子模块,用于将当前随机数确定为所述任务数据中已生成随机数;
直接添加随机数子模块,用于响应于所述任务数据中已生成随机数的个数未超过所述任务数据中需要的随机数个数,对所述任务数据中的各个已生成随机数按照生成时间排序并显示;
删除添加随机数子模块,用于响应于所述任务数据中已生成随机数的个数超过所述任务数据中需要的随机数个数,删除所述任务数据中生成时间最早的已生成随机数,并对所述任务数据中剩余的各个已生成随机数按照生成时间排序并显示;
其中,所述应用程序中生成随机数的设备,包括:
外音感测模块,用于响应于生成随机数的指令,感测外界声音;
随机数确定模块,用于基于所述外界声音的属性参数,确定所述随机数中各个数位的值,并以确定的各个数位的值组成所述随机数;
其中,所述随机数确定模块包括:
当前数位选取子模块,用于从所述随机数的未确定数位中选取一个数位作为当前数位;
当前参数获取子模块,用于获取当前感测得到的外界声音的属性参数作为当前参数;
当前数位数值确定子模块,用于基于所述当前参数,确定所述当前数位的数值;
返回当前数位选取触发子模块,用于响应于已确定数位的数目小于所述随机数中数位的数目,返回触发所述当前数位选取子模块;
随机数组成子模块,用于响应于已确定数位的数目等于所述随机数中数位的数目,以确定的各个数位的值组成所述随机数;
其中,所述属性参数为所述外界声音的分贝数,所述当前数位的数值为所述当前参数的个位数值。
6.根据权利要求5所述的设备,其中,所述当前数位为所述随机数的未确定数位中最末位数位。
7.根据权利要求5所述 的设备,还包括:
重新生成随机数触发模块,用于响应于所述随机数的数值不属于预设的数值范围,返回触发所述外音感测模块。
8.根据权利要求5所述的设备,其中,一个所述任务数据为一注彩票,一个所述随机数为所述一注彩票中的一个号码。
CN201310718567.8A 2013-12-23 2013-12-23 一种应用程序中生成随机数的方法和设备 Active CN103617020B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310718567.8A CN103617020B (zh) 2013-12-23 2013-12-23 一种应用程序中生成随机数的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310718567.8A CN103617020B (zh) 2013-12-23 2013-12-23 一种应用程序中生成随机数的方法和设备

Publications (2)

Publication Number Publication Date
CN103617020A CN103617020A (zh) 2014-03-05
CN103617020B true CN103617020B (zh) 2018-03-23

Family

ID=50167723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310718567.8A Active CN103617020B (zh) 2013-12-23 2013-12-23 一种应用程序中生成随机数的方法和设备

Country Status (1)

Country Link
CN (1) CN103617020B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317551A (zh) * 2014-10-17 2015-01-28 北京德加才科技有限公司 一种超高安全的真随机数生成方法及真随机数生成***
CN104407838B (zh) * 2014-12-25 2018-11-27 网易乐得科技有限公司 一种生成随机数及随机数组的方法和设备
CN105426158B (zh) * 2015-12-09 2018-05-01 福州瑞芯微电子股份有限公司 一种随机数产生方法及其装置
CN106484363A (zh) * 2016-10-10 2017-03-08 宁波三星医疗电气股份有限公司 一种电表表计用于产生随机数的方法
CN108804011B (zh) * 2018-06-06 2021-08-03 北京信任度科技有限公司 一种基于交互式曲线的随机数产生方法及产生***
CN109634560B (zh) * 2018-12-13 2020-09-22 泰康保险集团股份有限公司 随机数生成方法、装置及存储介质
CN111026655B (zh) * 2019-11-29 2023-06-30 深圳震有科技股份有限公司 一种***稳定性测试方法、终端及存储介质
CN111914271B (zh) * 2020-07-09 2023-04-18 清远职业技术学院 一种面向于大数据发布的隐私保护***及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2013802C1 (ru) * 1991-11-05 1994-05-30 Юрий Иванович Хабаров Генератор псевдослучайных последовательностей двоичных чисел
US6831980B1 (en) * 1996-10-09 2004-12-14 Activcard Ireland Limited Random number generator and method for same
CN1856760A (zh) * 2003-04-21 2006-11-01 Vg游戏有限公司 从天文事件生成随机数的***和方法
CN1879079A (zh) * 2003-11-18 2006-12-13 Atmel格勒诺布尔公司 随机二进制序列发生器
CN102629397A (zh) * 2012-03-16 2012-08-08 江苏新彩软件有限公司 一种基于三轴陀螺仪的手机彩票随机选号方法
CN102637122A (zh) * 2011-09-14 2012-08-15 中国科学院空间科学与应用研究中心 基于物理噪声的奇偶性生成真随机数的方法及其***
CN103294447A (zh) * 2013-05-30 2013-09-11 华为技术有限公司 一种生成随机数的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194271A (zh) * 2010-03-16 2011-09-21 李代甫 一种计算机选号的方法、装置及其应用

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2013802C1 (ru) * 1991-11-05 1994-05-30 Юрий Иванович Хабаров Генератор псевдослучайных последовательностей двоичных чисел
US6831980B1 (en) * 1996-10-09 2004-12-14 Activcard Ireland Limited Random number generator and method for same
CN1856760A (zh) * 2003-04-21 2006-11-01 Vg游戏有限公司 从天文事件生成随机数的***和方法
CN1879079A (zh) * 2003-11-18 2006-12-13 Atmel格勒诺布尔公司 随机二进制序列发生器
CN102637122A (zh) * 2011-09-14 2012-08-15 中国科学院空间科学与应用研究中心 基于物理噪声的奇偶性生成真随机数的方法及其***
CN102629397A (zh) * 2012-03-16 2012-08-08 江苏新彩软件有限公司 一种基于三轴陀螺仪的手机彩票随机选号方法
CN103294447A (zh) * 2013-05-30 2013-09-11 华为技术有限公司 一种生成随机数的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"智能手机彩票客户端交互软件设计与开发";吴林;《中国优秀硕士论文全文数据库 信息科技辑》;20130115(第2013/01期);第49页第4.2节 *

Also Published As

Publication number Publication date
CN103617020A (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
CN103617020B (zh) 一种应用程序中生成随机数的方法和设备
CN106973384B (zh) 一种无线保真Wi-Fi连接方法及移动终端
US10963545B2 (en) Authentication via typing cadence, gestures, and QR codes
CN104579658B (zh) 一种身份验证方法和装置
CN108052442A (zh) 一种引擎测试方法、终端和计算机可读存储介质
CN108228444A (zh) 一种测试方法和装置
CN107678798A (zh) 一种sim卡快速初始化方法、装置及计算机可读存储介质
CN104915588B (zh) 电子设备的隐私保护方法及装置
CN106255102A (zh) 一种终端设备的鉴定方法及相关设备
CN107783906A (zh) 测试方法、装置及存储介质
CN107741902A (zh) 程序应用检测方法及程序应用检测装置
CN104700040A (zh) 一种权限控制方法和装置
CN105988925A (zh) 一种应用程序启动耗时的测试方法、装置及***
JP5841442B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN104407838B (zh) 一种生成随机数及随机数组的方法和设备
CN106372488B (zh) 一种设备控制方法及装置
CN104102560B (zh) ***性能测试的方法及装置
CN106788993A (zh) 一种加密通信方法、装置及电子设备
CN110022327B (zh) 一种短信认证测试方法和装置
CN108062401A (zh) 应用推荐方法、装置及存储介质
CN107786412A (zh) 一种游戏虚拟专用网络的通信方法及相关产品
CN104978981B (zh) 一种音乐随机播放方法及装置
CN114461183A (zh) 基于用户标签的ai模型快速组合的方法、装置及存储介质
CN109413119A (zh) 一种网页分享的方法以及相关设备
CN111291337B (zh) 一种创建关联关系的方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100190, Zhongguancun 1 East Road, Beijing, Haidian District Tsinghua Science and Technology Park, building 8, building 21, enlightenment technology building, A

Applicant after: NetEase Lede Technology Co., Ltd.

Address before: 310053, B4088, building 4, six and 368 Road, Binjiang District, Zhejiang, Hangzhou

Applicant before: Lede Technology Co., Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant