加密解密有序数值串的方法、装置及存储介质与流程

文档序号:20038419发布日期:2020-02-28 11:36阅读:151来源:国知局
加密解密有序数值串的方法、装置及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种加密解密有序数值串的方法、装置及存储介质。



背景技术:

互联网平台使用有序数值串的地方越来越多,比如业务流水号、序列号、订单号、兑换码等,这些数值串多是有意义的,从中可以了解如生产日期、生产地址、订单量、交易量、客户量等有价值的商业信息,而被竞争对手或其他商业间谍等从中获取有价值的数据或信息,例如用户在晚上下单猜测对方当天的订单量,交易量、行业市场的客户量等等相对敏感信息。因此,有序的订单号透露运营情况等商业秘密、优惠券兑换码存在不安全的问题,等等这些都需要一套隐藏有序数值串数字规律的方法。



技术实现要素:

本发明主要目的是提供一种加密解密有序数值串方法、装置及存储介质,旨在解决互联网平台上有序数值串带来的商业信息泄露和不安全的问题。

为了实现上述目的,本发明提供一种加密解密有序数值串方法,该方法包括:

步骤s10:设置盐值数组,其中,所述盐值数组为盐值数值集合;

步骤s20:将收到的有序数值串通过所述盐值数组计算取出盐值,使用所述盐值与所述有序数值串按位异或运算,以生成加密数值串;

步骤s30:将收到的所述加密数值串通过相同的盐值计算取出盐值,使用取出的所述盐值与所述加密数值串进行异或运算,以按位还原出所述有序数值串。

进一步地,所述步骤s20包括:

步骤s110:将收到的原始有序数值串a按数值位置分成数值串bindex和数值串a;

步骤s120:对所述数值串bindex进行第一运算,生成盐值b;

步骤s130:对所述数值串a和所述盐值b进行第二运算,得到加密串x;

步骤s140:将所述加密串x和所述数值串bindex合并得到数值串b。

进一步地,所述步骤s30包括:

步骤s210:将收到的数值串b根据合并时的数值串位置分成数值串bindex和加密串x;

步骤s220:对所述数值串bindex进行第一运算,生成盐值b;

步骤s230:对所述加密串x和所述盐值b进行第三运算,得到数值串a;

步骤s240:将所述数值串a和所述数值串bindex按加密时的数值位置合并得到原始有序数值串a。

进一步地,所述第一运算是用所述数值串bindex运算出一个所述盐值数组范围内的盐值,取出盐值b。

进一步地,所述第二运算是将所述数值串a和所述盐值b按位异或运算,得到所述加密串x。

进一步地,所述第三运算是按位异或运算定理从加密串x中解析出原始字符串,在所述加密串的基础上再次异或运算,得到所述数值串a。

为实现上述目的,本发明还提供一种加密解密有序数值串装置,其特征在于,所述加密解密有序数值串装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的加密解密有序数值串程序,所述加密解密有序数值串程序被所述处理器执行时实现上述所述的加密解密有序数值串方法的步骤。

此外,为实现上述目的,本发明还提供一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有加密解密有序数值串程序,所述加密解密有序数值串程序可被一个或者多个处理器执行,以实现上述所述的加密解密有序数值串方法的步骤。

与现有技术相比,本发明提供的加密解密有序数值串方法、装置及存储介质,实现将有序数值串加密隐藏变成加密后的无序数值串,有效防止商业信息泄露,增加安全性。

附图说明

图1为本发明一实施例提供的加密解密有序数值串方法流程示意图;

图2为图1中的步骤s20流程示意图;

图3为本发明一实施例提供的加密过程示意图;

图4为图1中的步骤s30流程示意图;

图5为本发明一实施例提供的解密过程示意图;

图6为本发明一实施例提供的加密解密有序数值串系统框架示意图;

图7为本发明一实施例提供的加密解密有序数值串装置的内部结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,图1为本发明一实施例提供的加密解密有序数值串方法流程示意图,该方法可在服务器/终端上由软件和/或硬件执行和实现,该方法包括:

步骤s10:设置盐值数组,其中,所述盐值数组为盐值数值集合;所述盐值数组包含1024或2048或n*1024个盐值(n为自然数),在本实施例中,使用了1024个盐值的盐值数组。

步骤s20:将收到的有序数值串通过所述盐值数组计算取出盐值,使用所述盐值与所述有序数值串按位异或运算,以生成加密数值串,该步骤具体包括:

请结合参阅图2和图3,图2为图1中的步骤s20流程示意图,图3是本发明一实施例提供的加密过程示意图,本实施例给出有序数值串a:0724000001,是由月日和序列号组成。

步骤s110:将收到的原始有序数值串a按数值位置分成数值串bindex和数值串a;将收到的原始有序数值串a按照数值位置分为两个部分,所述数值位置是固定的划分方式,本实施例是数值位置1、2、3、5、6和7为第一部分,4、8、9和10为第二部分,即第一部分数值串为072000,为数值串a,第二部分数值串为4001,为数值串bindex。

步骤s120:对所述数值串bindex进行第一运算,生成盐值b。

所述第一运算是用bindex运算出所述盐值数组model范围内的盐值,取出盐值b。所述盐值数组model为设定的随机数数组集合,使用数值串bindex与所述盐值数组model长度减1的数值在二进制进行与运算,得到的数值为对应盐值数组model的取值编号,所述编号对应于所述盐值数组model内的某一个盐值,取出该盐值作为盐值b。该运算可使用下面的公式表示:

