CN109783058B - 用户身份码生成方法、装置、计算机设备及存储介质 - Google Patents
用户身份码生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109783058B CN109783058B CN201811583551.XA CN201811583551A CN109783058B CN 109783058 B CN109783058 B CN 109783058B CN 201811583551 A CN201811583551 A CN 201811583551A CN 109783058 B CN109783058 B CN 109783058B
- Authority
- CN
- China
- Prior art keywords
- random number
- array
- random
- standby
- value
- 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
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种用户身份码生成方法、用户身份码生成装置、计算机设备及计算机可读存储介质。所述方法根据分批次生成的随机数的数值确定数组中与每个随机数对应的数组元素,作为存放数组元素;将随机数存放至存放数组元素,并作为备用随机数存储至随机备用库中;当接收到用户身份码生成请求时,从随机备用库中选取备用随机数作为用户的用户身份码。本方法中在新生成随机数时,只需要判断随机数对应的数组元素的元素标识值,就可以判断该随机数是否之前已经生成过,数据运算量小,运算速度快数组中的随机数不重复,同时随机数的生成和用户身份码的选择均是随机的,保证了用户身份码的随机性和无规律性,提升了身份识别码的安全度。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种用户身份码生成方法、用户身份码生成装置、计算机设备及计算机可读存储介质。
背景技术
目前婚恋交友已经是十分常见了,各个婚恋网站是都有大量的会员,用户只需要输入注册信息,验证通过后,即可生成用户ID。
然而,相关技术中,通常用户ID的生成是顺序生成的,例如1001、1002、1003,用户注册后可根据规律清楚的得知下一个注册用户的ID,这种ID生成方式安全度较低,很容易被黑客利用这种规律对系统或用户进行攻击。
发明内容
本发明的主要目的在于提供一种用户身份码生成方法、用户身份码生成装置、计算机设备及计算机可读存储介质,以解决现有技术中身份识别码的安全度较低的技术问题。
为实现上述目的,本发明提供的用户身份码生成方法包括如下步骤:
生成至少一个数组,每个所述数组中包含有多个数组元素,每个数组元素包含有对应的元素标识值以及所述数组元素在所述数组中对应的位置编码;
根据预设更新时间生成预设数量的随机数;
根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素;
将所述随机数存放至所述存放数组元素,并作为备用随机数存储至随机备用库中;
当接收到用户身份码生成请求时,从所述随机备用库中选取所述备用随机数作为所述用户的用户身份码。
进一步地,
其中,所述每个数组元素的所述元素标识值的初始值为第一数值,所述第一数值用于指示所述数组元素对应的随机数未生成;
在将所述随机数存放至所述存放数组元素之后,还包括:
将所述存放数组元素对应的元素标识值更新为第二数值,所述第二数值用于指示所述存放数组元素对应的随机数已经生成。
进一步地,所述根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素的步骤之后,还包括:
当根据所述随机数的数值确定的对应数组元素的元素标识值为所述第二数值时,删除所述随机数,进入所述根据预设更新时间生成预设数量的随机数的步骤,直到生成的所述随机数中,被存放至所述存放数组元素并作为所述备用随机数的数量达到所述预设数量。
进一步地,所述根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素的步骤之后,还包括:
当根据所述随机数的数值确定的对应数组元素的元素标识值为所述第一数值时,进入所述将所述随机数存放至所述存放数组元素,并作为备用随机数存储至随机备用库中的步骤。
进一步地,所述根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素的步骤,包括:
查找与所述随机数的数值相同的位置编码;
将所述数值相同的位置编码对应的数组元素作为存放数组元素。
进一步地,所述方法还包括步骤:
获取所述随机备用库中存储的所述备用随机数的数量;
当所述数量小于预设阈值时,进入所述根据预设更新时间生成预设数量的随机数的步骤。
进一步地,所述方法还包括:
将所述随机备用库中存储的所述备用随机数定期备份存储至备用数据库;
当接收到用户身份码生成请求,从所述随机备用库中选取所述备用随机数失败时,从所述备用数据库中选取所述备用随机数作为所述用户的用户身份码。
本发明还提供一种用户身份码生成装置,包括:
数组生成模块,用于生成至少一个数组,每个所述数组中包含有多个数组元素,每个数组元素包含有对应的元素标识值以及所述数组元素在所述数组中对应的位置编码;
随机数生成模块,用于根据预设更新时间生成预设数量的随机数;
数组对应模块,用于根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素;
存储模块,用于将所述随机数存放至所述存放数组元素,并作为备用随机数存储至随机备用库中;
身份码分配模块,用于当接收到用户身份码生成请求时,从所述随机备用库中选取所述备用随机数作为所述用户的用户身份码。
本发明还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任一项所述用户身份码生成方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一项所述用户身份码生成方法的步骤。
本发明的技术方案中,根据分批次生成的随机数的数值确定数组中与每个随机数对应的数组元素,作为存放数组元素;当根据随机数的数值确定的对应数组元素的元素标识值为第一数值时,将随机数存放至存放数组元素,并作为备用随机数存储至随机备用库中;将存放数组元素对应的元素标识值更新为第二数值;当接收到用户身份码生成请求时,从随机备用库中选取备用随机数作为用户的用户身份码。在新生成随机数时,只需要判断随机数对应的数组元素的元素标识值,就可以判断该随机数是否之前已经生成过,无需对新生成的随机数与已生成的随机数进行遍历匹配,数据运算量小,运算速度快;其次,针对元素标识值为第二数值时,丢弃该重复生成的随机数,保证了存入随机备用库中的被确认的备用随机数都是唯一的,不会存在重复;同时随机数的生成和用户身份码的选择均是随机的,保证了用户身份码的随机性和无规律性,降低了黑客利用用户身份码的规律对系统或用户进行攻击的可能,提升了身份识别码的安全度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明一个实施例中用户身份码生成方法的应用场景图;
图2为本发明一实施例中用户身份码生成方法的流程示意图;
图3为本发明一实施例中用户身份码生成方法步骤S30的流程示意图;
图4为本发明另一实施例中用户身份码生成方法的流程示意图;
图5为本发明一实施例中用户身份码生成方法中在将随机数作为备用随机数存储至随机备用库中的步骤之后的流程示意图;
图6为本发明一实施例中用户身份码生成方法中在将随机数作为备用随机数存储至随机备用库中的步骤之后的流程示意图;
图7为本发明一实施例中的计算机设备的结构示意图;
图8为本发明一实施例中的用户身份码生成装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本申请各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本申请提供的用户身份码生成方法,可以应用于如图1所示的应用环境中。其中,终端10通过网络与后台服务器20通过网络进行通信。其中,不同的用户可以通过各自的终端设备10上安装的APP或者网站向后台服务器20发起注册请求,后台服务器20根据本发明中的用户身份码生成方法为用户分配用户身份码。用户可以使用用户身份码和注册时设置的登录密码,进入并登录社交平台的后台服务器20。其中,终端10可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,后台服务器20可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
请参阅图2,在一个实施例中,提供一种用户身份码生成方法,以该方法应用于图1中的后台服务器20为例进行说明,包括如下步骤:
步骤S10,生成至少一个数组,每个数组中包含有多个数组元素,每个数组元素包含有对应的元素标识值以及数组元素在数组中对应的位置编码;其中,每个数组元素的元素标识值的初始值为第一数值,第一数值用于指示数组元素对应的随机数未生成。
其中,数组是由多个数组元素组成,每个数组元素可以存放一个数值。每个数组元素还包含有对应的元素标识值以及数组元素在数组中对应的位置编码。具体的,例如,一个数组A={A0,A1,A2,A3……An},数组A中包含n个数组元素;其中,第i个数组元素Ai包含有对应的元素标识值以及数组元素Ai在数组中对应的位置编码i。数组元素Ai的初始值记录为第一数值,用于指示数组元素Ai对应的随机数未生成,具体在后述步骤中详述。数组元素Ai还可以存放一个数值,在本实施例中,数值为后述步骤中的随机数。
步骤S20,根据预设更新时间生成预设数量的随机数。
预设的更新时间是指预先设定的生成随机数的时间,预设的更新时间可以是每天的固定时间,例如,考虑到网速占用情况,可以在每天晚上的某个时间;也可以是每隔两天或者每周的一个固定时间。进一步地,预设的更新时间的周期性间隔可以是均匀间隔的,也可以是不均匀间隔的,例如预设的更新时间的周期性间隔为动态调整的。
进一步地,在一个实施例中,随机数可以为预设进制数值,例如10进制,16进制等;随机数的数值大小可以是任意的,也可以是小于一个预设的阈值。该阈值可以是1000、1万、10万、1百万、1亿、10亿、10亿到20亿之间的一个数值,也可以是更小或者更大的任意数值。其中,每次生成的多个随机数的个数可以是相同的,也可以是不同的。
在步骤S20中,可以分批次生成的多个随机数,减小内存存储器和磁盘存储器的占用空间。
步骤S30,根据随机数的数值确定数组中与每个随机数对应的数组元素,作为存放数组元素。
其中,每个随机数根据自身的数值大小与数组中的某一个数组元素是对应的,该数组元素被定义为该随机数对应的存放数组元素;并且,该随机数可以被存放于对应的存放数组元素内。也就是说,通过将随机数存储在对应的存放数组元素中;后续只需要对数组中的数组元素进行查询,就可以得到数组元素中的存放的随机数。例如,通过对存放有随机数的存放数组元素的元素标识值进行标记,就可以快速的查询找找确定哪些数组元素被确定为存放数组元素,并存储了随机数的,即可以知道哪些随机数是曾经生成过了的。
在步骤S30中,每个随机数根据自身的数值大小与数组中的某一个数组元素是对应的,每个随机数与数组中的数组元素的对应方式可以是预先设置的。例如,具有随机数的数值相同的位置编码的数组元素与随机数相对应。
具体的,当根据随机数的数值确定数组中与每个随机数对应的数组元素后,将对应的数组元素作为此随机数对应的存放数组元素,后续可以将该随机数存放在此数组元素。
进一步地,请结合图3,在一个实施例中,步骤S30可以包括:
步骤S301,查找与随机数的数值相同的位置编码。
步骤S302,将数值相同的位置编码对应的数组元素作为存放数组元素。
在本实施例中,数组的个数为一个,随机数与位置编码采用相同的进制。根据随机数的数值,查找到与随机数的数值相同的位置编码,然后将该位置编码对应的数组元素作为存放数组元素。
在另一个实施例中,数组中数组元素的位置编码和随机数采用的是不同的进制的,在步骤S30中,根据随机数的数值确定数组中与每个随机数对应的数组元素,可以是将数组中的位置编码转换为与随机数相同进制的位置编码后,将与随机数的数值相同的转换后的位置编码对应的数组元素作为存放数组元素。
步骤S41,当根据随机数的数值确定的对应数组元素的元素标识值为第一数值时,将随机数存放至存放数组元素,并作为备用随机数存储至随机备用库中。
步骤S42,将存放数组元素对应的元素标识值更新为第二数值,第二数值用于指示存放数组元素对应的随机数已经生成。
其中,由于元素标识值的初始值为第一数值,当根据随机数的数值确定的对应数组元素的元素标识值为第一数值时,表示该随机数对应的数组元素仍处于初始状态,尚未进行过随机数的存放,也就是说该随机数也是第一次出现,则可以通过步骤S41,将随机数存放至存放数组元素,并作为备用随机数存储至随机备用库中;在将随机数存放至存放数组元素之后,可以通过步骤S42,将存放数组元素对应的元素标识值更新为第二数值,第二数值用于指示存放数组元素对应的随机数已经生成。
例如,在一实施例中,第一数值设置为“0”,第二数值设置为“1”;当当根据随机数X的数值确定的对应数组元素的元素标识值为0时,表示该随机数X是第一次出现,将随机数X存放至存放数组元素,并作为备用随机数存储至随机备用库中;然后将存放数组元素对应的元素标识值更新为1;若下一次再次生成同样的随机数X时,根据随机数X的数值确定的对应数组元素的元素标识值则为1,此时,则可以直接知道随机数X之前已经生成过了。
也就是说,通过步骤S41和步骤S42,根据元素标识值可以直接判断出数组元素对应的随机数已经生成,假设在步骤S20中再次生成同样的随机数时,在根据随机数的数值确定对应数组元素的元素标识值时,若元素标识值为第一数值时,表示该随机数是第一次出现,若元素标识值为第二数值时,表示该随机数已经生成过。在更新生成随机数时,无需将随机数与随机备用库中存储的备用随机数进行遍历匹配,直接通过对与随机数对应的存放数组元素的元素标识值进行查询与识别,就可以快速的查询找找确定随机数是否曾经生成过,查询速度快,计算量小。
具体的,随机备用库的存储方式可以采用基于redis的数据库的形式存储在内存存储器中。
步骤S50,当接收到用户身份码生成请求时,从随机备用库中选取备用随机数作为用户的用户身份码。
具体的,每次接收到用户发起的用户身份码生成请求时,直接从随机备用库中选取备用随机数作为用户的用户身份码,用户身份码不会重复,也不存在任何规律可循。
在本实施例中,根据分批次生成的随机数的数值确定数组中与每个随机数对应的数组元素,作为存放数组元素;当根据随机数的数值确定的对应数组元素的元素标识值为第一数值时,将随机数存放至存放数组元素,并作为备用随机数存储至随机备用库中;将存放数组元素对应的元素标识值更新为第二数值;当接收到用户身份码生成请求时,从随机备用库中选取备用随机数作为用户的用户身份码。在新生成随机数时,只需要判断随机数对应的数组元素的元素标识值,就可以判断该随机数是否之前已经生成过,无需对新生成的随机数与已生成的随机数进行遍历匹配,数据运算量小,运算速度快;同时随机数的生成和用户身份码的选择均是随机的,保证了用户身份码的随机性和无规律性,降低了黑客利用用户身份码的规律对系统或用户进行攻击的可能,提升了身份识别码的安全度。
进一步地,在上述实施例中,步骤S30之后,还可以包括:当根据随机数的数值确定的对应数组元素的元素标识值为第二数值时,删除随机数,进入根据预设更新时间生成预设数量的随机数的步骤,直到备用随机数的数量达到预设数量。
具体的,在步骤S30中根据随机数的数值确定数组中与每个随机数对应的数组元素后,进一步根据随机数对应数组元素的元素标识值的不同,执行不同的步骤。
其中,当根据随机数的数值确定的对应数组元素的元素标识值为第二数值时,表示该随机数已经生成过,删除该随机数。这样一来,步骤S20中根据预设更新时间生成的预设数量的随机数的总数量会减少,剩下的随机数的数量已经不能达到预设数量;此时,重新进入步骤S20中根据预设更新时间生成预设数量的随机数的步骤,重新对新生成的随机数匹配数组中对应的存放数组元素,当新生成的随机数对应的存放数组元素的元素标识值均为第一数值时,此时不会删除任何新生成的随机数,确认的备用随机数的数量即为新生成的预设数量的随机数的数量;若仍然存在新生成的随机数对应的存放数组元素的元素标识值均为第二数值的情况,在此重新进入步骤S20中根据预设更新时间生成预设数量的随机数的步骤,如此反复,直至新生成的随机数对应的存放数组元素的元素标识值均为第一数值时,即确认的备用随机数的数量为新生成的预设数量的随机数的数量为止。
通过针对元素标识值为第二数值时,丢弃该重复生成的随机数,保证了存入随机备用库中的被确认的备用随机数都是唯一的,不会存在重复;同时保证每次均可以产生预设数量的备用随机数,防止随机备用库的备用随机数数量不足。
进一步地,请参考图4,在一个实施例中提供了一种用户身份码生成方法,包括如下步骤:
步骤S401,生成至少一个数组,每个数组中包含有多个数组元素,每个数组元素包含有对应的元素标识值以及数组元素在数组中对应的位置编码。
为了方便理解,可将本实施例中的用户身份码生成方法中的随机数是首次生成的。其中,数组是由多个数组元素组成,每个数组元素可以存放一个数值。每个数组元素还包含有对应的元素标识值以及数组元素在数组中对应的位置编码。
步骤S402,根据预设更新时间生成预设数量的随机数。
步骤S403,根据随机数的数值确定数组中与每个随机数对应的数组元素,作为存放数组元素。
具体的,可以根据随机数的数值,查找到与随机数的数值相同的位置编码,然后将该位置编码对应的数组元素作为存放数组元素。
步骤S404,将随机数存放至存放数组元素,并作为备用随机数存储至随机备用库中。
在本实施例中,由于是首次生成随机数,也就是说,随机数对应的数组元素的元素标识值均为初始值,数组元素也处于初始状态,尚未进行过随机数的存放。此时,将随机数存放至存放数组元素,并作为备用随机数存储至随机备用库中,以供后续生成用户身份码时进行提取。
进一步地,在步骤S404之后,可以对存放数组元素的元素标识值进行更新,例如从初始的第一数值更新为第二数值,从而使得元素标识值作为随机数是否重复的判断依据。
步骤S405,当接收到用户身份码生成请求时,从随机备用库中选取备用随机数作为用户的用户身份码。
在本实施例中,当需要构建一个可以直接从中提取不重复的备用随机数作为用户身份码,备用随机数的生成和存取速度快的随机备用库时,通过先生成一个或多数组,然后针对生成的随机数,根据随机数的数值确定数组中与每个随机数对应的数组元素,作为存放数组元素,将随机数存放至存放数组元素,并作为备用随机数存储至随机备用库中;备用随机数的生成时,直接通过对与随机数对应的存放数组元素的元素标识值进行查询与识别,就可以快速的查询找找确定随机数是否曾经生成过,可以快速的确定生成的随机数是否是可以被确定为不重复的备用随机数存储随机备用库,数据运算量小,计算速度快;同时,当接收到用户身份码生成请求时,直接从随机备用库中选取备用随机数作为用户的用户身份码。
进一步地,请参考图5,在一个实施例中,在将随机数作为备用随机数存储至随机备用库中的步骤之后,还可以包括步骤:
步骤S501,获取随机备用库中存储的备用随机数的数量。
步骤S502,当数量小于预设阈值时,进入根据预设更新时间生成预设数量的随机数的步骤。
在本实施例中,生成多个随机数的触发条件不仅仅包括到达预设的更新时间,还可以根据随机备用库中存储的备用随机数的数量来进行触发。从而可以防止用户注册量突增的情况,导致的随机备用库中存储的备用随机数的个数不足的情况。
具体的,首先获取随机备用库中存储的备用随机数的数量,通过设置一个预设阈值,判断随机备用库中存储的备用随机数的数量是否达到预设阈值,当数量小于预设阈值时,确认为随机备用库中存储的备用随机数的个数不足,进入根据预设更新时间生成预设数量的随机数的步骤。
进一步地,请参考图6,在一个实施例中,在将随机数作为备用随机数存储至随机备用库中的步骤之后,还可以包括步骤:
步骤S601,将随机备用库中存储的备用随机数定期备份存储至备用数据库。
在一实施例中,备用数据库可以是存储在非易失性内存存储器中,也可以是存储在本地磁盘存储器/外部存储器(云服务器、网络存储器等)中,还可以是先存储在内存存储器中然后再备份至本地磁盘存储器/外部存储器中。备用数据库的数据结构可以采用与随机备用库同样的数据结构。通过对随机备用库进行定期备份至非易失性的内存或者外部存储器上,可以随时获取历史的数据,并且防备数据的突然丢失。
步骤S602,当接收到用户身份码生成请求,从随机备用库中选取备用随机数失败时,从备用数据库中选取备用随机数作为用户的用户身份码。
其中,从随机备用库中选取备用随机数失败可以是后台服务器因为断电、硬件故障、系统出错、数据库锁死等情况引起的宕机情况,导致存储在内存存储器中的随机备用库中的备用随机数删除,而无法从随机备用库中选取备用随机数;也可以是内存存储器故障、缓存数据出错等情况引起的从随机备用库中选取备用随机数失败。
具体的,当接收到用户身份码生成请求,从随机备用库中选取备用随机数失败时,可以从本地磁盘存储器/外部存储器中备份的备用数据库中读取备用随机数,将备用数据库中的备用随机数恢复到随机备用库中,然后选取备用随机数作为用户的用户身份码。
从而保证即使因为计算机系统宕机或作者断电出错等原因导致的随机备用库中的随机数丢失,不会影响用户身份码的分配。
如图7所示,本发明还提供一种计算机设备,计算机设备可以包括:存储器71、处理器72、以及电源74等部件。本领域技术人员可以理解,图7中示出的结构并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置;例如,在图7示出的示例中,计算机设备还包括通信单元75。
存储器71可用于存储软件程序以及各种数据。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器72是计算机设备7的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器71内的软件程序和/或模块,以及调用存储在存储器71内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。处理器72可包括一个或多个处理单元;优选的,处理器72可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器72中。
在一实施例中,计算机设备还包括存储在存储器71上并可在处理器72上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例的用户身份码生成方法的步骤。
其中,计算机设备可以是移动终端、计算机、服务器、网关设备、数据处理设备。
需要说明的是,由于计算机设备的处理器72执行计算机程序时实现上述的用户身份码生成方法的步骤,因此上述方法的所有实施例均适用于该计算机设备,且均能达到相同或相似的有益效果。
请一并结合图8,本发明还提供一种用户身份码生成装置800,包括:
数组生成模块801,用于生成至少一个数组,每个数组中包含有多个数组元素,每个数组元素包含有对应的元素标识值以及数组元素在数组中对应的位置编码;
随机数生成模块802,用于根据预设更新时间生成预设数量的随机数;
数组对应模块803,用于根据随机数的数值确定数组中与每个随机数对应的数组元素,作为存放数组元素;
存储模块804,用于将随机数存放至存放数组元素,并作为备用随机数存储至随机备用库中;
身份码分配模块805,用于当接收到用户身份码生成请求时,从随机备用库中选取备用随机数作为用户的用户身份码。
进一步地,如图8所示,在一个实施例中,每个数组元素的元素标识值的初始值为第一数值,第一数值用于指示数组元素对应的随机数未生成;用户身份码生成装置800还包括元素标识更新模块806,用于在将随机数存放至存放数组元素之后,将存放数组元素对应的元素标识值更新为第二数值,第二数值用于指示存放数组元素对应的随机数已经生成。
进一步地,在一个实施例中,随机数生成模块802还用于当根据随机数的数值确定的对应数组元素的元素标识值为第二数值时,删除随机数,进入根据预设更新时间生成预设数量的随机数的步骤,直到生成的随机数中,确认为备用随机数的数量达到预设数量。
存储模块804,还用于当根据随机数的数值确定的对应数组元素的元素标识值为第一数值时,进入将随机数存放至存放数组元素,并作为备用随机数存储至随机备用库中的步骤。
数组对应模块803,还用于查找与随机数的数值相同的位置编码;将数值相同的位置编码对应的数组元素作为存放数组元素。
随机数生成模块802还用于获取随机备用库中存储的备用随机数的数量;当数量小于预设阈值时,进入根据预设更新时间生成预设数量的随机数的步骤。
进一步地,如图8所示,在一个实施例中,用户身份码生成装置800还包括备份模块807,用于将随机备用库中存储的备用随机数定期备份存储至备用数据库;
其中,身份码分配模块805,还用于当接收到用户身份码生成请求,从随机备用库中选取备用随机数失败时,从备用数据库中选取备用随机数作为用户的用户身份码。
此外,本发明还提供一种计算机可读存储介质,计算机可读介质存储有计算机程序,该计算机程序被处理器执行时实现上述的用户身份码生成方法的步骤,具体在此不在赘述。
需要说明的是,由于计算机可读存储介质的计算机程序被处理器执行时实现上述的用户身份码生成方法的步骤,因此上述方法的所有实施例均适用于该计算机可读存储介质,且均能达到相同或相似的有益效果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施例。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是在本申请的构思下,利用本申请说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本申请的专利保护范围内。
Claims (8)
1.一种用户身份码生成方法,其特征在于,包括:
生成至少一个数组,每个所述数组中包含有多个数组元素,每个数组元素包含有对应的元素标识值以及所述数组元素在所述数组中对应的位置编码;
根据预设更新时间生成预设数量的随机数;
根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素;
将所述随机数存放至所述存放数组元素,并作为备用随机数存储至随机备用库中;
当接收到用户身份码生成请求时,从所述随机备用库中选取所述备用随机数作为所述用户的用户身份码;
其中,所述每个数组元素的所述元素标识值的初始值为第一数值,所述第一数值用于指示所述数组元素对应的随机数未生成;
在将所述随机数存放至所述存放数组元素之后,还包括:
将所述存放数组元素对应的元素标识值更新为第二数值,所述第二数值用于指示所述存放数组元素对应的随机数已经生成;
所述根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素的步骤之后,还包括:
当根据所述随机数的数值确定的对应数组元素的元素标识值为所述第二数值时,删除所述随机数,进入所述根据预设更新时间生成预设数量的随机数的步骤,直到所述备用随机数的数量达到所述预设数量。
2.如权利要求1所述的用户身份码生成方法,其特征在于,所述根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素的步骤之后,还包括:
当根据所述随机数的数值确定的对应数组元素的元素标识值为所述第一数值时,进入所述将所述随机数存放至所述存放数组元素,并作为备用随机数存储至随机备用库中的步骤。
3.如权利要求1所述的用户身份码生成方法,其特征在于,所述根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素的步骤,包括:
查找与所述随机数的数值相同的位置编码;
将所述数值相同的位置编码对应的数组元素作为存放数组元素。
4.如权利要求1所述的用户身份码生成方法,其特征在于,所述方法还包括步骤:
获取所述随机备用库中存储的所述备用随机数的数量;
当所述数量小于预设阈值时,进入所述根据预设更新时间生成预设数量的随机数的步骤。
5.如权利要求1所述的用户身份码生成方法,其特征在于,所述方法还包括:将所述随机备用库中存储的所述备用随机数定期备份存储至备用数据库;
当接收到用户身份码生成请求,从所述随机备用库中选取所述备用随机数失败时,从所述备用数据库中选取所述备用随机数作为所述用户的用户身份码。
6.一种用户身份码生成装置,其特征在于,包括:
数组生成模块,用于生成至少一个数组,每个所述数组中包含有多个数组元素,每个数组元素包含有对应的元素标识值以及所述数组元素在所述数组中对应的位置编码;
随机数生成模块,用于根据预设更新时间生成预设数量的随机数;
数组对应模块,用于根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素;
存储模块,用于将所述随机数存放至所述存放数组元素,并作为备用随机数存储至随机备用库中;
身份码分配模块,用于当接收到用户身份码生成请求时,从所述随机备用库中选取所述备用随机数作为所述用户的用户身份码;
其中,所述每个数组元素的所述元素标识值的初始值为第一数值,所述第一数值用于指示所述数组元素对应的随机数未生成;
在将所述随机数存放至所述存放数组元素之后方面,所述存储模块还用于:
将所述存放数组元素对应的元素标识值更新为第二数值,所述第二数值用于指示所述存放数组元素对应的随机数已经生成;
在所述根据所述随机数的数值确定所述数组中与每个所述随机数对应的数组元素,作为存放数组元素的步骤之后方面,所述随机数生成模块还用于:
当根据所述随机数的数值确定的对应数组元素的元素标识值为所述第二数值时,删除所述随机数,进入所述根据预设更新时间生成预设数量的随机数的步骤,直到所述备用随机数的数量达到所述预设数量。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一项所述用户身份码生成方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述用户身份码生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811583551.XA CN109783058B (zh) | 2018-12-24 | 2018-12-24 | 用户身份码生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811583551.XA CN109783058B (zh) | 2018-12-24 | 2018-12-24 | 用户身份码生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783058A CN109783058A (zh) | 2019-05-21 |
CN109783058B true CN109783058B (zh) | 2023-09-05 |
Family
ID=66498307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811583551.XA Active CN109783058B (zh) | 2018-12-24 | 2018-12-24 | 用户身份码生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783058B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176611B (zh) * | 2019-12-31 | 2023-10-31 | 深圳远征技术有限公司 | 一种生成随机数据组的方法和装置 |
CN113138751B (zh) * | 2020-01-17 | 2023-06-09 | 北京新能源汽车股份有限公司 | 一种随机数的处理方法、装置及汽车 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148406A (en) * | 1995-04-27 | 2000-11-14 | Weisz; Herman | Access control password generated as a function of random numbers |
CN103645882A (zh) * | 2013-12-09 | 2014-03-19 | 中颖电子股份有限公司 | 基于单片机的批量乱序随机数的生成方法 |
CN106161200A (zh) * | 2015-04-28 | 2016-11-23 | 张开平 | 一种基于组合编码的即时通讯方法 |
CN106790167A (zh) * | 2016-12-29 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种客户端注册方法及集中管理平台 |
EP3316549A1 (fr) * | 2016-10-31 | 2018-05-02 | Idemia Identity & Security France | Procédé de contrôle d'identité d'un utilisateur au moyen d'une base de données publique |
-
2018
- 2018-12-24 CN CN201811583551.XA patent/CN109783058B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148406A (en) * | 1995-04-27 | 2000-11-14 | Weisz; Herman | Access control password generated as a function of random numbers |
CN103645882A (zh) * | 2013-12-09 | 2014-03-19 | 中颖电子股份有限公司 | 基于单片机的批量乱序随机数的生成方法 |
CN106161200A (zh) * | 2015-04-28 | 2016-11-23 | 张开平 | 一种基于组合编码的即时通讯方法 |
EP3316549A1 (fr) * | 2016-10-31 | 2018-05-02 | Idemia Identity & Security France | Procédé de contrôle d'identité d'un utilisateur au moyen d'une base de données publique |
CN106790167A (zh) * | 2016-12-29 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种客户端注册方法及集中管理平台 |
Non-Patent Citations (1)
Title |
---|
基于MD5与随机数组合的加密算法在用户身份验证中的应用;徐畅;《电子测试》(第13期);第56-57页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109783058A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287709B (zh) | 用户操作权限控制方法、装置、设备及介质 | |
CN111447150B (zh) | 访问请求限流方法、服务器及存储介质 | |
CN110737658B (zh) | 数据分片存储方法、装置、终端及可读存储介质 | |
CN109492019B (zh) | 业务请求响应方法、装置、计算机设备和存储介质 | |
EP3178011B1 (en) | Method and system for facilitating terminal identifiers | |
US9699028B2 (en) | Method and device for updating client | |
CN111191281A (zh) | 数据脱敏处理方法、装置、计算机设备及存储介质 | |
CN108924258B (zh) | 后台信息推送方法、装置、计算机设备和存储介质 | |
CN109783058B (zh) | 用户身份码生成方法、装置、计算机设备及存储介质 | |
CN112764997B (zh) | 一种日志存储的方法、装置、计算机设备和存储介质 | |
CN104980926A (zh) | 移动终端的远程控制方法及装置 | |
CN111177776A (zh) | 多租户数据隔离方法与系统 | |
CN111353163A (zh) | 确定访问权限的方法、装置及存储介质 | |
CN109547427A (zh) | 黑名单用户识别方法、装置、计算机设备及存储介质 | |
CN110874492B (zh) | 数据处理方法、装置、计算设备及系统 | |
CN111371755B (zh) | 声纹数据处理方法、装置、计算机设备和存储介质 | |
CN115987685B (zh) | 一种云服务数据共享方法及系统 | |
CN111858588A (zh) | 一种分布式应用索引服务平台及数据处理方法 | |
EP2784692A1 (en) | Filter regular expression | |
CN115935414A (zh) | 基于区块链的数据校验方法、装置、电子设备和存储介质 | |
CN115118421A (zh) | 一种密钥轮换方法、装置、计算机设备 | |
CN111177656B (zh) | 一种行为检测方法、计算机设备和计算机可读存储介质 | |
CN113961600A (zh) | 一种数据查询方法、装置、计算机设备及存储介质 | |
CN114237991A (zh) | 基于冷备模式的主备服务切换方法、装置、设备及介质 | |
CN111666290A (zh) | 基于人工智能的数据替换方法、装置、计算机设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |