数字ID混淆方法、混淆数字ID校验方法及装置与流程

文档序号:18886556发布日期:2019-10-15 21:00阅读:630来源:国知局
数字ID混淆方法、混淆数字ID校验方法及装置与流程

本公开涉及计算机技术领域,尤其涉及数字id混淆方法、混淆数字id校验方法及装置。



背景技术:

相关技术中,数字id常用于标注数据(例如商品信息、视频数据等)。为了确保数字id的安全性,在发送包括数字id的信息时,可以对数字id进行混淆,以便于避免恶意用户在获取到数字id后,通过分析该数字id得到数字id的编码规则,进而通过遍历数字id调用查询接口获取与数字id对应的数据,实现对数据的全量抓取,造成数据库被拖库。



技术实现要素:

为克服相关技术中存在的问题,本公开的实施例提供一种数字id混淆方法及装置。技术方案如下:

根据本公开的实施例的第一方面,提供一种数字id混淆方法,包括:

获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组;

根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,版本号用于指示目标位、目标数以及目标位字节数字中至少一项;

将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

本公开的实施例提供的技术方案中,通过获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组,根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。由于在该技术方案中,版本号用于指示目标位、目标数以及目标位字节数字中至少一项,因此一方面在混淆方案中可以较为方便的通过调整目标位、目标数以及目标位字节数字对混淆方案进行调整,达到在不增加人力损耗的前提下使混淆方案多样化的目的,另一方面可以使获取该混淆后数字id的用户较为方便的通过版本号对混淆方案进行确定,从而根据相应的校验方法对该混淆后数字id进行校验,从而提高了对数字id进行混淆的安全性,改善了用户体验。

在一个实施例中,方法还包括:

根据版本号确定第一划分比例,并根据第一划分比例将待混淆字节数组划分为前后两段;

对待混淆字节数组进行字节翻转,使待混淆字节数组的前段和后段对调,生成第一翻转字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,包括:

对第一翻转字节数组中的每个字节与目标字节数字进行抑或运算。

在一个实施例中,方法还包括:

根据版本号确定第二划分比例,并根据第二划分比例将拼接字节数组划分为前后两段;

对拼接字节数组进行字节翻转,使拼接字节数组的前段和后段对调,生成第二翻转字节数组;

将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出,包括:

将第二翻转字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

根据本公开的实施例的第二方面,提供一种混淆数字id校验方法,包括:

获取混淆数字id,并将混淆数字id转换为混淆字节数组;

从混淆字节数组的字节数组首元素获取版本号;

根据版本号确定目标位、目标字节数字以及目标数;

根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成验证目标位字节数组;

当目标位字节数组与验证目标位字节数组相同时,校验通过。

在一个实施例中,将混淆数字id转换为混淆字节数组,包括:

当混淆数字id的字符串长度满足字符串长度预设条件,且混淆数字id中每个字符的取值范围满足字符取值范围预设条件时,将混淆数字id转换为混淆字节数组。

在一个实施例中,方法还包括:

根据版本号确定第三划分比例,并根据第三划分比例将混淆字节数组划分为前后两段;

对混淆字节数组进行字节翻转,使混淆字节数组的前段和后段对调,生成第三翻转字节数组;

根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组,包括:

根据目标数在第三翻转字节数组中确定目标位字节数组以及待混淆字节数组。

在一个实施例中,方法还包括:

对目标字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的目标字节数组进行逆字节数组转换,生成未混淆数字id。

在一个实施例中,对抑或运算后的目标字节数组进行逆字节数组转换,生成未混淆数字id,包括:

根据版本号确定第四划分比例,并根据第四划分比例将抑或运算后的目标字节数组划分为前后两段;

对抑或运算后的目标字节数组进行字节翻转,使抑或运算后的目标字节数组的前段和后段对调,生成第四翻转字节数组;

对第四翻转字节数组进行逆字节数组转换,生成未混淆数字id。

根据本公开的实施例的第三方面,提供一种数字id混淆装置,包括:

未混淆数字id获取模块,用于获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组;

