用于实现业务任务的码的校验方法及装置的制造方法_2

文档序号:9471251阅读:来源:国知局
所述作用码的转化规则,将所述待校验的码中的作用码转化为所述任务标识。
[0096]可选地,所述第一子字符串为M位,所述作用码的转化规则包括:
[0097]乱序所述第一子字符串,得到M进制数的字符列表;
[0098]基于所述M进制数的字符列表,计算所述任务标识的M进制数。
[0099]可选地,所述任务标识确定组件还适于:
[0100]根据所述M进制数的字符列表,将所述待校验的码中的作用码从M进制数转换为所述任务标识。
[0101]可选地,所述装置还包括:
[0102]业务任务处理组件,适于所述任务标识确定组件解析所述作用码的转化规则,将所述待校验的码的作用码转化为所述任务标识之后,根据所述任务标识查找相应的业务任务,并进行业务逻辑操作。
[0103]在本发明实施例中,获取并解析待校验的码的生成规则,从待校验的码中截取了用于自校验的校验码,并将剩余的码作为待计算码。随后,获取并解析用于自校验的校验码的生成规则,生成待计算码的待校验字符。之后,比较用于自校验的校验码与待校验字符,根据比较结果确定待校验的码是否通过校验。本发明实施例在校验的过程中,即时生成待计算码的待校验字符,进而将待校验的码中用于自校验的校验码与待计算码的待校验字符进行比较来确定待校验的码是否通过校验。如果在传输的过程中,待校验的码中的待计算码出错,如字符丢失或被篡改等,那么根据待计算码生成的待校验字符与待校验的码中用于自校验的校验码一定是不同的,是无法通过校验的,因而可以通过校验结果来确定传输的过程中待校验的码是否出错。
[0104]进一步,本发明实施例的待校验的码除了包括作用码外,还包括了混淆码以及用于自校验的校验码,从而起到了防篡改、防暴力破解的作用,极大提高了码的安全性。
[0105]另外,本发明实施例在待校验的码通过校验之后,能够从通过校验的码中解析出作用码,由于作用码是由业务的任务标识转化得到的,通过作用码能够计算出对应业务的任务标识,从而可以根据业务的任务标识查询到相应的业务任务,进而进行业务逻辑操作。由于通过校验的码的长度大于业务的任务标识的长度,本发明实施例直接通过业务的任务标识查询相应的业务任务,相比于现有技术中需要使用通过校验的码本身去做索引查找相应的业务,查询业务的效率更高。并且,通过校验的码中通常包含字母,字母占用字节比数字多,而业务的任务标识一般是由数字组成,因而业务的任务标识占用字节比生成的码少,因此本发明实施例使用业务的任务标识做索引,相比于现有技术中使用通过校验的码本身做索引,能够减少内存的占用,节约系统资源。
[0106]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0107]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
【附图说明】
[0108]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0109]图1示出了根据本发明一个实施例的用于实现业务任务的码的生成方法的流程图;
[0110]图2示出了根据本发明一个实施例的用于自校验的校验码的生成方法的流程图;
[0111]图3示出了根据本发明一个实施例的用于实现业务任务的码的校验方法的流程图;
[0112]图4示出了根据本发明一个实施例的待计算码的待校验字符的生成方法的流程图;
[0113]图5示出了根据本发明一个实施例的用于实现业务任务的码的生成装置的结构示意图;
[0114]图6示出了根据本发明一个实施例的用于实现业务任务的码的校验装置的结构不意图;以及
[0115]图7示出了根据本发明另一个实施例的用于实现业务任务的码的校验装置的结构示意图。
【具体实施方式】
[0116]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0117]在介绍本发明实施例提供的一种用于实现业务任务的码的校验方法之前,首先介绍业务任务的码的生成过程,在生成业务任务的码的过程中,不妨称该业务任务的码为待生成码。这里的业务任务可以如上文提及的,在互联网应用的很多场景中所涉及的业务任务,如邀请任务、兑换游戏道具、减免购物费用等,本发明实施例对此不加以限制。
[0118]图1示出了根据本发明一个实施例的用于实现业务任务的码的生成方法的流程图。该方法可以应用在终端、服务器或者其他设备中,用于生成业务任务的码。如图1所示,该方法至少包括以下步骤S102至步骤S108。
[0119]步骤S102,获取用于生成待生成码的字符串,从该字符串中提取第一子字符串,并从剩余部分提取第二子字符串。
[0120]步骤S104,获取业务的任务标识,将任务标识转换为第一子字符串中的字符,作为待生成码中的作用码。
[0121]步骤S106,从第二子字符串中随机抽取第一指定长度的字符串作为待生成码中的混淆码,并利用作用码和混淆码,生成待生成码中用于自校验的校验码。
[0122]步骤S108,基于作用码、混淆码以及用于自校验的校验码,生成待生成码。
[0123]上文步骤S102中提及的用于生成待生成码的字符串,该字符串中可以有相同的字符或者该字符串中的字符两两不同。当字符串中有相同的字符时,从该字符串中提取的第一子字符串和第二子字符串中可能存在相同的字符。例如,获取用于生成待生成码的字符串为“abcdefghl23456789ab”,从该字符串中提取第一子字符串为“abcdefghl2”,第二子字符串为“3456789ab”,这里的第一子字符串和第二子字符串中存在相同的字符“ab”。为了保证后续对生成的码进行准确地解析,在步骤S108中基于作用码、混淆码以及用于自校验的校验码生成待生成码时,可以指定这三者(即,作用码、混淆码以及用于自校验的校验码)的排序位置,例如,排序位置依次为混淆码、作用码以及用于自校验的校验码;或者,排序位置依次为作用码、混淆码以及用于自校验的校验码;或者,排序位置依次为用于自校验的校验码、作用码以及混淆码。在后续对生成的码进行解析时,依据指定的排序位置进行解析校验,从而对生成的码进行准确地解析。
[0124]当字符串中的字符两两不同时,从该字符串中提取的第一子字符串和第二子字符串中均不存在相同的字符,以及第一子字符串与第二子字符串相互之间也不存在相同的字符,则基于第一子字符串生成的作用码以及基于第二子字符串生成的混淆码也不存在相同的字符,因而对于生成的码中除去用于自校验的校验码后的任意字符,可以准确地区分是作用码或混淆码。因此,在步骤S108中基于作用码、混淆码以及用于自校验的校验码生成待生成码时,不需要指定作用码和混淆码的排序位置,例如混淆码可以打乱随机插入作用码中,仍然可以保证后续对生成的码进行准确地解析。并且,这种生成码的方式能够进一步起到防篡改、防暴力破解的作用,极大提高了生成的码的安全性。需要说明的是,在实际操作中也可以指定作用码和混淆码的排序位置,本发明实施例对此不加以限制。
[0125]步骤S104中基于业务的任务标识生成待生成码中的作用码,本发明实施例提供了一种可选的方案,在该方案中,第一子字符串为M位,乱序第一子字符串,得到M进制数的字符列表,进而基于M进制数的字符列表,计算任务标识的M进制数。进一步,可以确定任务标识的当前进制数,进而基于M进制数的字符列表,将任务标识从当前进制数转换为M进制数。
[0126]例如,业务的任务标识为数据表中的自增列,如从十进制数“O”开始自增,步长为1,自增列为0、1、2、3…η,η为正整数。用于生成待生成码的字符串为Μ+Ν 位的 “s25a9rwc78pzdgt6jbu4eh3fnqyxmkv”,第一子字符串为 M(M = 26)位的“s259rwc78pzdgt6jbue3fnqymk”,第二子字符串为 N(N = 5)位的 “a4hxv”。乱序第一子字符串,得到M进制数的字符列表为“ws5gr2pumk7q3c6tfdj9bzney8”,自增列中十进制数“O”的M进制数为“w”作为待生成码中的作用码,十进制数“ I”的M进制数为“s”作为待生成码中的作用码,以此类推。需要说明的是,此处列举仅是示意性的,本发明实施例对此不加以限制。
[0127]在步骤S106中利用作用码和混淆码,生成待生成码中用于自校验的校验码,本发明实施例提供了一种可选的方案。图2示出了根据本发明一个实施例的用于自校验的校验码的生成方法的流程图。如图2所示,该方法至少包括以下步骤S202至步骤S206。
[0128]步骤S202,将混淆码打乱随机插入作用码中,生成中间码。
[0129]在该步骤中,以上文的例子为例,从第二子字符串“a4hxv”中随机抽取第一指定长度(假设为4)的字符串“ahx4”作为待生成码中的混淆码,将混淆码“ahx4”打乱随机插入作用码“w”中,生成中间码为“a4hxw”。进一步,还可以将混淆码打乱随机插入作用码的任意多个位置生成中间码,例如,将混淆码“ahx4”打乱随机插入作用码“w”的任意多个位置,生成中间码为“a4whx”。需要说明的是,此处列举仅是示意性的,本发明实施例对此不加以限制。
[0130]步骤S204,计算中间码的校验码。
[0131]在该步骤中,本发明实施例提供了一种可选的方案,S卩,字符串为M+N位,可以乱序该字符串,得到M+N进制数的字符列表,并计算中间码的CRC (Cyclic Redundancy Check,循环校验码)值。随后,基于M+N进制数的字符列表,将中间码的CRC值转换为M+N进制数,作为中间码的校验码。
[0132]以上文的例子为例,生成的中间码为“ a4whx ”,计算该中间码的CRC32值为-10822859820(由二进制数转换得到的十进制数)。在计算码的CRC值时,可以有不同的CRC算法,如CRC8、CRC12、CRC16、CRC32等,每个CRC算法表示不同的生成多项式。本例中示意性地计算中间码的CRC32值,本发明实施例对此不加以限制。随后,基于M+N进制数的字符列表,将中间码的CRC32值“-10822859820”转换为M+N进制数“aksdf8dk”,作为中间码的校验码。
[0133]步骤S206,从计算得到的中间码的检验码中取第二指定长度的校验码,作为待生成码中用于自校验的校验码。
[0134]在该步骤中,可以从计算得到的中间码的检验码的初始位置起,顺序取第二指定长度位,作为待生成码中用于自校验的校验码;或者,从计算得到的中间码的检验码的末尾位置起,逆序取第二指定长度位,作为待生成码中用于自校验的校验码。
[0135]在计算得到的中间码的检验码“aksdfSdk”中,从初始位置起,顺序取第二指定长度(假设为3)位“aks”,作为待生成码中用于自校验的校验码。或者,从末尾位置起,逆序取第二指定长度(假设为3)位“8dk”,作为待生成码中用于自校验的校验码。需要说明的是,此处列举仅是示意性的,本发明实施例对此不加以限制。
[0136]进一步,步骤S106中提及的第一指定长度可以通过以下步骤来实现,S卩,确定待生成码的长度以及待生成码中的作用码的长度,进而将待生成码的长度减去待生成码中的作用码的长度与第二指定长度(即,待生成码中用于自校验的校验码的长度)之和,得到的长度值确定为第一指定长度(即,待生成码中的混淆码的长度)。在实际操作中,待生成码的长度、待生成码中的作用码的长度、待生成码中的混淆码的长度以及待生成码中用于自校验的校验码的长度,这四个长度中确定任意三个,即可得到第四个长度。
[0137]在步骤S106利用作用码和混淆码,生成待生成码中用于自校验的校验码之后,步骤S108中基于作用码、混淆码以及用于自校验的校验码,生成待生成码,本发明实施例提供了一种可选的方案,在该可选的方案中,由于混淆码打乱随机插入作用码中生成了中间码,因而可以将用于自校验的校验码附加在中间码的末尾,生成待生成码;或者,还可以将用于自校验的校验码附加在中间码的前端,生成待生成码。
[0138]例如,上文步骤S202中生成的中间码为“a4whx”,步骤S206中从中间码的检验码“aksdfSdk”中截取的用于自校验的校验码为“aks”或“8dk”。
[0139]对于用于自校验的校验码“aks”,可以将“aks”附加在中间码“a4whx”的末尾,生成待生
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1