一种数据加密的方法和装置与流程

文档序号:16246060发布日期:2018-12-11 23:35阅读:185来源:国知局
一种数据加密的方法和装置与流程

本发明涉及数据加密技术领域,特别是涉及一种数据加密的方法和装置。

背景技术

目前,为了避免在数据传输过程中泄露关键数据,因此在通信过程中,需要在发送关键数据之前,对包含该关键数据的原始数据进行整体的加密处理。具体的,首先,发送端对原始数据进行整体的加密处理,其中,原始数据包含关键数据,生成加密后的待发送数据,然后,将加密后的待发送数据发送至接收端,以使接收端在对加密后的待发送数据进行解密处理之后得到原始数据。

但是,在原始数据的数据量较大的场景下,发送端对原始数据进行整体的加密处理会占用大量的运算资源,影响计算机性能。



技术实现要素:

本发明实施例的目的在于提供一种数据加密的方法和装置,以实现节约计算机的运算资源。具体技术方案如下:

本发明实施例提供了一种数据加密的方法,应用于发送端,所述方法包括:

确定原始数据中的关键数据;

对所述关键数据进行加密处理,生成加密数据,所述加密数据携带加密标识;

将所述原始数据中的所述关键数据,替换为所述加密数据;

将替换后的原始数据,确定为待发送数据;

将所述待发送数据发送至接收端,以使接收端在基于所述加密标识对所述待发送数据进行解密处理之后,得到所述原始数据。

可选的,所述将所述原始数据中的所述关键数据,替换为所述加密数据的步骤,包括:

若所述加密数据的长度与所述关键数据的长度相同,则使用所述加密数据覆盖所述原始数据中的所述关键数据。

可选的,所述将所述原始数据中的所述关键数据,替换为所述加密数据的步骤,包括:

若所述加密数据的长度大于所述关键数据的长度,则使用预设的填充数据覆盖所述原始数据中的所述关键数据;

将所述加密数据添加在所述原始数据的尾部。

本发明实施例还提供了一种数据加密的方法,应用于接收端,所述方法包括:

接收发送端发送的待发送数据;

若所述待发送数据携带加密标识,则根据所述加密标识,从所述待发送数据中识别加密数据;

对所述加密数据进行解密处理,得到关键数据;

将所述待发送数据中的所述加密数据,替换为所述关键数据,得到原始数据。

可选的,所述将所述发送数据中的所述加密数据,替换为所述关键数据,得到原始数据的步骤,包括:

若所述加密数据不位于所述待发送数据的尾端,则使用所述关键数据覆盖所述待发送数据中的所述加密数据,得到原始数据。

可选的,所述将所述发送数据中的所述加密数据,替换为所述关键数据,得到原始数据的步骤,包括:

若所述加密数据位于所述待发送数据的尾端,则从所述待发送数据中识别预设的填充数据;

使用所述关键数据覆盖所述预设的填充数据,得到原始数据。

本发明实施例又提供了一种数据加密的装置,应用于发送端,所述装置包括:

确定模块,用于确定原始数据中的关键数据;

加密模块,用于对所述关键数据进行加密处理,生成加密数据,所述加密数据携带加密标识;

替换模块,用于将所述原始数据中的所述关键数据,替换为所述加密数据;

所述确定模块,还用于将替换后的原始数据,确定为待发送数据;

发送模块,用于将所述待发送数据发送至接收端,以使接收端在基于所述加密标识对所述待发送数据进行解密处理之后,得到所述原始数据。

可选的,替换模块,具体用于

若所述加密数据的长度与所述关键数据的长度相同,则使用所述加密数据覆盖所述原始数据中的所述关键数据。

可选的,替换模块,具体用于

若所述加密数据的长度大于所述关键数据的长度,则使用预设的填充数据覆盖所述原始数据中的所述关键数据;

将所述加密数据添加在所述原始数据的尾部。

本发明实施例再提供了一种数据加密的装置,应用于接收端,所述装置包括:

接收模块,用于接收发送端发送的待发送数据;

