【技术实现步骤摘要】
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在所 ...
【技术保护点】
【技术特征摘要】
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所述的方法,其特征在于,所述预设散列函数还包括目标偏置量;所述基于预设散列函数,对所述目标序号和所述目标常量进行相乘,并对相乘结果与所述模运算数值进行取模运算,得到第一散列值,包括:基于预设散列函数,对所述目标序号和所述目标常量进行相乘,得到相乘结果,并将所述相乘结果与所述目标偏置量相加,得到相加结果,将所述相加结果与所述模运算数值进行取模运...
【专利技术属性】
技术研发人员:方嘉铭,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。