发明内容
有鉴于此,本说明书实施例提供了一种数据加密方法及装置、一种数据解密方法及装置、一种计算设备及存储介质,以解决现有技术中存在的技术缺陷。
本说明书实施例公开了一种数据加密方法,包括:
S2、接收新增序列号的生成请求,并确定当前序列号;
S4、基于所述当前序列号递增生成新增初始序列号;
S6、判断所述新增初始序列号是否满足加密条件;
S8、对不满足所述加密条件的新增初始序列号,以所述新增初始序列号作为新增序列号;
S10、对满足所述加密条件的新增初始序列号执行加密算法,将所述新增初始序列号作为当前序列号,执行步骤S4。
另一方面,本说明书实施例还公开了一种数据解密方法,包括:
接收解密请求,其中,所述解密请求包括待处理序列号集合及解密算法;
根据所述解密算法确定解密条件;
判断所述待处理序列号集合中的每个序列号是否满足解密条件;
对不满足所述解密条件的序列号,以所述序列号作为第一原始序列号;
对满足所述解密条件的序列号执行解密算法,以得到第二原始序列号;
获得由所述第一原始序列号和所述第二原始序列号组成的原始序列号集合。
另一方面,本说明书实施例还公开了一种数据加密装置,包括:
生成请求接收模块,被配置为接收新增序列号的生成请求,并确定当前序列号;
生成模块,被配置为基于所述当前序列号递增生成新增初始序列号;
第一判断模块,被配置为判断所述新增初始序列号是否满足加密条件;
新增模块,被配置为对不满足所述加密条件的新增初始序列号,以所述新增初始序列号作为新增序列号;
加密模块,被配置为对满足所述加密条件的新增初始序列号执行加密算法,将所述新增初始序列号作为当前序列号,执行生成模块。
另一方面,本说明书实施例还公开了一种数据解密装置,包括:
解密请求接收模块,被配置为接收解密请求,其中,所述解密请求包括待处理序列号集合及解密算法;
第一确定模块,被配置为根据所述解密算法确定解密条件;
第二判断模块,被配置为判断所述待处理序列号集合中的每个序列号是否满足解密条件;
第二确定模块,被配置为对不满足所述解密条件的序列号,以所述序列号作为第一原始序列号;
第三确定模块,被配置为对满足所述解密条件的序列号执行解密算法,以得到第二原始序列号;
获得模块,被配置为获得由所述第一原始序列号和所述第二原始序列号组成的原始序列号集合。
另一方面,本说明书实施例还公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现该指令被处理器执行时实现如上所述的数据加密方法或者如上所述的数据解密方法的步骤。
另一方面,本说明书实施例还公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述的数据加密方法或者如上所述的数据解密方法的步骤。
本申请提供的一种数据加密方法及装置、一种数据解密方法及装置、一种计算设备及存储介质,其中,所述加密方法包括接收新增序列号的生成请求,并确定当前序列号;基于所述当前序列号递增生成新增初始序列号;判断所述新增初始序列号是否满足加密条件;对不满足所述加密条件的新增初始序列号,以所述新增初始序列号作为新增序列号;对满足所述加密条件的新增初始序列号执行加密算法,将所述新增初始序列号作为当前序列号,继续执行基于所述当前序列号递增生成所述新增初始序列号。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本说明书实施例中,提供了一种数据加密方法及装置、一种数据解密方法及装置、一种计算设备及存储介质,在下面的实施例中逐一进行详细说明。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
数据库序列号:由数据库序列生成器生成的一组等间隔的数值(类型为数字)。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据,网络160用于接收数据库150存储的数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本说明书一个或多个实施例的数据加密方法的示意性流程图,包括步骤202至步骤210。
步骤202:接收新增序列号的生成请求,并确定当前序列号。
本说明书一个或多个实施例中,所述序列号包括但不限于电商平台在日常交易中生成的标识一笔订单交易的唯一交易号。
以所述序列号应用在电商平台为例,在电商平台产生了一笔新的订单交易后,需要针对该新的订单交易产生一个新增交易号,该新增交易号用于唯一标识该新的订单交易。
接收新增序列号的生成请求,并确定当前序列号包括:接收电商平台发出的新增交易号请求,为了便于生成新增序列号,首先需要确定当前交易号,然后根据该当前交易号采用一定的规则生成新增交易号。
步骤204:基于所述当前序列号递增生成新增初始序列号。
本说明书一个或多个实施例中,所述递增包括但不限于以1为单位依次增加所述当前序列号。
若所述当前序列号为3,递增时每次依次加1,则基于所述当前序列号递增生成所述新增初始序列号为4;
若所述当前序列号为4,递增时每次依次加1,则基于所述当前序列号递增生成所述新增初始序列号为5。
步骤206:判断所述新增初始序列号是否满足加密条件。
本说明书一个或多个实施例中,所述加密条件包括根据预设比例确定的序列号。
若所述加密条件包括根据预设比例确定的序列号,则判断所述新增初始序列号是否满足加密条件即为:判断所述新增初始序列号是否为根据预设比例确定的序列号。
本说明书一个或多个实施例中,所述预设比例包括但不限于5%或10%的比例等,即每生成5个新增初始序列号,标记一个新增初始序列号或者每生成10个新增初始序列号,标记一个新增初始序列号。所述预设比例可以根据实际应用进行具体设置,本申请对此不作任何限定。
若所述预设比例包括5%的比例,递增生成的所述新增初始序列号为1、2、3、4、5、6,则所述新增初始序列号6为满足加密条件的新增初始序列号。
本说明书一个或多个实施例中,所述加密条件还可以包括根据预设计算公式计算得到的序列号。
例如所述预设计算公式包括3x+1=10,递增生成的所述新增初始序列号为1、2、3,根据所述计算公式得到x=3,则末尾为3新增初始序列号为满足加密条件的新增初始序列号。
所述预设计算公式可以根据实际应用进行具体设置,本申请对此不作任何限定。
步骤208:对不满足所述加密条件的新增初始序列号,以所述新增初始序列号作为新增序列号。
本说明书一个或多个实施例中,仍以所述预设比例包括5%的比例,递增生成的所述新增初始序列号为1、2、3、4、5、6为例进行说明,不满足所述加密条件的新增初始序列号包括:1、2、3、4、5。则以1、2、3、4、5作为新增序列号。
本说明书一个或多个实施例中,仍以所述预设计算公式包括3x+1=10,递增生成的所述新增初始序列号为1、2、3,根据所述计算公式得到x=3为例进行说明,不满足所述加密条件的新增初始序列号包括:1、2作为新增序列号。
步骤210:对满足所述加密条件的新增初始序列号执行加密算法,将所述新增初始序列号作为当前序列号,执行步骤204。
本说明书一个或多个实施例中,所述加密算法包括丢弃算法。
仍以所述预设比例包括5%的比例,递增生成的所述新增初始序列号为1、2、3、4、5、6为例进行说明。
对满足所述加密条件的新增初始序列号执行加密算法包括:丢弃新增初始序列号6。
将所述新增初始序列号作为当前序列号,执行步骤204包括:将丢弃的新增初始序列号6作为当前序列号,继续递增生成所述新增初始序列号,并进行上述判断。
本说明书一个或多个实施例中,所述加密算法包括丢弃算法。
仍以所述预设计算公式包括3x+1=10,递增生成的所述新增初始序列号为1、2、3,根据所述计算公式得到x=3为例进行说明。
对满足所述加密条件的新增初始序列号执行加密算法包括:丢弃新增初始序列号3。
将所述新增初始序列号作为当前序列号,执行步骤204包括:将丢弃的新增初始序列号3作为当前序列号,继续递增生成所述新增初始序列号,并进行上述判断。
实际应用中,为了便于对订单交易的时间进行记录,电商平台在交易号生成的过程中均会在交易号的头部增加所述交易号的生成日期,例如序列号为0000000001,该订单交易的时间为20180303,则完整生成的交易号为日期+序列号=201803030000000001。
表1中,以所述预设计算公式包括3x+1=10为例,对采用所述数据加密方法生成的新增序列号进行说明。
201803030000000001 |
201803030000000002 |
201803030000000003(丢弃) |
201803030000000004 |
201803030000000005 |
201803030000000006 |
201803030000000008 |
201803030000000009 |
201803030000000010 |
201803030000000011 |
201803030000000012 |
201803030000000013(丢弃) |
201803030000000014 |
201803030000000015 |
如表1中所示,按照上述预设计算公式计算得到的0000000000003和0000000000013这两个序列号需要丢弃,那系统在生成真正的交易号时,遇到这两个序列,则往后挪一位,即上一个交易号是201803030000000000002,下一个生成的交易号则是201803030000000000004,同理上一个交易号是201803030000000000012,下一笔交易则为201803030000000000014。
本说明书一个或多个实施例中,所述数据加密算法根据具体应用需求设置的比例或者计算公式的方式计算得到需要丢弃的序列号,使得根据两个时间点之间的序列号间隔计算交易量时,算出来的交易量会比实际量大,很好的避免了真实交易量泄露的问题。并且实际应用中,采用预设比例或预设计算公式这种随机加密条件生成的新增序列号还是递增生成,保留了根据序列号的大小就可判断交易产生的时间先后的特性,另一方面加密条件可以灵活的根据业务特性进行个性化的设置,用户体验效果好。
参见图3,本说明书一个或多个实施例提供了一种数据加密方法的示意性流程图,包括步骤302至步骤310。
步骤302:接收新增数据库序列号的生成请求,并确定当前序列号为00001。
步骤304:基于所述当前序列号00001递增生成新增初始序列号。
本说明书一个或多个实施例中,若以步长为1进行递增,那么基于所述当前序列号00001递增生成所述新增初始序列号为00002;
若以步长为2进行递增,那么基于所述当前序列号00001递增生成所述新增初始序列号为00003。
步骤306:判断所述新增初始序列号是否满足加密条件4x+2=10,若是,则执行步骤308,若否,则执行步骤310。
步骤308:丢弃所述新增初始序列号,并以所述新增初始序列号为当前序列号循环执行步骤304。
本说明书一个或多个实施例中,若所述新增初始序列号为00002,则满足加密条件4x+2=10,所述新增初始序列号尾号为2,则丢弃所述新增初始序列号。
步骤310:以所述新增初始序列号为新增数据库序列号,并以yyyymmdd格式的日期和新增数据库序列号生成交易号。
本说明书一个或多个实施例中,若所述新增初始序列号为00003则不满足加密条件4x+2=10,所述新增初始序列号尾号为3,则以所述新增初始序列号为新增数据库序列号,若生成所述新增数据库序列号的日期为20180101,则以yyyymmdd格式的日期和新增数据库序列号生成交易号为2018010100003。
本说明书一个或多个实施例中,所述数据加密方法根据加密条件将末尾为2的新增初始序列号均进行丢弃,生成的所述新增数据库序列号中遇到末尾为2的新增初始序列号时均向前挪一位,在根据两个时间点之间的序列号间隔计算交易量时,算出来的交易量会比实际量大,可以很好的避免了真实交易量泄露的问题。
参见图4,本说明书一个或多个实施例提供了一种数据解密方法的示意性流程图,包括步骤402至步骤412。
步骤402:接收解密请求,其中,所述解密请求包括待处理序列号集合及解密算法。
本说明书一个或多个实施例中,所述解密算法包括还原算法,以上述数据加密方法中的加密算法来说明,所述解密算法即是对丢弃的新增序列号的还原。
本说明书一个或多个实施例中,所述待处理序列号集合中包括原始存在的序列号和根据上述加密算法丢弃的序列号。
步骤404:根据所述解密算法确定解密条件。
本说明书一个或多个实施例中,所述解密条件包括根据预设比例确定的序列号或者根据预设计算公式计算得到的序列号。
本说明书一个或多个实施例中,所述预设比例包括但不限于5%或10%的比例等,即每5隔个序列号标记出一个序列号。所述预设比例可以根据实际应用进行具体设置,本申请对此不作任何限定。
例如所述预设比例包括5%的比例,所述待处理序列号集合中的序列号为1、2、3、4、5、6、7,则所述序列号6为被标记的序列号。
本说明书一个或多个实施例中,以所述预设计算公式包括3x+1=10为例进行说明,若所述待处理序列号集合中的序列号为1、2、3、4,根据所述计算公式得到x=3,则末尾为3的序列号为被标记的序列号。
所述预设计算公式可以根据实际应用进行具体设置,本申请对此不作任何限定。
步骤406:判断所述待处理序列号集合中的每个序列号是否满足解密条件。
本说明书一个或多个实施例中,若所述预设比例包括5%的比例,所述待处理序列号集合中的序列号为1、2、3、4、5、6、7,则所述序列号6为被标记的序列号,即满足解密条件的序列号。
本说明书一个或多个实施例中,若所述预设计算公式包括3x+1=10为例进行说明,所述待处理序列号集合中的序列号为1、2、3、4,根据所述计算公式得到x=3,则末尾为3的序列号为被标记的序列号,即满足解密条件的序列号。
步骤408:对不满足所述解密条件的序列号,以所述序列号作为第一原始序列号。
本说明书一个或多个实施例中,所述待处理序列号集合中不满足所述解密条件的序列号为第一原始序列号,以上述举例说明,所述第一原始序列号则包括1、2、3、4、5、7或1、2、4。
步骤410:对满足所述解密条件的序列号执行解密算法,以得到第二原始序列号。
本说明书一个或多个实施例中,所述待处理序列号集合中满足所述解密条件的序列号为第二原始序列号,以上述举例说明,所述第二原始序列号则包括6或3。
步骤412:获得由所述第一原始序列号和所述第二原始序列号组成的原始序列号集合。
本说明书一个或多个实施例中,获得由所述第一原始序列号和所述第二原始序列号组成的原始序列号集合为:1、2、3、4、5、6、7或1、2、3、4。
以预设计算公式包括3x+1=10为例对通过数据加密方法和数据解密方法生成的序列表进行对比,参见表2。
表2
数据加密 |
数据解密 |
201803030000000001 |
201803030000000001 |
201803030000000003 |
201803030000000002 |
201803030000000004 |
201803030000000003 |
201803030000000005 |
201803030000000004 |
201803030000000006 |
201803030000000005 |
根据表2可知,采用数据加密方法在生成序列号时,末尾为2的序列号201803030000000002满足了丢弃条件,被丢弃,直接采用序列号201803030000000003作为下一序列号,采用数据解密方法在对序列号进行解密后,从表2中可以看出丢弃的序列号201803030000000002实际对应的为序列号201803030000000003,依次类推,加密后的序列号均对应一个真实的解密后的序列号,根据该解密后的序列号就可以得出订单的实际交易量。
本说明书一个或多个实施例中,采用所述数据解密方法对采用数据加密方法丢弃的序列号进行还原,使得内部工作人员在对订单的交易量以及实际交易序列号进行追溯时有迹可循,不必再采用加密时的规则进行追溯,极大的提高了工作效率。
参见图5,本说明书一个或多个实施例提供了一种数据加密装置,包括:
生成请求接收模块502,被配置为接收新增序列号的生成请求,并确定当前序列号;
生成模块504,被配置为基于所述当前序列号递增生成新增初始序列号;
第一判断模块506,被配置为判断所述新增初始序列号是否满足加密条件;
新增模块508,被配置为对不满足所述加密条件的新增初始序列号,以所述新增初始序列号作为新增序列号;
加密模块510,被配置为对满足所述加密条件的新增初始序列号执行加密算法,将所述新增初始序列号作为当前序列号,执行生成模块。
本说明书一个或多个实施例中,所述数据加密装置可以根据具体应用需求设置的比例或者计算公式的方式计算得到需要丢弃的序列号,使得根据两个时间点之间的序列号间隔计算交易量时,就不准确,算出来的交易量会比实际量大,很好的避免了实际交易量泄露的问题。并且实际应用中,采用预设比例或预设计算公式这种随机加密条件生成的新增序列号还是递增生成,保留了根据序列号的大小就可判断交易产生的时间先后的特性,另一方面加密条件可以灵活的根据业务特性进行个性化的设置,用户体验效果好。
参见图6,本说明书一个或多个实施例提供了一种数据解密装置,包括:
解密请求接收模块602,被配置为接收解密请求,其中,所述解密请求包括待处理序列号集合及解密算法;
第一确定模块604,被配置为根据所述解密算法确定解密条件;
第二判断模块606,被配置为判断所述待处理序列号集合中的每个序列号是否满足解密条件;
第二确定模块608,被配置为对不满足所述解密条件的序列号,以所述序列号作为第一原始序列号;
第三确定模块610,被配置为对满足所述解密条件的序列号执行解密算法,以得到第二原始序列号;
获得模块612,被配置为获得由所述第一原始序列号和所述第二原始序列号组成的原始序列号集合。
本说明书一个或多个实施例中,采用所述数据解密装置对采用数据加密装置丢弃的序列号进行还原,使得内部工作人员在对订单的交易量以及实际交易序列号进行追溯时有迹可循,不必再采用加密时的规则进行追溯,极大的提高了工作效率。
本说明书一个或多个实施例还公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现该指令被处理器执行时实现如上所述的数据加密方法或者如上所述的数据解密方法的步骤。
本说明书一个或多个实施例还公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述的数据加密方法或者如上所述的数据解密方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据加密或数据解密方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据加密或数据解密方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。