第一抑或模块,用于对待混淆字节数组中的每个字节与目标字节数字进行抑或运算;

第一哈希模块,用于对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组;

拼接模块,用于根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,版本号用于指示目标位、目标数以及目标位字节数字中至少一项;

字符串转换模块,用于将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

在一个实施例中,装置还包括:

第一划分模块,用于根据版本号确定第一划分比例,并根据第一划分比例将待混淆字节数组划分为前后两段;

第一字节翻转模块,用于对待混淆字节数组进行字节翻转,使待混淆字节数组的前段和后段对调,生成第一翻转字节数组;

第一抑或模块,包括:

第一抑或子模块,用于对第一翻转字节数组中的每个字节与目标字节数字进行抑或运算。

在一个实施例中,装置还包括:

第二划分模块,用于根据版本号确定第二划分比例,并根据第二划分比例将拼接字节数组划分为前后两段;

第二字节翻转模块,用于对拼接字节数组进行字节翻转,使拼接字节数组的前段和后段对调,生成第二翻转字节数组;

字符串转换模块,包括:

字符串转换子模块,用于将第二翻转字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

根据本公开的实施例的第四方面,提供一种混淆数字id校验装置,包括:

混淆字节数组获取模块,用于获取混淆数字id,并将混淆数字id转换为混淆字节数组;

版本号获取模块,用于从混淆字节数组的字节数组首元素获取版本号;

目标确定模块,用于根据版本号确定目标位、目标字节数字以及目标数;

数组确定模块,用于根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组;

第二抑或模块,用于对待混淆字节数组中的每个字节与目标字节数字进行抑或运算;

第二哈希模块,用于对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成验证目标位字节数组;

校验模块,用于当目标位字节数组与验证目标位字节数组相同时,校验通过。

在一个实施例中,混淆字节数组获取模块,包括:

混淆字节数组获取子模块,用于当混淆数字id的字符串长度满足字符串长度预设条件,且混淆数字id中每个字符的取值范围满足字符取值范围预设条件时,将混淆数字id转换为混淆字节数组。

在一个实施例中,装置还包括:

第三划分模块,用于根据版本号确定第三划分比例,并根据第三划分比例将混淆字节数组划分为前后两段;

第三字节翻转模块,用于对混淆字节数组进行字节翻转,使混淆字节数组的前段和后段对调,生成第三翻转字节数组;

数组确定模块,包括:

数组确定子模块,用于根据目标数在第三翻转字节数组中确定目标位字节数组以及待混淆字节数组。

在一个实施例中,装置还包括:

第三抑或模块,用于对目标字节数组中的每个字节与目标字节数字进行抑或运算;

混淆恢复模块,用于对抑或运算后的目标字节数组进行逆字节数组转换,生成未混淆数字id。

在一个实施例中,混淆恢复模块,包括:

第四划分子模块,用于根据版本号确定第四划分比例,并根据第四划分比例将抑或运算后的目标字节数组划分为前后两段;

第四字节翻转子模块,用于对抑或运算后的目标字节数组进行字节翻转,使抑或运算后的目标字节数组的前段和后段对调,生成第四翻转字节数组;

混淆恢复子模块,用于对第四翻转字节数组进行逆字节数组转换,生成未混淆数字id。

根据本公开的实施例的第五方面,提供一种数字id混淆装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,处理器被配置为:

获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组;

根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,版本号用于指示目标位、目标数以及目标位字节数字中至少一项;

将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

根据本公开的实施例的第六方面,提供一种混淆数字id校验装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,处理器被配置为:

获取混淆数字id,并将混淆数字id转换为混淆字节数组;

从混淆字节数组的字节数组首元素获取版本号;

根据版本号确定目标位、目标字节数字以及目标数;

根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成验证目标位字节数组;

当目标位字节数组与验证目标位字节数组相同时,校验通过。

根据本公开的实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现本公开的实施例的第一方面任一项方法的步骤。

根据本公开的实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现本公开的实施例的第二方面任一项方法的步骤。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1根据一示例性实施例示出的数字id混淆方法的流程示意图;

