ID的生成方法、装置、电子设备和存储介质制造方法及图纸

技术编号:37394528 阅读:20 留言:0更新日期:2023-04-27 07:31
本发明专利技术提供了一种ID的生成方法、装置、电子设备和存储介质;其中,该方法包括:接收待生成ID的目标序号;目标序号在第一数值范围内;对目标序号进行散列和加密的交替运算,得到目标序号对应的目标ID;目标ID在第一数值范围内。该方式中,通过对序号进行散列和加密的交替运算,能够基于高效基础运算的方式,保证ID破解难度的同时,提升ID的生成效率。提升ID的生成效率。提升ID的生成效率。

【技术实现步骤摘要】
ID的生成方法、装置、电子设备和存储介质


[0001]本专利技术涉及数据加密
,尤其是涉及一种ID的生成方法、装置、电子设备和存储介质。

技术介绍

[0002]ID(Identity Document)是一个体系或系统中唯一的编码,可以用于标识任意事物,例如在网络游戏中,会为每个玩家分配一个唯一的用户ID,玩家创建的队伍也会为其分配一个唯一的队伍ID。如果ID的生成是简单的序号,外界就可以通过ID推测相关的数据,造成一定程度的数据泄露。因此,ID的生成方式需要难以破解。
[0003]为了提升ID的破解难度,一种现有技术是采用完全随机的方式预先生成范围内的所有随机ID,并保存在内存中,这种方式虽然具有良好的随机性,难以被破解,但是,ID生成的范围越大,需要占用的存储资源就越多,存在资源浪费的技术问题。另一种现有技术是采用复杂的算法在需要的时候生成ID,如多次方乘法、对数函数等,这些算法虽然能够增加ID的破解难度,但是由于计算复杂度高,造成ID的生成效率降低。可见,现有技术难以保证ID破解难度的同时,高效地生成ID。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种ID的生成方法、装置、电子设备和存储介质,以保证ID破解难度的同时,提高ID的生成效率。
[0005]第一方面,本专利技术实施例提供了一种ID的生成方法,方法包括:接收待生成ID的目标序号;所述目标序号在第一数值范围内;对所述目标序号进行散列和加密的交替运算,得到所述目标序号对应的目标ID;所述目标ID在所述第一数值范围内。
[0006]第二方面,本专利技术实施例提供了一种ID的生成装置,装置包括:接收模块,用于接收待生成ID的目标序号;所述目标序号在第一数值范围内;运算模块,用于对所述目标序号进行散列和加密的交替运算,得到所述目标序号对应的目标ID;所述目标ID在所述第一数值范围内。
[0007]第三方面,本专利技术实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述ID的生成方法。
[0008]第四方面,本专利技术实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述ID的生成方法。
[0009]本专利技术实施例带来了以下有益效果:
[0010]上述ID的生成方法、装置、电子设备和存储介质,接收待生成ID的目标序号;所述目标序号在第一数值范围内;对所述目标序号进行散列和加密的交替运算,得到所述目标序号对应的目标ID;所述目标ID在所述第一数值范围内。该方式中,通过对序号进行散列和
加密的交替运算,能够基于高效基础运算的方式,保证ID破解难度的同时,提升ID的生成效率。
[0011]本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
[0012]为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0013]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为本专利技术实施例中ID的生成方法的第一个实施例流程图;
[0015]图2为本专利技术实施例提供的一种ID的生成装置的示意图;
[0016]图3为本专利技术实施例提供的一种电子设备的示意图。
具体实施方式
[0017]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0018]为便于理解,下面对本专利技术实施例的具体流程进行描述,请参阅图1,本专利技术实施例中ID的生成方法的第一个实施例包括:
[0019]步骤S100、接收待生成ID的目标序号;目标序号在第一数值范围内;
[0020]可以理解的是,当一个新的数据产生时,通常需要为这个新的数据分配ID,例如,在网络游戏中,当一个新的用户注册成为游戏玩家时,需要为该新游戏玩家分配一个唯一的用户ID,而当一个游戏玩家在游戏中创建一个新的队伍时,则需要为该新创建的队伍分配一个唯一的队伍ID,同理,当其它任意需要被标识的数据产生时,同样需要为其分配一个ID,以便于数据的管理和检索。由于序号本身也具备标识的作用,对于一些无保密需求的数据,可以直接将序号作为ID,而对于需要保密的数据,这种方式显然容易暴露一些关键信息,例如,如果用户ID采用序号进行标识,那么,外界通过用户ID即可推断总的用户数量,导致用户数量泄露。因此,本专利技术提供一种序号的乱序方法,能够隐藏真实的序号信息,使得数据的安全性提高。
[0021]在一种实施方式中,步骤S100包括:响应于ID生成指令,接收待生成ID的目标序号。可以理解的是,当新的数据产生时,需要生成用于指示新数据的ID,首先确定待生成ID的目标序号,例如,当第x个用户提交注册请求时,确定该用户的目标序号为x。通常情况下,序号的起始数值为0或1。目标序号为正整数,目标序号属于第一数值范围。基于此,设目标序号为x,则x在第一数值范围内,即:
[0022]x∈[0,ID_MAX),或,x∈[1,ID_MAX),
[0023]或,x∈[0,ID_MAX],或,x∈[1,ID_MAX][0024]其中,ID_MAX为任意正整数。例如,假设ID_MAX=100000000,那么,则,x则可以为0到100000000的正整数。
[0025]步骤S200、对目标序号进行散列和加密的交替运算,得到目标序号对应的目标ID;目标ID在第一数值范围内。
[0026]可以理解的是,在一些基于序号的ID生成场景中,需要避免生成的ID造成数据的泄露,如在虚拟游戏中,用户的ID如果被破解,则可能造成游戏玩家数量的暴露。而在这些场景中,为了隐藏真实序号,以及序号与ID之间的映射关系,将序号与ID的数值范围设置为相同,同时保证生成ID的数值范围不会溢出,能够保持ID的可运算性和保证ID的确定性(数值范围确定),即在本实施方式中,目标ID的数值范围与目标序号的数值范围相同,即目标ID也在第一数值范围内,例如,如果目标序号是1