b=mobel[(int)bindex&(model.size-1)]。

步骤s130:对所述数值串a和所述盐值b进行第二运算,得到加密串x;所述第二运算是将所述数值串a和所述盐值b按位异或运算,得到所述加密串x,表示为x=a^b。在本实施例中,得到加密数值串x为771555。

步骤s140:将所述加密串x和所述数值串bindex合并得到数值串b,本实施例中,得到数值串b为7715554001。

请结合参阅图4和图5,图4为图1中的步骤s30流程示意图,图5为本发明一实施例提供的解密过程示意图。

步骤s30将收到的所述加密数值串通过相同的盐值计算取出盐值,使用取出的所述盐值与所述加密数值串进行异或运算,以按位还原出所述有序数值串。该步骤具体包括:

步骤s210:将收到的数值串b根据合并时的数值串位置分成数值串bindex和加密串x。

本实施例中,数值串b为7715554001,根据确定的数值位置,按位进行分解,本实施例中,前6位数字是加密字符串x,即771555,后4位为数值串bindex,即4001。

步骤s220:对所述数值串bindex进行第一运算,生成盐值b,该运算与加密过程中的第一运算相同,不再赘述。

步骤s230:对所述加密串x和所述盐值b进行第三运算,得到数值串a;所述第三运算是按位异或运算定理从加密串x中解析出原始字符串,在所述加密串的基础上再次异或运算,得到所述数值串a,表示为a=x^b。本实施例中,得到数值串072000。

步骤s240:将所述数值串a和所述数值串bindex按加密时的数值位置合并得到原始有序数值串a,根据在加密过程中的位置关系,本实施例是数值位置1、2、3、5、6和7为第一部分,4、8、9和10为第二部分,即第一部分数值串为072000,为数值串a,第二部分数值串为4001,为数值串bindex,按位合并后得到原始数值串0724000001。

通过本发明提供的加密解密有序数值串方法,实现将有序数值串加密隐藏变成加密无序数值串,有效防止商业信息泄露,增加安全性。

本发明还提供一种加密解密有序数值串装置。参照图6所示,为本发明一实施例提供的加密解密有序数值串装置的内部结构示意图。

在本实施例中,加密解密有序数值串装置可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该加密解密有序数值串装置至少包括存储器11、处理器12,通信总线13,以及网络接口14。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是加密解密有序数值串装置的内部存储单元,例如该加密解密有序数值串装置的硬盘。存储器11在另一些实施例中也可以是加密解密有序数值串装置的外部存储设备,例如加密解密有序数值串装置上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括加密解密有序数值串装置的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于加密解密有序数值串装置的应用软件及各类数据,例如加密解密有序数值串程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行加密解密有序数值串程序等。

通信总线13用于实现这些组件之间的连接通信。

网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该加密解密有序数值串装置与其他电子设备之间建立通信连接。

可选地,该加密解密有序数值串装置还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在加密解密有序数值串装置中处理的信息以及用于显示可视化的用户界面。

图6仅示出了具有组件11-14以及加密解密有序数值串程序的加密解密有序数值串装置,本领域技术人员可以理解的是,图6示出的结构并不构成对加密解密有序数值串装置的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图6所示的加密解密有序数值串装置实施例中,存储器11中存储有加密解密有序数值串程序;处理器12执行存储器11中存储的加密解密有序数值串程序时实现如下步骤:

加密有序数值串步骤包括:

步骤s10:设置盐值数组,其中,所述盐值数组为盐值数值集合;

步骤s20:将收到的有序数值串通过所述盐值数组计算取出盐值,使用所述盐值与所述有序数值串按位异或运算,以生成加密数值串;

步骤s30:将收到的所述加密数值串通过相同的盐值计算取出盐值,使用取出的所述盐值与所述加密数值串进行异或运算,以按位还原出所述有序数值串。

参照图7所示,为本发明加密解密有序数值串装置一实施例中的加密解密有序数值串程序的程序模块示意图,该实施例中,加密解密有序数值串程序可以被分割为接收发送模块10、第一运算模块20、第二运算模块30、第三运算模块40和设置模块50,示例性地:

接收发送模块10,用于接收数值串和发送处理后的数值串任务;

第一运算模块20,cpu进行第一运算;

第二运算模块30,用于根据所述第一运算结果,通过cpu执行所述加密任务,以进行第二运算;

第三运算模块40,用于根据所述第一运算结果,通过cpu执行所述解密任务,以进行第三运算;

设置模块50,用于设置盐值数组和数值位置划分定义。

上述接收发送模块10、第一运算模块20、第二运算模块30、第三运算模块40和设置模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。

此外,本发明实施例还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有加密解密有序数值串程序,所述加密解密有序数值串程序可被一个或多个处理器执行,以实现如下操作:

步骤s10:设置盐值数组,其中,所述盐值数组为盐值数值集合;

步骤s20:将收到的有序数值串通过所述盐值数组计算取出盐值,使用所述盐值与所述有序数值串按位异或运算,以生成加密数值串;

步骤s30:将收到的所述加密数值串通过相同的盐值计算取出盐值,使用取出的所述盐值与所述加密数值串进行异或运算,以按位还原出所述有序数值串。

本发明的存储介质具体实施方式与上述加密解密有序数值串方法和装置各实施例基本相同,在此不作累述。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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