图2据一示例性实施例示出的数字id混淆方法的流程示意图;

图3据一示例性实施例示出的数字id混淆方法的流程示意图;

图4据一示例性实施例示出的混淆数字id校验方法的流程示意图;

图5据一示例性实施例示出的混淆数字id校验方法的流程示意图;

图6据一示例性实施例示出的混淆数字id校验方法的流程示意图;

图7据一示例性实施例示出的混淆数字id校验方法的流程示意图;

图8是根据一示例性实施例示出的数字id混淆装置的结构示意图;

图9是根据一示例性实施例示出的数字id混淆装置的结构示意图;

图10是根据一示例性实施例示出的数字id混淆装置的结构示意图;

图11是根据一示例性实施例示出的混淆数字id校验装置的结构示意图;

图12是根据一示例性实施例示出的混淆数字id校验装置的结构示意图;

图13是根据一示例性实施例示出的混淆数字id校验装置的结构示意图;

图14是根据一示例性实施例示出的混淆数字id校验装置的结构示意图;

图15是根据一示例性实施例示出的混淆数字id校验装置的结构示意图;

图16是根据一示例性实施例示出的一种装置的框图;

图17是根据一示例性实施例示出的一种装置的框图;

图18是根据一示例性实施例示出的一种装置的框图;

图19是根据一示例性实施例示出的一种装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

随着科学技术的高速发展和人们生活水平的不断提高,近年来,大数据技术发展迅速,随之而来的,数据的重要性也不断提高。相关技术中,数字id常用于标注数据(例如商品信息、视频数据等)。为了确保数字id的安全性,在发送包括数字id的信息时,可以对数字id进行混淆,以避免恶意用户在获取到数字id后,通过分析该数字id得到数字id的编码规则,进而通过遍历数字id调用查询接口获取与数字id对应的数据,实现对数据的全量抓取,造成数据库被拖库。

相关技术中,在对数字id进行混淆时,可以使用md5消息摘要算法(md5message-digestalgorithm)对数字id做编码处理,以实现对数字id进行混淆的目的,但上述方案中,由于混淆方案较为单一,混淆后的数字id的特征较为明显,容易被猜出混淆的具体步骤,从而降低了对数字id进行混淆的安全性,使用混淆后数字id的数据库容易被脱库,损害了用户体验。

为了解决上述问题,本公开的实施例提供的技术方案中,通过获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组,根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。由于在该技术方案中,版本号用于指示目标位、目标数以及目标位字节数字中至少一项,因此一方面在混淆方案中可以较为方便的通过调整目标位、目标数以及目标位字节数字对混淆方案进行调整,达到在不增加人力损耗的前提下使混淆方案多样化的目的,另一方面可以使获取该混淆后数字id的用户较为方便的通过版本号对混淆方案进行确定,从而根据相应的校验方法对该混淆后数字id进行校验,从而提高了对数字id进行混淆的安全性,改善了用户体验。

本公开的实施例提供了一种数字id混淆方法,如图1所示,包括如下步骤101至步骤105:

在步骤101中,获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组。

示例性的,未混淆数字id可以为8字节的long型数字id,也可以为4字节的int型数字id,或2字节的short型数字id。例如,当未混淆数字id为8字节的long型数字id时,待混淆字节数组可以为长度为9的字节数组。

在步骤102中,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算。

示例性的,目标字节数字可以为预先储存在数字id混淆设备中,也可以为数字id混淆设备从其他装置或系统处获取,或用户通过人机交互装置输入。

在步骤103中,对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组。

示例性的,对抑或运算后的待混淆字节数组进行哈希运算,可以为使用md5消息摘要算法对抑或运算后的待混淆字节数组进行哈希运算。

目标位可以为预先储存在数字id混淆设备中,也可以为数字id混淆设备从其他装置或系统处获取,或用户通过人机交互装置输入。

在步骤104中,根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组。

其中,版本号用于指示目标位、目标数以及目标位字节数字中至少一项。