100000000的正整数,那么,生成的目标ID也是1

100000000的正整数。基于此,目标ID的数值范围与上述目标序号x的数值范围相同。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ID的生成方法,其特征在于,所述方法包括:接收待生成ID的目标序号;所述目标序号在第一数值范围内;对所述目标序号进行散列和加密的交替运算,得到所述目标序号对应的目标ID;所述目标ID在所述第一数值范围内。2.根据权利要求1所述的方法,其特征在于,所述对所述目标序号进行散列和加密的交替运算,得到所述目标序号对应的目标ID,包括:通过预设散列函数对所述目标序号进行散列值计算,得到第一散列值;对所述第一散列值进行异或加密运算,得到第一加密数值;将所述第一加密数值确定为所述目标序号对应的目标ID。3.根据权利要求1所述的方法,其特征在于,所述对所述目标序号进行散列和加密的交替运算,得到所述目标序号对应的目标ID,包括:通过预设散列函数和异或加密算法对所述目标序号进行至少两次交替运算,得到所述目标序号对应的目标ID。4.根据权利要求3所述的方法,其特征在于,所述通过预设散列函数和异或加密算法对所述目标序号进行至少两次交替运算,得到所述目标序号对应的目标ID,包括:S10、确定当前轮次的基础数值;其中,第一轮次的基础数值为所述目标序号;S11、通过预设散列函数对所述当前轮次的基础数值进行散列值计算,得到当前轮次的目标散列值;S12、对所述当前轮次的目标散列值进行异或加密运算,得到当前轮次的目标加密数值;S13、将当前轮次的目标加密数值确定为下一轮次的基础数值,并重复步骤S10至S12至少一次,将最后一轮次的目标加密数值确定为所述目标序号对应的目标ID。5.根据权利要求1所述的方法,其特征在于,所述对所述目标序号进行散列和加密的交替运算,得到所述目标序号对应的目标ID,包括:通过预设散列函数对所述目标序号进行散列值计算,得到第一散列值;对所述第一散列值进行异或加密运算,得到第一加密数值;通过预设散列函数对所述第一加密数值进行散列值计算,得到所述目标序号对应的目标ID。6.根据权利要求1所述的方法,其特征在于,所述对所述目标序号进行散列和加密的交替运算,得到所述目标序号对应的目标ID,包括:通过预设散列函数对所述目标序号进行散列值计算,得到第一散列值;对所述第一散列值进行异或加密运算,得到第一加密数值;通过预设散列函数和异或加密算法对所述第一加密数值进行至少一次交替运算,得到初始ID;通过预设散列函数对所述初始ID进行散列值计算,得到所述目标序号对应的目标ID。7.根据权利要求2、5、6中任一项所述的方法,其特征在于,所述预设散列函数包括目标常量和模运算数值;所述通过预设散列函数对所述目标序号进行散列值计算,得到第一散列值,包括:基于预设散列函数,对所述目标序号和所述目标常量进行相乘,并对相乘结果与所述
模运算数值进行取模运算,得到第一散列值。8.根据权利要求7所述的方法,其特征在于,所述模运算数值为所述第一数值范围中的最大数值;所述目标常量与所述模运算数值互为质数。9.根据权利要求7所述的方法,其特征在于,所述目标常量用于指示与目标黄金分割值差值最小的质数;所述目标黄金分割值为所述模运算数值与黄金分割比的乘积。10.根据权利要求7所述的方法,其特征在于,所述预设散列函数还包括目标偏置量;所述基于预设散列函数,对所述目标序号和所述目标常量进行相乘,并对相乘结果与所述模运算数值进行取模运算,得到第一散列值,包括:基于预设散列函数,对所述目标序号和所述目标常量进行相乘,得到相乘结果,并将所述相乘结果与所述目标偏置量相加,得到相加结果,将所述相加结果与所述模运算数值进行取模运...

【专利技术属性】
技术研发人员:方嘉铭
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1