识别模块,用于若所述待发送数据携带加密标识,则根据所述加密标识,从所述待发送数据中识别加密数据;

解密模块,用于对所述加密数据进行解密处理,得到关键数据;

替换模块,用于将所述待发送数据中的所述加密数据,替换为所述关键数据,得到原始数据。

可选的,替换模块,具体用于

若所述加密数据不位于所述待发送数据的尾端,则使用所述关键数据覆盖所述待发送数据中的所述加密数据,得到原始数据。

可选的,替换模块,具体用于

若所述加密数据位于所述待发送数据的尾端,则从所述待发送数据中识别预设的填充数据;

使用所述关键数据覆盖所述预设的填充数据,得到原始数据。

可选的,本发明实施例再提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一所述的数据加密的方法。

本发明实施例再提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的数据加密的方法。

本发明实施例再提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据加密的方法。

本发明实施例提供的一种数据加密的方法和装置,应用于发送端,首先,确定原始数据中的关键数据;然后,对所述关键数据进行加密处理,生成加密数据,所述加密数据携带加密标识;接下来,将所述原始数据中的所述关键数据,替换为所述加密数据;将替换后的原始数据,确定为待发送数据;最后,将所述待发送数据发送至接收端,以使接收端在基于所述加密标识对所述待发送数据进行解密处理之后,得到所述原始数据。

这样,发送端无需对所有的原始数据进行加密处理,只需要对原始数据中的关键数据进行加密处理,也即对原始数据进行部分加密,可以减少发送端的加密处理的工作量,避免出现由于加密处理的工作量过大而占用大量运算资源的问题,保证计算机的性能正常。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以基于这些附图获得其他的附图。

图1为本发明实施例的数据加密的方法的一种流程图;

图2为本发明实施例的数据加密的方法的又一种流程图;

图3为本发明实施例的数据加密的装置的一种结构示意图;

图4为本发明实施例的数据加密的装置的又一种结构示意图;

图5为本发明实施例的电子设备的一种结构示意图;

图6为本发明实施例的电子设备的另一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种数据加密的方法,应用于发送端。参见图1,图1为本发明实施例的数据加密的方法的一种流程图,包括如下步骤:

步骤101,发送端确定原始数据中的关键数据。

在本步骤中,发送端可以确定原始数据中的关键数据,以便对该关键数据进行加密,其中,关键数据可以为用户密码、用户信息等禁止泄露的敏感且关键的数据。

步骤102,发送端对所述关键数据进行加密处理,生成加密数据,所述加密数据携带加密标识。

在本步骤中,发送端可以对步骤101确定的关键数据进行加密处理,生成加密数据,这样,就可以仅对原始数据中的关键数据进行加密处理,而无需对所有的原始数据进行加密处理,也即对原始数据进行部分加密,减少发送端的加密处理的工作量,避免出现由于加密处理的工作量过大而占用大量运算资源的问题,保证计算机的性能正常。

具体的,加密标识用于标识出加密数据,比如,加密标识可以包括首加密标识和尾加密标识,首标识位于加密数据的首部,尾标识位于加密数据的尾部,这样,接收端可以根据加密标识确定出加密数据,进而对加密数据进行解密处理。

步骤103,发送端将所述原始数据中的所述关键数据,替换为所述加密数据。

在本步骤中,发送端可以将步骤102得到的加密数据,替换原始数据中的关键数据,这样,使得原始数据中的关键数据被加密,既保证关键数据在传输过程中的安全性,又可以节约运算资源。

一种实现方式中,步骤103可以包括:

若所述加密数据的长度与所述关键数据的长度相同,则使用所述加密数据覆盖所述原始数据中的所述关键数据。

具体的,可以判断加密数据的长度是否与关键数据的长度相同,若为是,则可以使用加密数据覆盖原始数据中的关键数据,以便将包含加密数据的原始数据发送至接收端。

又一种实现方式中,步骤103可以包括:

第一步,若所述加密数据的长度大于所述关键数据的长度,则使用预设的填充数据覆盖所述原始数据中的所述关键数据;