示例性的,数字id混淆设备可以储存有版本号数据库,该版本号数据库可以用于指示版本号与目标位、目标数以及目标位字节数字中至少一项的对应关系,其中,当版本号与目标位、目标数以及目标位字节数字中一项或多项不存在对应关系时,目标位、目标数以及目标位字节数字中与版本号不存在对应关系的项可以使用默认值,该默认值可以为预先储存在数字id混淆设备中,也可以为数字id混淆设备从其他装置或系统处获取,或用户通过人机交互装置输入。

在步骤105中,将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

本公开的实施例提供的技术方案中,通过获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组,根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。由于在该技术方案中,版本号用于指示目标位、目标数以及目标位字节数字中至少一项,因此一方面在混淆方案中可以较为方便的通过调整目标位、目标数以及目标位字节数字对混淆方案进行调整,达到在不增加人力损耗的前提下使混淆方案多样化的目的,另一方面可以使获取该混淆后数字id的用户较为方便的通过版本号对混淆方案进行确定,从而根据相应的校验方法对该混淆后数字id进行校验,从而提高了对数字id进行混淆的安全性,改善了用户体验。

在一个实施例中,如图2所示,本公开的实施例提供的数字id混淆方法,还包括如下步骤106至步骤107:

在步骤106中,根据版本号确定第一划分比例,并根据第一划分比例将待混淆字节数组划分为前后两段。

示例性的,第一划分比例可以为1:1,即将待混淆字节数组划分为1:1的前半段与后半段。

在步骤107中,对待混淆字节数组进行字节翻转,使待混淆字节数组的前段和后段对调,生成第一翻转字节数组。

在步骤102中,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,可以通过步骤1021实现:

在步骤1021中,对第一翻转字节数组中的每个字节与目标字节数字进行抑或运算。

通过根据版本号确定第一划分比例,并根据第一划分比例将待混淆字节数组划分为前后两段,并对待混淆字节数组进行字节翻转,使待混淆字节数组的前段和后段对调,生成第一翻转字节数组,对第一翻转字节数组中的每个字节与目标字节数字进行抑或运算,可以在不增加验证难度的前提下,增加混淆后数字id的复杂程度,降低非法用户从混淆后数字id总结出混淆方案的几率,总而提高了安全性,改善了用户体验。

在一个实施例中,如图3所示,本公开的实施例提供的数字id混淆方法,还包括如下步骤108至步骤109:

在步骤108中,根据版本号确定第二划分比例,并根据第二划分比例将拼接字节数组划分为前后两段。

在步骤109中,对拼接字节数组进行字节翻转,使拼接字节数组的前段和后段对调,生成第二翻转字节数组。

在步骤105中,将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出,可以通过步骤1051实现:

在步骤1051中,将拼接字节数组转换为字符串,并将第二翻转字节数组作为混淆数字id输出。

通过根据版本号确定第二划分比例,并根据第二划分比例将拼接字节数组划分为前后两段,并对拼接字节数组进行字节翻转,使拼接字节数组的前段和后段对调,生成第二翻转字节数组,将拼接字节数组转换为字符串,并将第二翻转字节数组作为混淆数字id输出可以在不增加验证难度的前提下,增加混淆后数字id的复杂程度,降低非法用户从混淆后数字id总结出混淆方案的几率,总而提高了安全性,改善了用户体验。

本公开的实施例提供了一种混淆数字id校验方法,如图4所示,包括如下步骤201至步骤207:

在步骤201中,获取混淆数字id,并将混淆数字id转换为混淆字节数组。

示例性的,将混淆数字id转换为混淆字节数组,可以通过当混淆数字id的字符串长度满足字符串长度预设条件,且混淆数字id中每个字符的取值范围满足字符取值范围预设条件时,将混淆数字id转换为混淆字节数组。例如:当混淆数字id被规定为十六进制时,若混淆数字id中的时候字符的包括0到f之外的字符时,则认为混淆数字id中的这个字符的取值范围不满足字符取值范围预设条件。由于当混淆数字id中的某字符的取值范围不满足字符取值范围预设条件时,可能是因为该混淆数字id是无效数字id,后续校验结果失败几率较高,因此上述步骤可以提高混淆数字id校验的成功率。

