ID生成方法、装置、电子设备和存储介质与流程
未命名
09-17
阅读:90
评论:0
id生成方法、装置、电子设备和存储介质
技术领域
1.本发明涉及数据加密技术领域,尤其是涉及一种id生成方法、装置、电子设备和存储介质。
背景技术:
2.id(identity)是一个体系或系统中唯一的编码,可以用于标识任意事物。为了避免按数值顺序生成的id造成的数据暴露,在基于序号进行id生成时,通常需要进行乱序处理,以使得生成的id难以破解其对应的序号。
3.现有的id生成技术大致分为两种,一种是基于单一简单的乱序算法生成id,如哈希散列算法;另一种是基于非线性的复杂乱序算法生成id,如原根公式。其中,第一种方式由于算法简单,生成的id仍然比较容易破解,加密性较差;而第二种方式虽然加密性较强,但是计算复杂度也随之提升。可见,现有技术难以保证id破解难度的同时,降低id生成的计算复杂度。
技术实现要素:
4.有鉴于此,本发明的目的在于提供一种id生成方法、装置、电子设备和存储介质,以保证id破解难度的同时,降低id生成的计算复杂度。
5.第一方面,本发明实施例提供了一种id生成方法,方法包括:响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数;在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为所述目标序号;将最后一轮异或运算结果确定为所述目标序号对应的目标id。
6.第二方面,本发明实施例提供了一种id生成装置,装置包括:响应模块,用于响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数;运算模块,用于在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为所述目标序号;确定模块,用于将最后一轮异或运算结果确定为所述目标序号对应的目标id。
7.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述id生成方法。
8.第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述id生成方法。
9.本发明实施例带来了以下有益效果:
10.上述id生成方法、装置、电子设备和存储介质,响应于目标序号的id生成指令,获
取多轮异或运算分别对应的预设密钥和预设进制数;在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为所述目标序号;将最后一轮异或运算结果确定为所述目标序号对应的目标id。该方式中,通过设置不同的密钥和进制数,对目标序号进行多轮次的异或运算循环,能够基于简单的异或运算,生成难以破解的id,从而在保证id破解难度的同时,降低id生成的计算复杂度。
11.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
12.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
13.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1为本发明实施例中id生成方法的一个实施例流程图;
15.图2为本发明实施例中id生成方法的另一个实施例流程图;
16.图3为本发明实施例提供的一种id生成装置的示意图;
17.图4为本发明实施例提供的一种电子设备的示意图。
具体实施方式
18.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
20.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中id生成方法的一个实施例包括:
21.步骤s10、响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数;
22.可以理解的是,本发明实施例是一种基于序号的id生成方法,在基于目标序号生
成目标id时,实际是对目标序号的乱序加密,例如,假设目标序号为1,1对应的目标序号可以为22014563,假设目标序号为16128970,16128970对应的目标序号可以为10000000,具体此处不做限定。通过对序号的乱序加密,能够避免按数值顺序生成id时,造成的数据暴露问题。本实施方式中,响应于目标序号的id生成指令,开始进行多轮异或运算,其中,每轮异或运算均对应有预设密钥和预设进制数,例如,第一轮异或运算对应的预设密钥可以为11817285,第一轮异或运算对应的预设进制数据可以为3,第二轮异或运算对应的预设密钥可以为20688480,第二轮异或运算对应的预设进制数据可以为7,第三轮异或运算对应的预设密钥可以为11817285,第二轮异或运算对应的预设进制数据可以为5,具体此处不做限定。
23.需要说明的是,预设密钥和预设进制数均为预先生成的数据,其中,预设密钥的进制数可以与目标id的进制数相同,也可以不同。例如,预设密钥可以是十进制数,目标id可以是十进制数,也可以是十六进制数,还可以是三进制数等,具体此处不做限定。在一种实施方式中,每轮异或运算对应的预设密钥的进制数与该轮异或运算对应的预设进制数可以相同,也可以不同,优选的,为了提高异或运算的效率,每轮异或运算对应的预设密钥的进制数与该轮异或运算对应的预设进制数相同。例如,如果第一轮异或运算对应的预设进制数为3,那么,第一轮异或运算对应的预设密钥也为3进制数,如果第一轮异或运算对应的预设进制数为7,那么,第一轮异或运算对应的预设密钥也为7进制数,具体此处不做限定。本实施方式通过设置相同进制数的预设密钥,能够在进行每轮异或运算时,无需再进行预设密钥的进制转换,从而提高异或运算效率,进而提高id的生成效率。
24.在一种实施方式中,为了提高数据的统一性,所有预设密钥的进制数相同,优选的,所有预设密钥的进制数均为十进制数,或所有预设密钥的进制数均与目标id的进制数相同。例如,如果需要生成的目标id为十进制数,那么,所有预设密钥也均为十进制数,具体此处不做限定。本实施方式通过统一进制数的预设密钥,当预设进制数发生改变时,无需同时修改对应的预设密钥,从而降低预设密钥与预设进制数之间的耦合程度,提高数据的统一性。
25.在一种实施方式中,所有预设密钥和所有预设进制数均按照多轮异或运算的顺序分别存储在数组中,也就是在响应于目标序号的id生成指令时,获取预设密钥数组和预设进制数数组,其中,预设密钥数组中包括多轮异或运算分别对应的预设密钥,预设进制数数组中包括多轮异或运算分别对应的预设进制数。本实施方式通过数组的有序性特点,可以使得预设密钥和预设进制数按多轮异或运算的顺序存储,从而在进行每轮异或运算时,能够快速、准确地确定对应的预设密钥和预设进制数,降低生成id的错误率。
26.在一种实施方式中,为了将生成的目标id控制在预设的数值范围内,预设密钥可以为属于预设第一数值范围内的任意数值,其中,预设第一数值范围可以与目标序号所属的预设第二数值范围相同,也可以在预设第二数值范围的范围内,可以理解的是,由于生成的目标id是目标序号的乱序结果,因此,目标序号与目标id所属的数值范围本身就相同。例如,假设目标序号所属的预设第二数值范围为[0,40000000),那么,预设密钥所属的预设第一数值范围可以为[0,40000000),也可以为[0,40000000)范围内的任意范围,如[20000000,40000000)、[30000000,35000000]等,具体此处不做限定。
[0027]
在一种实施方式中,为了进一步地控制目标id的数值范围,预设进制数可以预设
为属于预设第一进制范围内的任意数值,在实践中发现,预设进制数选取较低位的进制数较易于控制目标id的数值范围,优选的,预设第一进制范围为[2,7],也就是,预设进制数可以为[2,7]中的任意整数,具体此处不做限定。
[0028]
可以理解的是,所有预设密钥可以包含重复的密钥,也可以不包含重复的密钥,包含重复的密钥时,重复的密钥可以为预设密钥总数范围内的任意数量。例如,所有预设密钥总数为20个,那么,所有预设密钥中可以包含最多20个重复的密钥,也可以包含2个重复的密钥,其余18个为不重复的密钥,具体此处不做限定。在一种实施方式中,为了进一步地提高生成id的安全性,所有预设密钥中不包含重复的密钥,也就是所有预设密钥均不相同,进而增加了目标序号的破解难度。同理,所有预设进制数可以包含重复的进制数,也可以不包含重复的进制数,包含重复的进制数时,重复的进制数可以为预设进制数总数范围内的任意数量。例如,所有预设进制数的总数为20个,那么,所有预设进制数中可以包含最多20个重复的进制数,也可以包含2个重复的进制数,其余18个为不重复的进制数,具体此处不做限定。在一种实施方式中,为了进一步地提高生成id的安全性,所有预设进制数中不包含重复的进制数,也就是所有预设进制数均不相同,进而增加了目标id的破解难度。
[0029]
需要说明的是,异或运算的总轮数也是预先设定的,优选的,异或运算的总轮数属于[20,40]时,序号的乱序效果更佳,目标id更难以破解。
[0030]
步骤s20、在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为目标序号;
[0031]
可以理解的是,每轮异或运算对应一个预设密钥和预设进制数,在进行每轮异或运算时,均是通过当前轮异或运算对应的预设密钥和预设进制数进行当前轮的异或运算,其中,当前轮异或运算是指正在进行的一轮异或运算。具体的,假设将当前轮异或运算对应的预设密钥称为当前轮预设密钥,当前轮异或运算对应的预设进制数称为当前轮预设进制数,在进行每轮异或运算时,对上一轮异或运算结果和当前轮预设密钥进行至少一次当前轮预设进制数的异或运算,得到每轮异或运算结果,其中,在进行第一轮异或运算时,也就是当前轮异或为啥为第一轮异或运算时,上一轮异或运算结果是指目标序号。例如(例子中的数值均为十进制数),假设目标序号为31232132,第一轮异或运算对应的预设密钥为11814588,第一轮异或运算对应的预设进制数为3,第二轮异或运算对应的预设密钥为2000000,第二轮异或运算对应的预设进制数为2,假设只进行一次对应预设进制数的异或运算,那么,在进行第一轮异或运算时,对31232132和11814588进行一次3进制的异或运算,得到的第一轮异或运算结果为43046720;在进行第二轮异或运算时,则是对43046720和2000000进行一次2进制的异或运算,得到的第二轮异或运算结果为42881984。假设第二轮异或运算为最后一轮异或运算,那么第二轮异或运算结果42881984,即为目标序号31232132对应的目标id,具体此处不做限定。本实施方式通过简单的异或运算即可对序号进行加密,生成id,并且能够通过简单增减异或运算的轮数对目标id的破解难度进行增减,使得id能够简单生成的同时破解难度也得以保证。
[0032]
需要说明的是,在每轮异或运算中,进行对应预设进制数的异或运算为至少一次,也就是说,在每轮异或运算中,需要进行至少一次异或运算,在进行每次异或运算时,是对上一次异或运算结果和当前轮异或运算对应的预设密钥进行对应预设进制数的异或运算,
其中,在进行第一次异或运算时,上一次异或运算结果为上一轮异或运算结果。也就是说,步骤s20中包含两个循环,分别为:异或运算轮次的循环,以及每轮异或运算中,异或运算次数的循环。这两个循环的主要区别在于:在每轮异或运算中,参与运算的预设密钥和预设进制数都可以不同,而在每轮异或运算的每次异或运算中,预设密钥和预设进制数都是相同的。例如(例子中的数值均为十进制数),假设第一轮异或运算对应的预设密钥为20,第一轮异或运算对应的预设进制数为2,目标序号为8,那么,在第一轮异或运算的第一次对应预设进制数的异或运算中,对8和20进行一次2进制的异或运算,得到的第一次异或运算结果为28,在第一轮异或运算的第二次对应预设进制数的异或运算中,对28和20进行一次2进制的异或运算,得到的第二次异或运算结果为8,具体此处不做限定。可以理解的是,一个数进行n进制的异或运算n次之后会得到原来的数,如该例子中对8进行2进制的异或运算2次之后会得到8,因此,在一种实施方式中,在每轮异或运算中,进行对应预设进制数的异或运算的总次数小于对应的预设进制数,例如,假设第一轮异或运算对应的预设进制数为3,那么,在进行第一轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行小于3次的对应预设进制数的异或运算,得到第一轮异或运算结果。
[0033]
在一种实施方式中,在进行每轮异或运算中的每次对应预设进制数的异或运算时,可以通过判断当前次对应预设进制数的异或运算结果是否满足预设条件,如果满足,则将当前次对应预设进制数的异或运算结果确定为当前轮异或运算,如果不满足,则再进行下一次对应预设进制数的异或运算,直至当前次对应预设进制数的异或运算结果满足预设条件为止。其中,预设条件可以是数值范围的判断,例如判断当前次对应预设进制数的异或运算结果是否属于预设第三数值范围,或者判断当前次对应预设进制数的异或运算结果是否小于预设阈值,等等,具体此处不做限定。
[0034]
步骤s30、将最后一轮异或运算结果确定为目标序号对应的目标id。
[0035]
本实施方式中,最后一轮异或运算结果即可确定为目标序号对应的目标id,得到的目标id即为目标序号的乱序结果,也是目标序号的加密结果,能够对目标序号起到保密的作用。在一种实施方式中,在步骤s30之前,还可以判断最后一轮异或运算结果是否属于预设第四数值范围;如果最后一轮异或运算结果属于预设第四数值范围,则将最后一轮异或运算结果确定为目标序号对应的目标id;如果最后一轮异或运算结果不属于预设第四数值范围,则可以将目标序号确定为对应的目标id,或者基于最后一轮异或运算结果,在进行一次步骤s10-s30,直至最后一轮异或运算结果属于预设第四数值范围为止。
[0036]
上述实施方式提供的id生成方法,通过设置不同的密钥和进制数,对目标序号进行多轮次的异或运算循环,能够基于简单的异或运算,生成难以破解的id,从而在保证id破解难度的同时,降低id生成的计算复杂度。
[0037]
请参阅图2,本发明实施例中id生成方法的另一个实施例包括:
[0038]
步骤s201、根据预设的异或运算总轮数和目标id指示的预设数值范围,随机生成每轮异或运算对应的预设密钥,预设密钥属于预设数值范围;
[0039]
本步骤中,根据预设的异或运算总轮数,可以确定生成的预设密钥的总个数,其中,每轮异或运算对应一个预设密钥,而每轮异或运算对应的预设密钥,是目标id指示的预设数值范围内的随机数,预设密钥属于预设数值范围。例如,假设目标id指示的预设数值范围为[0,40000000),那么,每轮异或运算对应的预设密钥则为[0,40000000)内的随机数,使
得密钥的生成难度降低,对序号的加密更简单、快捷。
[0040]
步骤s202、随机生成每轮异或运算对应的预设进制数;
[0041]
本步骤中,每轮异或运算对应的预设进制数也为随机数,由于id通常仅包括数字,或者是数字和字母的结合,因此,在生成的目标id只能包含数字的情况下,每轮异或运算对应的预设进制数的随机范围为[2,10],在生成的目标id只能包含数字和字母的结合的情况下,每轮异或运算对应的预设进制数的随机范围为[2,36]。需要说明的是,随机范围也可以不设限制,具体根据所要生成的id的组成。
[0042]
在一种实施方式中,步骤s202包括:根据预设的进制数范围,随机生成进制数范围内的每轮异或运算对应的预设进制数。本实施方式中,每轮异或运算对应的预设进制数从预设的进制数范围中随机产生,在实践中发现,预设进制数选取较低位的进制数较易于控制目标id的数值范围,因此,优选的,预设的进制数范围为[2,7],也就是每轮异或运算对应的预设进制数为[2,7]中的随机整数即可。
[0043]
在一种实施方式中,步骤s202包括:从预设的多个预选进制数中随机选取每轮异或运算对应的预设进制数。本实施方式中,每轮异或运算对应的预设进制数从预设的多个预选进制数中随机产生,在实践中发现,预设进制数选取较低位的进制数较易于控制目标id的数值范围,因此,优先的,预设的多个预选进制数包括2,3,5,7,也就是每轮异或运算对应的预设进制数为2,3,5,7中的随机一个数即可。
[0044]
步骤s203、响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数;
[0045]
在一种实施方式中,相邻轮次的异或运算分别对应的预设进制数为不同数值。本实施方式中,由于异或运算是满足结合律的,也就是如果对同一个数与不同的密钥进行相同进制的异或运算,最后的效果等同于异或同一个密钥,导致对序号的加密效果降低,id的破解难度也降低。因此,本实施方式限制相邻轮次的异或运算分别对应的预设进制数为不同数值,即可保证异或运算结果不会被结合律抵消,例如,假设每轮异或运算对应的预设进制数从2,3,5,7中随机产生,那么,只要保证相邻轮次的异或运算分别对应的预设进制数不同即可,如多轮异或运算分别对应的预设进制数可以为:2,5,7,3,2,7,5,2,7,3,具体此处不做限定。
[0046]
步骤s204、在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为目标序号;
[0047]
在一种实施方式中,上述步骤s204包括以下步骤:
[0048]
s1、确定当前轮异或运算对应的预设密钥和预设进制数;
[0049]
s2、在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果;
[0050]
s3、判断当前轮异或运算是否为最后一轮异或运算;
[0051]
s4、若当前轮异或运算不为最后一轮异或运算,则将当前轮异或运算结果确定为上一轮异或运算结果,并重复步骤s1-s4,直至当前轮异或运算为最后一轮异或运算,得到每轮异或运算结果。
[0052]
本实施方式中,在进行每轮异或运算时,首先确定当前轮异或运算对应的预设密
钥(称为当前轮预设密钥)和当前轮异或运算对应的预设进制数(称为当前轮预设进制数),在进行当前轮异或运算时,对上一轮异或运算结果和当前轮预设密钥进行至少一次当前轮预设进制数的异或运算,得到当前轮异或运算结果。接着,再判断当前轮异或运算是否为最后一轮异或运算,如果当前轮异或运算不为最后一轮异或运算,则将当前轮异或运算结果确定为上一轮异或运算结果,再跳转至步骤s1,进行下一轮异或运算,直到当前轮异或运算为最后一轮异或运算,从而得到每轮异或运算结果;如果当前轮异或运算为最后一轮异或运算,则退出异或运算的轮次循环,执行下一步骤(即步骤s205)。本实施方式通过多轮次的异或运算,能够基于简单的异或运算生成难以破解的id,保证id破解难度的同时,降低id生成的计算复杂度。
[0053]
在一种实施方式中,上述步骤s2包括:在进行当前轮异或运算时,将上一轮异或运算结果转换为第一目标进制数,得到第一目标进制的上一轮异或运算结果,其中,第一目标进制数用于指示当前轮异或运算对应的预设进制数;对第一目标进制的上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次第一目标进制的异或运算,得到当前轮异或运算结果。
[0054]
本实施方式中,在进行当前轮异或运算时,由于相邻轮异或运算对应的预设进制数通常不同,因此,首先将上一轮异或运算结果转换为当前轮异或运算对应的预设进制数(即第一目标进制数),得到第一目标进制的上一轮异或运算结果,再将第一目标进制的上一轮异或运算结果与当前轮异或运算对应的预设密钥进行至少一次第一目标进制的异或运算,得到第一目标进制的异或运算结果。在对第一目标进制的上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次第一目标进制的异或运算,得到第一目标进制的异或运算结果之前,还可以将当前轮异或运算对应的预设密钥转换为第一目标进制数,得到当前轮异或运算结果。可以理解的是,此时的当前轮异或运算结果为第一目标进制的数值,为了保证输出的目标id符合预期进制,在得到当前轮异或运算结果之后,如果当前轮异或运算为最后一轮异或运算,则将当前轮异或运算结果转换为目标id指示的第二目标进制数,得到最后一轮异或运算结果;如果当前轮异或运算不为最后一轮异或运算,则可以不进行第二目标进制数的转换,直接在下一轮异或运算中进行第一目标进制数的转换,从而提高id的生成效率。
[0055]
在一种实施方式中,上述步骤s2包括以下步骤:
[0056]
s11、在进行当前轮异或运算时,将上一轮异或运算结果确定为初始异或运算结果;
[0057]
s12、对初始异或运算结果和当前轮异或运算对应的预设密钥进行对应预设进制数的异或运算,得到目标异或运算结果;
[0058]
s13、判断目标异或运算结果是否属于预设数值范围;
[0059]
s14、若目标异或运算结果属于预设数值范围,则将目标异或运算结果确定为当前轮异或运算结果;
[0060]
s15、若目标异或运算结果不属于预设数值范围,则将目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至目标异或运算结果属于预设数值范围。
[0061]
本实施方式中,在每轮异或运算的循环中,还包括同一进制数的异或运算子循环,具体的,在进行当前轮异或运算时,首先将上一轮异或运算结果确定为初始异或运算结果,
再对初始异或运算结果和当前轮预设密钥(即当前轮异或运算对应的预设密钥)进行当前轮预设进制数(即当前轮异或运算对应的预设进制数)的异或运算,得到目标异或运算结果。目标异或运算结果作为一次对应预设进制数的异或运算结果,通过判断目标异或运算结果是否属于预设数值范围,确定是否进行下一次对应预设进制数的异或运算。具体的,如果目标异或运算结果属于预设数值范围,则无需再进行下一次对应预设进制数的异或运算,直接将目标异或运算结果确定为当前轮异或运算结果;而如果目标异或运算结果不属于预设数值范围,则需要进行下一次对应预设进制数的异或运算,将目标异或运算结果确定为初始异或运算结果,跳转至步骤s12,重复进行下一次对应预设进制数的异或运算,也就是重复步骤s12-s14,直至目标异或运算结果落入预设数值范围。本实施方式能够保证生成的id落入预设的数值范围,使得生成的id范围更灵活、可控。
[0062]
在一种实施方式中,上述步骤s15包括:若目标异或运算结果不属于预设数值范围,则判断进行对应预设进制数的异或运算的次数是否大于预设次数阈值;若进行对应预设进制数的异或运算的次数大于预设次数阈值,则将上一轮异或运算结果确定为当前轮异或运算结果;若进行对应预设进制数的异或运算的次数小于或等于预设次数阈值,则将目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至目标异或运算结果属于预设数值范围,或进行对应预设进制数的异或运算的次数大于预设次数阈值。
[0063]
本实施方式中,如果目标异或运算结果不属于预设数值范围,那么,通过异或运算次数的判断,能够避免无休止的循环,如果将预设次数阈值设置为当前轮预设进制数,还能避免结合律对异或运算结果的抵消,提高id的破解难度。具体的,在一种实施方式中,预设次数阈值用于指示当前轮异或运算对应的预设进制数。需要说明的是,当进行对应预设进制数的异或运算的次数大于预设次数阈值时,说明经过预设次数阈值的对应预设进制数的异或运算仍然没有活动属于预设数值范围的目标异或运算结果,这种情况下,则将上一轮异或运算结果确定为当前轮异或运算结果即可,因此,存在目标序号与目标id相同的情况。而当进行对应预设进制数的异或运算的次数小于或等于预设次数阈值时,则说明进行对应预设进制数的异或运算的次数还没有超过最高限制,还能进行下一次对应预设进制数的异或运算,因此,当进行对应预设进制数的异或运算的次数小于或等于预设次数阈值时,将目标异或运算结果确定为初始异或运算结果,进行当前轮异或运算的下一个同一预设进制数的异或运算子循环。
[0064]
步骤s205、将最后一轮异或运算结果确定为目标序号对应的目标id。
[0065]
该步骤s205的执行过程与步骤s30的执行过程相似,具体此处不再赘述。
[0066]
上述实施方式提供的id生成方法,通过设置不同的密钥和进制数,对目标序号进行多轮次的异或运算循环,能够基于简单的异或运算,生成难以破解的id,从而在保证id破解难度的同时,降低id生成的计算复杂度。
[0067]
对应于上述方法实施例,参见图3所示的一种id生成装置的示意图,该装置包括:响应模块30,用于响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数;运算模块32,用于在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为所述目标序号;确定模块34,用于将最后一轮异或运算结果确定为所述目标序号对应的目标id。
[0068]
上述id生成装置,通过设置不同的密钥和进制数,对目标序号进行多轮次的异或运算循环,能够基于简单的异或运算,生成难以破解的id,从而在保证id破解难度的同时,降低id生成的计算复杂度。
[0069]
可选的,所述运算模块32还用于:s1、确定当前轮异或运算对应的预设密钥和预设进制数;s2、在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果;s3、判断当前轮异或运算是否为最后一轮异或运算;s4、若当前轮异或运算不为最后一轮异或运算,则将当前轮异或运算结果确定为上一轮异或运算结果,并重复步骤s1-s4,直至当前轮异或运算为最后一轮异或运算,得到每轮异或运算结果。
[0070]
可选的,上述s2包括:在进行当前轮异或运算时,将上一轮异或运算结果转换为第一目标进制数,得到所述第一目标进制的上一轮异或运算结果,其中,所述第一目标进制数用于指示当前轮异或运算对应的预设进制数;对所述第一目标进制的上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次所述第一目标进制的异或运算,得到当前轮异或运算结果。
[0071]
可选的,上述s2还包括:s11、在进行当前轮异或运算时,将上一轮异或运算结果确定为初始异或运算结果;s12、对所述初始异或运算结果和当前轮异或运算对应的预设密钥进行对应预设进制数的异或运算,得到目标异或运算结果;s13、判断所述目标异或运算结果是否属于预设数值范围;
[0072]
s14、若所述目标异或运算结果属于预设数值范围,则将所述目标异或运算结果确定为当前轮异或运算结果;s15、若所述目标异或运算结果不属于预设数值范围,则将所述目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至所述目标异或运算结果属于预设数值范围。
[0073]
可选的,上述s15包括:若所述目标异或运算结果不属于预设数值范围,则判断进行对应预设进制数的异或运算的次数是否大于预设次数阈值;若进行对应预设进制数的异或运算的次数大于预设次数阈值,则将上一轮异或运算结果确定为当前轮异或运算结果;若进行对应预设进制数的异或运算的次数小于或等于预设次数阈值,则将所述目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至所述目标异或运算结果属于预设数值范围,或进行对应预设进制数的异或运算的次数大于预设次数阈值。
[0074]
可选的,上述装置还包括:第一随机单元,用于根据预设的异或运算总轮数和目标id指示的预设数值范围,随机生成每轮异或运算对应的预设密钥,所述预设密钥属于所述预设数值范围;第二随机单元,用于随机生成每轮异或运算对应的预设进制数。
[0075]
可选的,上述第二随机单元,还用于:根据预设的进制数范围,随机生成所述进制数范围内的每轮异或运算对应的预设进制数。
[0076]
可选的,上述第二随机单元,还用于:从预设的多个预选进制数中随机选取每轮异或运算对应的预设进制数。
[0077]
可选的,相邻轮次的异或运算分别对应的预设进制数为不同数值。
[0078]
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述id生成方法。该电子设备可以是服务器,也可以是终端设备。
[0079]
参见图4所示,该电子设备包括处理器400和存储器401,该存储器401存储有能够被处理器400执行的机器可执行指令,该处理器400执行机器可执行指令以实现上述id生成方法。
[0080]
进一步地,图4所示的电子设备还包括总线402和通信接口403,处理器400、通信接口403和存储器401通过总线402连接。
[0081]
其中,存储器401可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口403(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线402可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0082]
处理器400可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器400中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器400可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器400读取存储器401中的信息,结合其硬件完成前述实施例的方法的步骤,例如:
[0083]
响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数;在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为目标序号;将最后一轮异或运算结果确定为目标序号对应的目标id。
[0084]
该方法中,通过设置不同的密钥和进制数,对目标序号进行多轮次的异或运算循环,能够基于简单的异或运算,生成难以破解的id,从而在保证id破解难度的同时,降低id生成的计算复杂度。
[0085]
可选的,在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果,包括:s1、确定当前轮异或运算对应的预设密钥和预设进制数;s2、在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果;s3、判断当前轮异或运算是否为最后一轮异或运算;
[0086]
s4、若当前轮异或运算不为最后一轮异或运算,则将当前轮异或运算结果确定为上一轮异或运算结果,并重复步骤s1-s4,直至当前轮异或运算为最后一轮异或运算,得到
每轮异或运算结果。
[0087]
可选的,在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果,包括:在进行当前轮异或运算时,将上一轮异或运算结果转换为第一目标进制数,得到第一目标进制的上一轮异或运算结果,其中,第一目标进制数用于指示当前轮异或运算对应的预设进制数;对第一目标进制的上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次第一目标进制的异或运算,得到当前轮异或运算结果。
[0088]
可选的,在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果,包括:s11、在进行当前轮异或运算时,将上一轮异或运算结果确定为初始异或运算结果;s12、对初始异或运算结果和当前轮异或运算对应的预设密钥进行对应预设进制数的异或运算,得到目标异或运算结果;s13、判断目标异或运算结果是否属于预设数值范围;s14、若目标异或运算结果属于预设数值范围,则将目标异或运算结果确定为当前轮异或运算结果;s15、若目标异或运算结果不属于预设数值范围,则将目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至目标异或运算结果属于预设数值范围。
[0089]
可选的,若目标异或运算结果不属于预设数值范围,则将目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至目标异或运算结果属于预设数值范围,包括:若目标异或运算结果不属于预设数值范围,则判断进行对应预设进制数的异或运算的次数是否大于预设次数阈值;若进行对应预设进制数的异或运算的次数大于预设次数阈值,则将上一轮异或运算结果确定为当前轮异或运算结果;若进行对应预设进制数的异或运算的次数小于或等于预设次数阈值,则将目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至目标异或运算结果属于预设数值范围,或进行对应预设进制数的异或运算的次数大于预设次数阈值。
[0090]
可选的,在响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数之前,方法还包括:根据预设的异或运算总轮数和目标id指示的预设数值范围,随机生成每轮异或运算对应的预设密钥,预设密钥属于预设数值范围;随机生成每轮异或运算对应的预设进制数。
[0091]
可选的,随机生成每轮异或运算对应的预设进制数,包括:根据预设的进制数范围,随机生成进制数范围内的每轮异或运算对应的预设进制数。
[0092]
可选的,随机生成每轮异或运算对应的预设进制数,包括:从预设的多个预选进制数中随机选取每轮异或运算对应的预设进制数。
[0093]
可选的,相邻轮次的异或运算分别对应的预设进制数为不同数值。
[0094]
本实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述id生成方法,例如:
[0095]
响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数;在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为目标序号;将最后一轮异或运算结果确定为目标序号对
应的目标id。
[0096]
该方法中,通过设置不同的密钥和进制数,对目标序号进行多轮次的异或运算循环,能够基于简单的异或运算,生成难以破解的id,从而在保证id破解难度的同时,降低id生成的计算复杂度。
[0097]
可选的,在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果,包括:s1、确定当前轮异或运算对应的预设密钥和预设进制数;s2、在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果;s3、判断当前轮异或运算是否为最后一轮异或运算;
[0098]
s4、若当前轮异或运算不为最后一轮异或运算,则将当前轮异或运算结果确定为上一轮异或运算结果,并重复步骤s1-s4,直至当前轮异或运算为最后一轮异或运算,得到每轮异或运算结果。
[0099]
可选的,在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果,包括:在进行当前轮异或运算时,将上一轮异或运算结果转换为第一目标进制数,得到第一目标进制的上一轮异或运算结果,其中,第一目标进制数用于指示当前轮异或运算对应的预设进制数;对第一目标进制的上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次第一目标进制的异或运算,得到当前轮异或运算结果。
[0100]
可选的,在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果,包括:s11、在进行当前轮异或运算时,将上一轮异或运算结果确定为初始异或运算结果;s12、对初始异或运算结果和当前轮异或运算对应的预设密钥进行对应预设进制数的异或运算,得到目标异或运算结果;s13、判断目标异或运算结果是否属于预设数值范围;s14、若目标异或运算结果属于预设数值范围,则将目标异或运算结果确定为当前轮异或运算结果;s15、若目标异或运算结果不属于预设数值范围,则将目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至目标异或运算结果属于预设数值范围。
[0101]
可选的,若目标异或运算结果不属于预设数值范围,则将目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至目标异或运算结果属于预设数值范围,包括:若目标异或运算结果不属于预设数值范围,则判断进行对应预设进制数的异或运算的次数是否大于预设次数阈值;若进行对应预设进制数的异或运算的次数大于预设次数阈值,则将上一轮异或运算结果确定为当前轮异或运算结果;若进行对应预设进制数的异或运算的次数小于或等于预设次数阈值,则将目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至目标异或运算结果属于预设数值范围,或进行对应预设进制数的异或运算的次数大于预设次数阈值。
[0102]
可选的,在响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数之前,方法还包括:根据预设的异或运算总轮数和目标id指示的预设数值范围,随机生成每轮异或运算对应的预设密钥,预设密钥属于预设数值范围;随机生成每轮异或运算对应的预设进制数。
[0103]
可选的,随机生成每轮异或运算对应的预设进制数,包括:根据预设的进制数范
围,随机生成进制数范围内的每轮异或运算对应的预设进制数。
[0104]
可选的,随机生成每轮异或运算对应的预设进制数,包括:从预设的多个预选进制数中随机选取每轮异或运算对应的预设进制数。
[0105]
可选的,相邻轮次的异或运算分别对应的预设进制数为不同数值。
[0106]
本发明实施例所提供的id生成方法、装置、电子设备及存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0107]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0108]
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0109]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0110]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0111]
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种id生成方法,其特征在于,所述方法包括:响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数;在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为所述目标序号;将最后一轮异或运算结果确定为所述目标序号对应的目标id。2.根据权利要求1所述的方法,其特征在于,所述在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果,包括:s1、确定当前轮异或运算对应的预设密钥和预设进制数;s2、在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果;s3、判断当前轮异或运算是否为最后一轮异或运算;s4、若当前轮异或运算不为最后一轮异或运算,则将当前轮异或运算结果确定为上一轮异或运算结果,并重复步骤s1-s4,直至当前轮异或运算为最后一轮异或运算,得到每轮异或运算结果。3.根据权利要求2所述的方法,其特征在于,所述在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果,包括:在进行当前轮异或运算时,将上一轮异或运算结果转换为第一目标进制数,得到所述第一目标进制的上一轮异或运算结果,其中,所述第一目标进制数用于指示当前轮异或运算对应的预设进制数;对所述第一目标进制的上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次所述第一目标进制的异或运算,得到当前轮异或运算结果。4.根据权利要求2所述的方法,其特征在于,所述在进行当前轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到当前轮异或运算结果,包括:s11、在进行当前轮异或运算时,将上一轮异或运算结果确定为初始异或运算结果;s12、对所述初始异或运算结果和当前轮异或运算对应的预设密钥进行对应预设进制数的异或运算,得到目标异或运算结果;s13、判断所述目标异或运算结果是否属于预设数值范围;s14、若所述目标异或运算结果属于预设数值范围,则将所述目标异或运算结果确定为当前轮异或运算结果;s15、若所述目标异或运算结果不属于预设数值范围,则将所述目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至所述目标异或运算结果属于预设数值范围。5.根据权利要求4所述的方法,其特征在于,所述若所述目标异或运算结果不属于预设数值范围,则将所述目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直
至所述目标异或运算结果属于预设数值范围,包括:若所述目标异或运算结果不属于预设数值范围,则判断进行对应预设进制数的异或运算的次数是否大于预设次数阈值;若进行对应预设进制数的异或运算的次数大于预设次数阈值,则将上一轮异或运算结果确定为当前轮异或运算结果;若进行对应预设进制数的异或运算的次数小于或等于预设次数阈值,则将所述目标异或运算结果确定为初始异或运算结果,并重复步骤s12-s14,直至所述目标异或运算结果属于预设数值范围,或进行对应预设进制数的异或运算的次数大于预设次数阈值。6.根据权利要求1所述的方法,其特征在于,在所述响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数之前,所述方法还包括:根据预设的异或运算总轮数和目标id指示的预设数值范围,随机生成每轮异或运算对应的预设密钥,所述预设密钥属于所述预设数值范围;随机生成每轮异或运算对应的预设进制数。7.根据权利要求6所述的方法,其特征在于,所述随机生成每轮异或运算对应的预设进制数,包括:根据预设的进制数范围,随机生成所述进制数范围内的每轮异或运算对应的预设进制数。8.根据权利要求6所述的方法,其特征在于,所述随机生成每轮异或运算对应的预设进制数,包括:从预设的多个预选进制数中随机选取每轮异或运算对应的预设进制数。9.根据权利要求1-8中任一项所述的方法,其特征在于,相邻轮次的异或运算分别对应的预设进制数为不同数值。10.一种id生成装置,其特征在于,所述装置包括:响应模块,用于响应于目标序号的id生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数;运算模块,用于在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为所述目标序号;确定模块,用于将最后一轮异或运算结果确定为所述目标序号对应的目标id。11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-9任一项所述的id生成方法。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现权利要求1-9任一项所述的id生成方法。
技术总结
本发明提供了一种ID生成方法、装置、电子设备和存储介质;其中,该方法包括:响应于目标序号的ID生成指令,获取多轮异或运算分别对应的预设密钥和预设进制数;在进行每轮异或运算时,对上一轮异或运算结果和当前轮异或运算对应的预设密钥进行至少一次对应预设进制数的异或运算,得到每轮异或运算结果;其中,在进行第一轮异或运算时,上一轮异或运算结果为目标序号;将最后一轮异或运算结果确定为目标序号对应的目标ID。该方式中,通过设置不同的密钥和进制数,对目标序号进行多轮次的异或运算循环,能够基于简单的异或运算,生成难以破解的ID,从而在保证ID破解难度的同时,降低ID生成的计算复杂度。的计算复杂度。的计算复杂度。
技术研发人员:方嘉铭
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2023.05.11
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