第二步,将所述加密数据添加在所述原始数据的尾部。

具体的,可以判断加密数据的长度是否大于关键数据的长度,若为是,则可以使用预设的填充数据覆盖所述原始数据中的所述关键数据,以及将加密数据添加在原始数据的尾部,以便将包含加密数据的原始数据发送至接收端。

步骤104,发送端将替换后的原始数据,确定为待发送数据。

在本步骤中,发送端可以将替换后的原始数据作为待发送数据,以将待发送数据发送至接收端。

步骤105,发送端将所述待发送数据发送至接收端,以使接收端在基于所述加密标识对所述待发送数据进行解密处理之后,得到所述原始数据。

在本步骤中,发送端可以将待发送数据发送至接收端,这样,接收端就可以基于加密标识,对待发送数据中的加密数据进行解密处理,得到原始数据。

可见,在本发明实施例提供的数据加密的方法中,发送端无需对所有的原始数据进行加密处理,只需要对原始数据中的关键数据进行加密处理,也即对原始数据进行部分加密,可以减少发送端的加密处理的工作量,避免出现由于加密处理的工作量过大而占用大量运算资源的问题,保证计算机的性能正常。

本发明实施例又提供了一种数据加密的方法,应用于接收端。参见图2,图2为本发明实施例的数据加密的方法的又一种流程图,包括如下步骤:

步骤201,接收端接收发送端发送的待发送数据。

在本步骤中,接收端可以接收发送的待发送数据,以便对待发送数据进行解密处理得到原始数据。

步骤202,接收端若所述待发送数据携带加密标识,则根据所述加密标识,从所述待发送数据中识别加密数据。

在本步骤中,接收端先判断接收到的待发送数据是否携带加密标识,如果是,则可以根据加密标识,从待发送数据中识别加密数据,进而对识别出的加密数据进行解密处理。

需要说明的是,加密标识可以包括首加密标识和尾加密标识,首标识位于加密数据的首部,尾标识位于加密数据的尾部,接收端可以根据加密标识识别出加密数据。

步骤203,接收端对所述加密数据进行解密处理,得到关键数据。

在本步骤中,接收端可以对加密数据进行解密处理,得到关键数据。

步骤204,接收端将所述待发送数据中的所述加密数据,替换为所述关键数据,得到原始数据。

在本步骤中,若加密数据位于待发送数据的尾部,则对加密数据进行解密处理得到关键数据后,将关键数据替换待发送数据中的填充数据,得到原始数据;若加密数据不位于待发送数据的尾部,则对加密数据进行解密处理得到关键数据后,将关键数据放置到待发送数据中加密数据原先的位置,得到原始数据。

一种实现方式中,步骤204可以包括:

若所述加密数据不位于所述待发送数据的尾端,则使用所述关键数据覆盖所述待发送数据中的所述加密数据,得到原始数据。

具体的,接收端可以判断加密数据是否位于待发送数据的尾端,若为否,则说明加密数据的长度与关键数据的长度相等,可以使用关键数据覆盖待发送数据中的加密数据,得到原始数据。

一种实现方式中,步骤204可以包括:

第一步,若所述加密数据位于所述待发送数据的尾端,则从所述待发送数据中识别预设的填充数据;

第二步,使用所述关键数据覆盖所述预设的填充数据,得到原始数据。

具体的,接收端可以判断加密数据是否位于待发送数据的尾端,若为是,则说明加密数据的长度大于关键数据的长度,可以从待发送数据中识别预设的填充数据,以及使用关键数据覆盖预设的填充数据,得到原始数据。

需要说明的是,预设的填充数据的生成方式可以为填充数据为填充字节序列的长度,填充数据为0x00,填充数据的最后一个字节为填充字节序列的长度等,具体可以参考现有技术,在此不再赘述。