在步骤202中,从混淆字节数组的字节数组首元素获取版本号。

在步骤203中,根据版本号确定目标位、目标字节数字以及目标数。

在步骤204中,根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组。

在步骤205中,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算。

在步骤206中,对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成验证目标位字节数组。

在步骤207中,当目标位字节数组与验证目标位字节数组相同时,校验通过。

本公开的实施例提供的技术方案中,通过获取混淆数字id,并将混淆数字id转换为混淆字节数组,从混淆字节数组的字节数组首元素获取版本号,根据版本号确定目标位、目标字节数字以及目标数,根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成验证目标位字节数组,当目标位字节数组与验证目标位字节数组相同时,校验通过。在上述方案中,由于根据版本号确定目标位、目标字节数字以及目标数,因此可以在具备多种混淆方案时(即不同的目标位、目标字节数字以及目标数进行组合可以获取不同的混淆方案),较为方便的对混淆数字id进行验证,达到在不增加人力损耗的前提下,对多样化的混淆方案所生成的混淆数字id进行验证的目的,从而提高了对数字id进行混淆的安全性,改善了用户体验。

在一个实施例中,如图5所示,方法还包括步骤208至步骤209:

在步骤208中,根据版本号确定第三划分比例,并根据第三划分比例将混淆字节数组划分为前后两段。

在步骤209中,对混淆字节数组进行字节翻转,使混淆字节数组的前段和后段对调,生成第三翻转字节数组。

在步骤204中,根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组,可以通过步骤2041实现:

在步骤2041中,根据目标数在第三翻转字节数组中确定目标位字节数组以及待混淆字节数组。

在一个实施例中,如图6所示,方法还包括步骤210至步骤211:

在步骤210中,对目标字节数组中的每个字节与目标字节数字进行抑或运算。

在步骤211中,对抑或运算后的目标字节数组进行逆字节数组转换,生成未混淆数字id。

在一个实施例中,如图7所示,在步骤211中,对抑或运算后的目标字节数组进行逆字节数组转换,生成未混淆数字id,可以通过步骤2111至步骤2113实现:

在步骤2111中,根据版本号确定第四划分比例,并根据第四划分比例将抑或运算后的目标字节数组划分为前后两段。

在步骤2112中,对抑或运算后的目标字节数组进行字节翻转,使抑或运算后的目标字节数组的前段和后段对调,生成第四翻转字节数组。

在步骤2113中,对第四翻转字节数组进行逆字节数组转换,生成未混淆数字id。

下述为本公开装置实施例,可以用于执行本公开方法实施例。

图8是根据一个示例性实施例示出的一种数字id混淆装置30的框图,数字id混淆装置30可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图8所示,该数字id混淆装置30包括:

未混淆数字id获取模块301,用于获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组。

第一抑或模块302,用于对待混淆字节数组中的每个字节与目标字节数字进行抑或运算。

第一哈希模块303,用于对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组。

拼接模块304,用于根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,版本号用于指示目标位、目标数以及目标位字节数字中至少一项。

字符串转换模块305,用于将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

在一个实施例中,如图9所示,数字id混淆装置30还包括:

第一划分模块306,用于根据版本号确定第一划分比例,并根据第一划分比例将待混淆字节数组划分为前后两段。

第一字节翻转模块307,用于对待混淆字节数组进行字节翻转,使待混淆字节数组的前段和后段对调,生成第一翻转字节数组。

第一抑或模块302,包括:

第一抑或子模块3021,用于对第一翻转字节数组中的每个字节与目标字节数字进行抑或运算。

在一个实施例中,如图10所示,数字id混淆装置30还包括:

第二划分模块308,用于根据版本号确定第二划分比例,并根据第二划分比例将拼接字节数组划分为前后两段。

第二字节翻转模块309,用于对拼接字节数组进行字节翻转,使拼接字节数组的前段和后段对调,生成第二翻转字节数组。

字符串转换模块305,包括:

字符串转换子模块3051,用于将第二翻转字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

本公开的实施例提供一种数字id混淆装置,该数字id混淆装置可以通过获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组,根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。由于在该技术方案中,版本号用于指示目标位、目标数以及目标位字节数字中至少一项,因此一方面在混淆方案中可以较为方便的通过调整目标位、目标数以及目标位字节数字对混淆方案进行调整,达到在不增加人力损耗的前提下使混淆方案多样化的目的,另一方面可以使获取该混淆后数字id的用户较为方便的通过版本号对混淆方案进行确定,从而根据相应的校验方法对该混淆后数字id进行校验,从而提高了对数字id进行混淆的安全性,改善了用户体验。

图11是根据一个示例性实施例示出的一种混淆数字id校验装置40的框图,混淆数字id校验装置40可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图11所示,该混淆数字id校验装置40包括:

混淆字节数组获取模块401,用于获取混淆数字id,并将混淆数字id转换为混淆字节数组。

版本号获取模块402,用于从混淆字节数组的字节数组首元素获取版本号。

目标确定模块403,用于根据版本号确定目标位、目标字节数字以及目标数。

数组确定模块404,用于根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组。

第二抑或模块405,用于对待混淆字节数组中的每个字节与目标字节数字进行抑或运算。

第二哈希模块406,用于对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成验证目标位字节数组。

校验模块407,用于当目标位字节数组与验证目标位字节数组相同时,校验通过。

在一个实施例中,如图12所示,混淆字节数组获取模块401,包括:

混淆字节数组获取子模块4011,用于当混淆数字id的字符串长度满足字符串长度预设条件,且混淆数字id中每个字符的取值范围满足字符取值范围预设条件时,将混淆数字id转换为混淆字节数组。

在一个实施例中,如图13所示,混淆数字id校验装置40还包括:

第三划分模块408,用于根据版本号确定第三划分比例,并根据第三划分比例将混淆字节数组划分为前后两段。

第三字节翻转模块409,用于对混淆字节数组进行字节翻转,使混淆字节数组的前段和后段对调,生成第三翻转字节数组。

数组确定模块404,包括:

数组确定子模块4041,用于根据目标数在第三翻转字节数组中确定目标位字节数组以及待混淆字节数组。

在一个实施例中,如图14所示,混淆数字id校验装置40还包括:

第三抑或模块410,用于对目标字节数组中的每个字节与目标字节数字进行抑或运算.

混淆恢复模块411,用于对抑或运算后的目标字节数组进行逆字节数组转换,生成未混淆数字id。

在一个实施例中,如图15所示,混淆恢复模块411,包括:

第四划分子模块4111,用于根据版本号确定第四划分比例,并根据第四划分比例将抑或运算后的目标字节数组划分为前后两段。

第四字节翻转子模块4112,用于对抑或运算后的目标字节数组进行字节翻转,使抑或运算后的目标字节数组的前段和后段对调,生成第四翻转字节数组。

混淆恢复子模块4113,用于对第四翻转字节数组进行逆字节数组转换,生成未混淆数字id。

本公开的实施例提供一种混淆数字id校验装置,该混淆数字id校验装置可以通过获取混淆数字id,并将混淆数字id转换为混淆字节数组,从混淆字节数组的字节数组首元素获取版本号,根据版本号确定目标位、目标字节数字以及目标数,根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成验证目标位字节数组,当目标位字节数组与验证目标位字节数组相同时,校验通过。在上述方案中,由于根据版本号确定目标位、目标字节数字以及目标数,因此可以在具备多种混淆方案时(即不同的目标位、目标字节数字以及目标数进行组合可以获取不同的混淆方案),较为方便的对混淆数字id进行验证,达到在不增加人力损耗的前提下,对多样化的混淆方案所生成的混淆数字id进行验证的目的,从而提高了对数字id进行混淆的安全性,改善了用户体验。

图16是根据一示例性实施例示出的一种数字id混淆装置50的框图,该数字id混淆装置50可以为服务器或服务器的一部分,也可以为终端或终端的一部分,数字id混淆装置50包括:

