1.本技术涉及网络安全领域,具体而言,涉及一种数据加密方法及装置、非易失性存储介质、电子设备。
背景技术:2.随着互联网的快速发展,互联网已经成为人们生活、工作和娱乐的重要组成部分,随着人们对互联网越来越依赖,互联网中的信息安全也显得尤为重要,尤其是在数据传输过程中,经常发生数据被窃取,造成数据泄漏,严重影响了用户信息的安全。而传统加密规则单一,密钥安全性不高,存在破解风险。
3.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:4.本技术实施例提供了一种数据加密方法及装置、非易失性存储介质、电子设备,以至少解决由于加密规则单一造成的数据传输安全性低的技术问题。
5.根据本技术实施例的一个方面,提供了一种数据加密方法,包括:获取目标对象在预设统计周期中各个子周期内的行程轨迹集合,其中,所述预设统计周期由所述各个子周期组成;从所述行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹;对所述第一数量的子周期的行程轨迹进行组合,得到组合图形;依据所述组合图形生成随机码,并基于所述随机码对待发送数据进行加密。
6.可选地,从所述行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹,包括:随机确定所述预设统计周期中参与加密的子周期数量,并将所述子周期数量作为所述第一数量;从所述行程轨迹集合中随机选择所述第一数量的行程轨迹。
7.可选地,对所述第一数量的子周期的行程轨迹进行组合,得到组合图形,包括:对所述第一数量的子周期的行程轨迹按照预设规则进行组合,得到所述组合图形,其中,所述组合图形中任意两个组合图形的中心点之间的距离小于第一预设阈值。
8.可选地,从所述行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹,包括:确定所述目标对象在各个子周期内的最大位移,其中,所述最大位移为所述目标对象在行程轨迹上的各个点之间的位移最大值;在所述最大位移小于第二预设阈值的情况下,从所述行程轨迹集合中删除与所述最大位移对应的子周期内的行程轨迹,得到候选行程轨迹集合;从所述候选行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹。
9.可选地,所述方法还包括:将所述第一数量和随机选择的行程轨迹所对应的子周期信息发送至所述待发送数据的接收方设备。
10.可选地,将所述第一数量和随机选择的行程轨迹所对应的子周期信息发送至所述待发送数据的接收方设备,包括:将所述第一数量和所述子周期信息封装至所述待发送数据中,并将封装后的待发送数据发送至所述接收方设备。
11.可选地,所述第一数量的取值不小于2。
12.根据本技术实施例的另一方面,还提供了一种数据解密方法,包括:接收加密数据;获取目标对象在预设统计周期中各个子周期内的行程轨迹集合,其中,所述预设统计周期由所述各个子周期组成;按照所述加密数据的发送方设备发送的轨迹信息从所述行程轨迹集合中选择第一数量的子周期的行程轨迹,其中,所述轨迹信息中包括:所述第一数量以及被选择的子周期信息;对所述第一数量的子周期的行程轨迹进行组合,得到组合图形;依据所述组合图形生成随机码,并基于所述随机码对加密数据进行解密。
13.根据本技术实施例的另一方面,还提供了一种数据加密装置,包括:获取模块,用于获取目标对象在预设统计周期中各个子周期内的行程轨迹集合,其中,所述预设统计周期由所述各个子周期组成;确定模块,用于从所述行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹;组合模块,用于对所述第一数量的子周期的行程轨迹进行组合,得到组合图形;加密模块,用于依据所述组合图形生成随机码,并基于所述随机码对待发送数据进行加密。
14.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述数据加密方法。
15.根据本技术实施例的另一方面,还提供了一种电子设备,包括存储器和处理器;所述处理器用于运行程序,其中,所述程序运行时执行上述数据加密方法。
16.在本技术实施例中,采用获取目标对象在预设统计周期中各个子周期内的行程轨迹集合,其中,所述预设统计周期由所述各个子周期组成;从所述行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹;对所述第一数量的子周期的行程轨迹进行组合,得到组合图形;依据所述组合图形生成随机码,并基于所述随机码对待发送数据进行加密的方式,通过目标对象的行程轨迹实现对数据加密的算法,根据用户预设统计周期内的行程轨迹集合,随机组合成不同的图案,根据组合后的图案生成相应的随机码,实现对重要数据高度安全的多次保护方式,达到了提高加密破解难度的目的,从而实现了提高数据传输安全性的技术效果,进而解决了由于加密规则单一造成的数据传输安全性低技术问题。
附图说明
17.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
18.图1是根据本技术实施例的一种用于数据加密方法的计算机终端(或移动设备)的硬件结构框图;
19.图2是根据本技术实施例的一种可选的数据加密方法的示意图;
20.图3是根据本技术实施例的一种可选的形程轨迹和组合图形的示意图;
21.图4是根据本技术实施例的另一种可选的数据加密方法的示意图;
22.图5是根据本技术实施例的另一种可选的形程轨迹和组合图形的示意图;
23.图6是根据本技术实施例的一种可选的数据传输流程的示意图;
24.图7是根据本技术实施例的一种可选的数据解密方法的流程图;
25.图8是根据本技术实施例的一种可选的数据加密装置的结构框图。
具体实施方式
26.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
27.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.根据本技术实施例,提供了一种数据加密方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
29.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现数据加密方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
30.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
31.存储器104可用于存储应用软件的软件程序以及模块,如本技术实施例中的数据加密方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相
对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
32.传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
33.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
34.图2是根据本技术实施例的数据加密方法,如图2所示,该方法包括如下步骤:
35.步骤s202,获取目标对象在预设统计周期中各个子周期内的行程轨迹集合,其中,所述预设统计周期由所述各个子周期组成;
36.步骤s204,从所述行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹;
37.步骤s206,对所述第一数量的子周期的行程轨迹进行组合,得到组合图形;
38.步骤s208,依据所述组合图形生成随机码,并基于所述随机码对待发送数据进行加密。
39.通过上述步骤,可以实现通过目标对象的行程轨迹实现对数据加密的算法,根据用户预设统计周期内的行程轨迹集合,随机组合成不同的图案,根据组合后的图案生成相应的随机码,实现对重要数据高度安全的多次保护方式,达到了提高加密破解难度的目的,从而实现了提高数据传输安全性的技术效果,进而解决了由于加密规则单一造成的数据传输安全性低技术问题。
40.需要进行说明的是,数据加密前可先用传统加密算法进行加密,例如md5算法。然后再用本技术生成的随机码进行加密。
41.在本技术的一些实施例中,从所述行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹,包括:随机确定所述预设统计周期中参与加密的子周期数量,并将所述子周期数量作为所述第一数量;从所述行程轨迹集合中随机选择所述第一数量的行程轨迹。
42.具体地,以预设统计周期为7天为例,随机获取第一数量为2,也就是2天,确定这两天的行程轨迹。
43.在本技术的一些实施例中,对所述第一数量的子周期的行程轨迹进行组合,得到组合图形,包括:对所述第一数量的子周期的行程轨迹按照预设规则进行组合,得到所述组合图形,其中,所述组合图形中任意两个组合图形的中心点之间的距离小于第一预设阈值,如图3所示,以预设统计周期7天为例,随机获取第一数量为3,获取第三天、第二天和第六天的行程轨迹进行组合,其中,任意两个组合图形的中心点之间的距离小于第一预设阈值
44.需要进行说明的是,第一预设阈值的目的是防止图形间的距离过远超出识别范围,或过近使图形重叠。
45.在本技术的一些实施例中,从所述行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹,包括:确定所述目标对象在各个子周期内的最大位移,其
中,所述最大位移为所述目标对象在行程轨迹上的各个点之间的位移最大值;在所述最大位移小于第二预设阈值的情况下,从所述行程轨迹集合中删除与所述最大位移对应的子周期内的行程轨迹,得到候选行程轨迹集合;从所述候选行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹。
46.需要进行说明的是,在最大位移小于第二预设阈值的情况下,行程轨迹图形过于简单,为保证加密效果,故滤掉。
47.在本技术的一些实施例中还可以将所述第一数量和随机选择的行程轨迹所对应的子周期信息发送至所述待发送数据的接收方设备。以便接收端生成解密密钥。
48.在本技术的一些实施例中,将所述第一数量和随机选择的行程轨迹所对应的子周期信息发送至所述待发送数据的接收方设备,包括:将所述第一数量和所述子周期信息封装至所述待发送数据中,并将封装后的待发送数据发送至所述接收方设备。其中,第一数量的取值不小于2。
49.需要进行说明的是,此处对第一数量取值的限定是为了确保能够获得组合图形。
50.具体地,以预设统计周期为最小为2天、最大为7天为例,如图4所示,加密的具体流程,包括:
51.步骤s401,获取随机数x,代表需要获取行程图案的总天数也就是预设统计周期;
52.需要进行说明的是,随机数x最小为2,以防止用户当日无运动轨迹,确保获取用户行程图案组合后生成的形状最简单的也是一个线段,如图5所示。
53.步骤s402,获取x个随机数y,代表需要获取第几天的行程图案;
54.例如y=1.2.3
…
7。
55.步骤s403,依次提取随机数y对应当日的行程图案,并将获取的图案按照请求双方约定的规则进行组合,根据随机图形生成不同的随机码。
56.步骤s404,根据需求约定好对重要数据的加密规则md5等加密算法,实现对数据本身的高度安全的加密,并用随机码对加密后数据的二次随机保护。
57.步骤s405,数据接收方根据约定的规则进行安全解密。
58.数据传输的过程如图6所示,数据先由传统加密方法进行加密,例如md5算法,再利用随机码进行加密,根据上述预设规则设定的x、y值解开随机码,进行解密。
59.本技术实施例还提出了一种数据解密方法,如图7所示,包括:
60.步骤s701,接收加密数据;
61.步骤s702,获取目标对象在预设统计周期中各个子周期内的行程轨迹集合,其中,所述预设统计周期由所述各个子周期组成;
62.步骤s703,按照所述加密数据的发送方设备发送的轨迹信息从所述行程轨迹集合中选择第一数量的子周期的行程轨迹,其中,所述轨迹信息中包括:所述第一数量以及被选择的子周期信息;
63.步骤s704,对所述第一数量的子周期的行程轨迹进行组合,得到组合图形;
64.步骤s705,依据所述组合图形生成随机码,并基于所述随机码对加密数据进行解密。
65.本技术实施例还提出了一种数据加密装置,如图8所示,包括:获取模块80,用于获取目标对象在预设统计周期中各个子周期内的行程轨迹集合,其中,所述预设统计周期由
所述各个子周期组成;确定模块82,用于从所述行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹;组合模块84,用于对所述第一数量的子周期的行程轨迹进行组合,得到组合图形;加密模块86,用于依据所述组合图形生成随机码,并基于所述随机码对待发送数据进行加密。
66.确定模块82包括:行程轨迹确定子模块;其中,行程轨迹确定子模块用于随机确定所述预设统计周期中参与加密的子周期数量,并将所述子周期数量作为所述第一数量;从所述行程轨迹集合中随机选择所述第一数量的行程轨迹,其中第一数量的取值不小于2。
67.行程轨迹确定子模块包括:筛选单元;其中,筛选单元用于确定所述目标对象在各个子周期内的最大位移,其中,所述最大位移为所述目标对象在行程轨迹上的各个点之间的位移最大值;在所述最大位移小于第二预设阈值的情况下,从所述行程轨迹集合中删除与所述最大位移对应的子周期内的行程轨迹,得到候选行程轨迹集合;从所述候选行程轨迹集合中随机确定所述预设统计周期内第一数量的子周期的行程轨迹。
68.组合模块84包括:组合子模块;其中,组合子模块用于对所述第一数量的子周期的行程轨迹按照预设规则进行组合,得到所述组合图形,其中,所述组合图形中任意两个组合图形的中心点之间的距离小于第一预设阈值。
69.加密模块86包括:发送子模块;其中,发送子模块用于将所述第一数量和随机选择的行程轨迹所对应的子周期信息发送至所述待发送数据的接收方设备;
70.发送子模块包括:封装单元;封装单元用于将所述第一数量和所述子周期信息封装至所述待发送数据中,并将封装后的待发送数据发送至所述接收方设备。
71.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述数据加密方法。
72.根据本技术实施例的另一方面,还提供了一种电子设备,包括存储器和处理器;所述处理器用于运行程序,其中,所述程序运行时执行上述数据加密方法。
73.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
74.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
75.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
76.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
77.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
78.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
79.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。