可见,在本发明实施例提供的数据加密的方法中,发送端无需对所有的原始数据进行加密处理,只需要对原始数据中的关键数据进行加密处理,也即对原始数据进行部分加密,对应的,接收端可以对接收到的待发送数据中的加密数据进行解密处理,得到关键数据,再将关键数据替换加密数据,最终得到原始数据。这样,可以减少发送端的加密处理的工作量,避免出现由于加密处理的工作量过大而占用大量运算资源的问题,保证计算机的性能正常。

本发明实施例再提供了一种数据加密的装置,应用于发送端。参见图3,图3为本发明实施例的数据加密的装置的一种结构示意图,包括:

确定模块301,用于确定原始数据中的关键数据;

加密模块302,用于对所述关键数据进行加密处理,生成加密数据,所述加密数据携带加密标识;

替换模块303,用于将所述原始数据中的所述关键数据,替换为所述加密数据;

确定模块304,还用于将替换后的原始数据,确定为待发送数据;

发送模块305,用于将所述待发送数据发送至接收端,以使接收端在基于所述加密标识对所述待发送数据进行解密处理之后,得到所述原始数据。

可选的,替换模块303,具体用于

若所述加密数据的长度与所述关键数据的长度相同,则使用所述加密数据覆盖所述原始数据中的所述关键数据。

可选的,替换模块303,具体用于

若所述加密数据的长度大于所述关键数据的长度,则使用预设的填充数据覆盖所述原始数据中的所述关键数据;

将所述加密数据添加在所述原始数据的尾部。

可见,在本发明实施例提供的数据加密的装置中,发送端无需对所有的原始数据进行加密处理,只需要对原始数据中的关键数据进行加密处理,也即对原始数据进行部分加密,可以减少发送端的加密处理的工作量,避免出现由于加密处理的工作量过大而占用大量运算资源的问题,保证计算机的性能正常。

本发明实施例再提供了一种数据加密的装置,应用于接收端。参见图4,图4为本发明实施例的数据加密的装置的又一种结构示意图,包括:

接收模块401,用于接收发送端发送的待发送数据;

识别模块402,用于若所述待发送数据携带加密标识,则根据所述加密标识,从所述待发送数据中识别加密数据;

解密模块403,用于对所述加密数据进行解密处理,得到关键数据;

替换模块404,用于将所述待发送数据中的所述加密数据,替换为所述关键数据,得到原始数据。

可选的,替换模块404,具体用于

若所述加密数据不位于所述待发送数据的尾端,则使用所述关键数据覆盖所述待发送数据中的所述加密数据,得到原始数据。

可选的,替换模块404,具体用于

若所述加密数据位于所述待发送数据的尾端,则从所述待发送数据中识别预设的填充数据;

使用所述关键数据覆盖所述预设的填充数据,得到原始数据。

可见,在本发明实施例提供的数据加密的装置中,发送端无需对所有的原始数据进行加密处理,只需要对原始数据中的关键数据进行加密处理,也即对原始数据进行部分加密,对应的,接收端可以对接收到的待发送数据中的加密数据进行解密处理,得到关键数据,再将关键数据替换加密数据,最终得到原始数据。这样,可以减少发送端的加密处理的工作量,避免出现由于加密处理的工作量过大而占用大量运算资源的问题,保证计算机的性能正常。

本发明实施例还提供了一种电子设备,参考图5,图5为本发明实施例的电子设备的一种结构示意图。如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:

确定原始数据中的关键数据;

对所述关键数据进行加密处理,生成加密数据,所述加密数据携带加密标识;

将所述原始数据中的所述关键数据,替换为所述加密数据;

将替换后的原始数据,确定为待发送数据;

将所述待发送数据发送至接收端,以使接收端在基于所述加密标识对所述待发送数据进行解密处理之后,得到所述原始数据。

本发明实施例再提供了一种电子设备,参考图6,图6为本发明实施例的电子设备的另一种结构示意图。如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器501,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:

接收发送端发送的待发送数据;

若所述待发送数据携带加密标识,则根据所述加密标识,从所述待发送数据中识别加密数据;

对所述加密数据进行解密处理,得到关键数据;

将所述待发送数据中的所述加密数据,替换为所述关键数据,得到原始数据。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据加密的方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据加密的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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