处理器501;

用于存储处理器501可执行指令的存储器502;

其中,处理器501被配置为:

获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组;

根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,版本号用于指示目标位、目标数以及目标位字节数字中至少一项;

将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

在一个实施例中,上述处理器501还可以被配置为:

根据版本号确定第一划分比例,并根据第一划分比例将待混淆字节数组划分为前后两段;

对待混淆字节数组进行字节翻转,使待混淆字节数组的前段和后段对调,生成第一翻转字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,包括:

对第一翻转字节数组中的每个字节与目标字节数字进行抑或运算。

在一个实施例中,上述处理器501还可以被配置为:

根据版本号确定第二划分比例,并根据第二划分比例将拼接字节数组划分为前后两段;

对拼接字节数组进行字节翻转,使拼接字节数组的前段和后段对调,生成第二翻转字节数组;

将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出,包括:

将第二翻转字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

本公开的实施例提供的一种数字id混淆装置,该数字id混淆装置通过获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组,根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。由于在该技术方案中,版本号用于指示目标位、目标数以及目标位字节数字中至少一项,因此一方面在混淆方案中可以较为方便的通过调整目标位、目标数以及目标位字节数字对混淆方案进行调整,达到在不增加人力损耗的前提下使混淆方案多样化的目的,另一方面可以使获取该混淆后数字id的用户较为方便的通过版本号对混淆方案进行确定,从而根据相应的校验方法对该混淆后数字id进行校验,从而提高了对数字id进行混淆的安全性,改善了用户体验。

图17是根据一示例性实施例示出的一种混淆数字id校验装置60的框图,该混淆数字id校验装置60可以为服务器或服务器的一部分,也可以为终端或终端的一部分,混淆数字id校验装置60包括:

处理器601;

用于存储处理器601可执行指令的存储器602;

其中,处理器601被配置为:

获取混淆数字id,并将混淆数字id转换为混淆字节数组;

从混淆字节数组的字节数组首元素获取版本号;

根据版本号确定目标位、目标字节数字以及目标数;

根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成验证目标位字节数组;

当目标位字节数组与验证目标位字节数组相同时,校验通过。

在一个实施例中,上述处理器601还可以被配置为:

将混淆数字id转换为混淆字节数组,包括:

当混淆数字id的字符串长度满足字符串长度预设条件,且混淆数字id中每个字符的取值范围满足字符取值范围预设条件时,将混淆数字id转换为混淆字节数组。

在一个实施例中,上述处理器601还可以被配置为:

根据版本号确定第三划分比例,并根据第三划分比例将混淆字节数组划分为前后两段;

对混淆字节数组进行字节翻转,使混淆字节数组的前段和后段对调,生成第三翻转字节数组;

根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组,包括:

根据目标数在第三翻转字节数组中确定目标位字节数组以及待混淆字节数组。

在一个实施例中,上述处理器601还可以被配置为:

对目标字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的目标字节数组进行逆字节数组转换,生成未混淆数字id。

在一个实施例中,上述处理器601还可以被配置为:

对抑或运算后的目标字节数组进行逆字节数组转换,生成未混淆数字id,包括:

根据版本号确定第四划分比例,并根据第四划分比例将抑或运算后的目标字节数组划分为前后两段;

对抑或运算后的目标字节数组进行字节翻转,使抑或运算后的目标字节数组的前段和后段对调,生成第四翻转字节数组;

对第四翻转字节数组进行逆字节数组转换,生成未混淆数字id。

本公开的实施例提供的一种混淆数字id校验装置,该混淆数字id校验装置通过获取混淆数字id,并将混淆数字id转换为混淆字节数组,从混淆字节数组的字节数组首元素获取版本号,根据版本号确定目标位、目标字节数字以及目标数,根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组,对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成验证目标位字节数组,当目标位字节数组与验证目标位字节数组相同时,校验通过。在上述方案中,由于根据版本号确定目标位、目标字节数字以及目标数,因此可以在具备多种混淆方案时(即不同的目标位、目标字节数字以及目标数进行组合可以获取不同的混淆方案),较为方便的对混淆数字id进行验证,达到在不增加人力损耗的前提下,对多样化的混淆方案所生成的混淆数字id进行验证的目的,从而提高了对数字id进行混淆的安全性,改善了用户体验。

图18据一示例性实施例示出的一种用于混淆数字id的装置700的框图。例如,装置700可以被提供为一服务器。装置700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行上述方法。

装置700还可以包括一个电源组件726被配置为执行装置700的电源管理,一个有线或无线网络接口750被配置为将装置700连接到网络,和一个输入输出接口758。装置700可以操作基于存储在存储器732的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置700的处理器执行时,使得装置700能够执行数字id混淆方法,所述方法包括:

获取未混淆数字id,并对未混淆数字id进行字节数组转换,生成待混淆字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成目标位字节数组;

根据版本号、待混淆字节数组以及目标位字节数组依次进行拼接,生成拼接字节数组,版本号用于指示目标位、目标数以及目标位字节数字中至少一项;

将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

在一个实施例中,所述方法还包括:

根据版本号确定第一划分比例,并根据第一划分比例将待混淆字节数组划分为前后两段;

对待混淆字节数组进行字节翻转,使待混淆字节数组的前段和后段对调,生成第一翻转字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算,包括:

对第一翻转字节数组中的每个字节与目标字节数字进行抑或运算。

在一个实施例中,所述方法还包括:

根据版本号确定第二划分比例,并根据第二划分比例将拼接字节数组划分为前后两段;

对拼接字节数组进行字节翻转,使拼接字节数组的前段和后段对调,生成第二翻转字节数组;

将拼接字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出,包括:

将第二翻转字节数组转换为字符串,并将转换后的字符串作为混淆后数字id输出。

图19据一示例性实施例示出的一种用于校验混淆数字id的装置800的框图。例如,装置800可以被提供为一服务器。装置800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822的执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述方法。

装置800还可以包括一个电源组件826被配置为执行装置800的电源管理,一个有线或无线网络接口850被配置为将装置800连接到网络,和一个输入输出接口858。装置800可以操作基于存储在存储器832的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置800的处理器执行时,使得装置800能够执行混淆数字id校验方法,所述方法包括:

获取混淆数字id,并将混淆数字id转换为混淆字节数组;

从混淆字节数组的字节数组首元素获取版本号;

根据版本号确定目标位、目标字节数字以及目标数;

根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组;

对待混淆字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的待混淆字节数组进行哈希运算,并从哈希运算后的字节数组中的目标位开始取目标数个字节,形成验证目标位字节数组;

当目标位字节数组与验证目标位字节数组相同时,校验通过。

在一个实施例中,将混淆数字id转换为混淆字节数组,包括:

当混淆数字id的字符串长度满足字符串长度预设条件,且混淆数字id中每个字符的取值范围满足字符取值范围预设条件时,将混淆数字id转换为混淆字节数组。

在一个实施例中,所述方法还包括:

根据版本号确定第三划分比例,并根据第三划分比例将混淆字节数组划分为前后两段;

对混淆字节数组进行字节翻转,使混淆字节数组的前段和后段对调,生成第三翻转字节数组;

根据目标数在混淆字节数组中确定目标位字节数组以及待混淆字节数组,包括:

根据目标数在第三翻转字节数组中确定目标位字节数组以及待混淆字节数组。

在一个实施例中,所述方法还包括:

对目标字节数组中的每个字节与目标字节数字进行抑或运算;

对抑或运算后的目标字节数组进行逆字节数组转换,生成未混淆数字id。

在一个实施例中,对抑或运算后的目标字节数组进行逆字节数组转换,生成未混淆数字id,包括:

根据版本号确定第四划分比例,并根据第四划分比例将抑或运算后的目标字节数组划分为前后两段;

对抑或运算后的目标字节数组进行字节翻转,使抑或运算后的目标字节数组的前段和后段对调,生成第四翻转字节数组;

对第四翻转字节数组进行逆字节数组转换,生成未混淆数字id。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1