1.本技术涉及互联网数据安全技术领域,尤其涉及一种数据加密方法、解密方法及相关设备。
背景技术:2.目前主流的加密方式有:对称加密的aes和des,非对称加密的rsa和dsa;aes对称加密算法,它的优点是算法公开、计算量小、加密速度快,因此可以用它加密大量的数据;但是在交易双方都使用同样的密钥,安全性得不到保证;rsa非对称加密算法需要产生密钥,加密速度比较慢,较对称加密算法慢几个数量级,但是它的安全性比较高;rsa加密产生的密钥分为公开密钥(简称公钥)和私人密钥(简称私钥),公钥可以在在网络上进行传输,用于进行加密操作;而私钥不公开,保存于服务器端,用于进行解密操作。
3.在浏览器传输请求数据时,均需要保证数据传输的安全,在现有技术中,一般都是采用token认证的方式,或者根据请求数据生成签名认证的方案,但是没有真正的对传输的数据进行加密,访问者还是可以在浏览器的缓存中拿到token进行模拟请求,并根据请求数据猜测出每个数据的含义,从而绕过浏览器的限制。
技术实现要素:4.有鉴于此,本技术的目的在于提出一种能够对终端设备的请求数据进行加密,同时服务器接收到数据也能够简单有效进行解密。
5.基于上述目的,本技术提供了一种数据加密方法、解密方法及相关设备。
6.第一方面,本技术提供一种数据加密方法,所述方法包括:
7.获取公钥和私钥;
8.将所述公钥通过接口的形式暴露,以使任意终端设备获取所述公钥。
9.可选的,所述获取公钥和私钥,还包括:
10.检查历史是否生成所述公钥和私钥;
11.响应于确定历史上已生成有公钥和私钥,获取所述公钥和所述私钥;
12.响应于确定历史上未生成有公钥和私钥,通过预设非对称加密算法,生成所述公钥和所述私钥。
13.第二方面,本技术提供一种数据加密方法,所述方法包括:
14.获取服务器请求接口的公钥;
15.确定请求数据;
16.获取当前的时间戳;
17.基于所述时间戳,通过预设对称加密算法对所述请求数据进行对称加密,得到加密的请求数据;
18.利用所述公钥作为加密密钥,通过预设非对称加密算法对所述时间戳进行非对称加密,得到加密的时间戳;
19.将所述加密的时间戳和所述加密的请求数据发送至所述服务器。
20.可选的,所述基于所述时间戳,通过预设对称加密算法对所述请求数据进行对称加密,得到加密的请求数据,还包括:
21.向所述时间戳加入预设的干扰字符,生成加入干扰的时间戳;
22.利用加入干扰的时间戳作为加密密钥,通过对称加密算法对所述请求数据进行对称加密,得到加密的请求数据。
23.第三方面,本技术提供一种数据解密方法,所述方法包括:
24.接收终端设备发送的加密的时间戳和加密的请求数据;其中,所述加密的时间戳是根据预先生成的公钥和预设对称加密算法对所述终端设备生成的时间戳加密后得到的,所述加密的请求数据是对所述终端设备生成的请求数据利用所述公钥作为加密密钥,通过预设非对称加密算法加密后得到的;
25.利用与所述公钥对应的私钥作为解密密钥,通过预设非对称解密算法对所述加密的时间戳进行解密,得到解密的时间戳;
26.基于所述解密的时间戳,通过预设对称解密算法对所述加密的请求数据进行对称解密,得到解密的请求数据。
27.可选的,所述基于所述解密的时间戳,通过预设非对称解密算法对所述加密的请求数据进行对称解密,还包括:
28.基于所述解密的时间戳,加入预设干扰字符,生成加入干扰的时间戳;
29.利用加入干扰的时间戳作为解密密钥,通过对称解密算法对所述加密的请求数据进行对称解密,得到解密的请求数据。
30.可选的,所述利用与所述公钥对应的私钥作为解密密钥,通过预设非对称解密算法对所述加密的时间戳进行解密,得到解密的时间戳,还包括:
31.响应于通过预设对称解密算法对所述加密的请求数据进行对称解密失败,或相应于通过预设对称解密算法对所述加密的请求数据进行对称解密失败,则丢弃此次的网络请求和/或将请求失败信息传回终端设备。
32.第四方面,本技术提供一种服务器,包括:
33.第一通信模块,用于与终端设备建立网络连接;
34.第一存储模块,用于存储公钥和私钥,其中所述公钥通过请求接口暴露。
35.第五方面,本技术提出一种终端设备,包括:
36.第二通信模块,用于与服务器建立网络连接,从所述服务器中获取公钥,并向所述服务器发送加密的时间戳和加密的请求数据;
37.第一计算模块,用于预设对称加密算法与非对称加密算法;其中所述非对称加密算法用于对时间戳进行对称加密,所述对称加密算法用于基于所述时间戳,对请求数据进行对称加密;
38.获取模块,用于获取所述时间戳;
39.第二存储模块,用于存储从所述服务器获取的公钥。
40.第六方面,本技术提供一种服务器,包括:
41.第三通信模块,用于接收终端设备发送的加密的时间戳和加密的请求数据;其中,所述加密的时间戳是根据预先生成的公钥和预设对称加密算法对所述终端设备生成的时
间戳加密后得到的,所述加密的请求数据是对所述终端设备生成的请求数据利用所述公钥作为加密密钥,通过预设非对称加密算法加密后得到的;
42.第三存储模块,用于存储与所述公钥对应的私钥;
43.第二计算模块,用于预设对称解密算法和非对称解密算法,其中所述非对称解密算法用于对加密的时间戳进行解密,并生成解密的时间戳;所述对称解密算法用于基于解密的时间戳,通过预设对称解密算法对加密的请求数据进行对称解密。
44.第七方面,本技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述所述的数据加密方法和数据解密方法。
45.第八方面,本技术提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述所述的数据加密方法和数据解密方法。
46.从上面所述可以看出,本技术提供的数据加密方法、解密方法、浏览器、服务器及相关设备具有如下有益效果:
47.通过利用发送请求数据之前,终端设备从服务器获取公钥,同时终端设备获取自身当前的时间戳,加入预设干扰字符,生成加入干扰的时间戳,利用生成干扰的时间戳作为加密密钥,通过预设对称加密算法对请求数据进行对称加密,得到加密的数据请求,然后利用公钥作为加密密钥,通过预设非对称加密算法对时间戳进行非对称加密,生成加密的时间戳,之后把加密的请求数据和加密的时间戳发送至服务器,在向服务器发送的时候,用户恶意拦截到向服务器发送的所有信息,在没有私钥的情况下,首先无法对加密的时间戳进行解密,那就更加无法对请求数据进行解密,保护数据的安全性。
48.同时,用户通过接口来恶意请求服务器的时候,服务器验证过程中,利用私钥作为解密密钥,无法对恶意请求进行解密,最大程度节省了服务器和终端设备对请求数据加密解密上的资源消耗。
附图说明
49.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1为本技术应用场景示意图;
51.图2为本技术一种实施例数据加密方法的示意图;
52.图3为本技术另一实施例数据加密方法的示意图;
53.图4为本技术实施例一种数据解密方法的示意图;
54.图5为本技术实施例电子设备的示意图。
具体实施方式
55.为使本技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,
并不用于限定本技术,故不具有技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本技术所能产生的功效及所能达成的目的下,均应仍落在本技术所揭示的技术内容能涵盖的范围内。
56.本部分将详细描述本技术的具体实施例,本技术之较佳实施例在附图中示出,附图的作用在于用图形补充说明文字部分的描述,使人能够直观地、形象地理解本技术的每个技术特征和整体技术方案,但其不能理解为对本技术保护范围的限制。
57.需要说明的是,除非另外定义,本技术实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
58.参考图1,其为本技术实施例提供的数据加密方法、解密方法的应用场景示意图。该应用场景包括终端设备101、服务器102、和数据存储系统103。其中,终端设备101、服务器102以及数据存储系统103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digital assistant,pda)或其它能够实现上述功能的电子设备等。服务器102和数据存储系统103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
59.服务器102用于向终端设备101的用户提供请求数据,终端设备101中安装有与服务器102通信的客户端,用户可首先通过服务器102中获取公钥,并获取终端设备当前的时间戳,再通过该客户端输入所需的请求数据,基于时间戳,对请求数据进行对称加密,利用公钥作为加密密钥,对时间戳进行非对称加密,将得到加密的时间戳和加密的请求数据发送给服务器102,服务器102将利用与非对称加密算法对应的非对称解密算法先对加密的时间戳进行解密,再利用与对称加密算法对应的对称解密算法对加密的请求数据进行解密,从而获得解密的请求数据,最后服务器102根据解密得到的请求数据执行终端设备101所需要的操作,其中可以向终端设备101发送请求数据相关的内容,终端设备101通过上述的加密手段达到混淆加密的效果,避免用户恶意拦截并猜测请求数据的信息。
60.数据存储系统103中存储有预设的非对称加密算法、非对称解密算法以及对称加密算法和对称解密算法,非对称加密方法可以对服务器101生成公钥和私钥,同时可以对上述的时间戳进行非对称加密,对称加密方法可以对上述的请求数据进行对称加密,非对称解密方法对上述的加密的时间戳进行非对称解密,对称解密方法对上述的加密的请求数据进行对称解密,同时能够对公钥和私钥进行存储,公钥可以通过接口形式暴露,任意终端设备101都可以获取公钥。
61.本技术实施例的数据加密方法、解密方法可应用于包括但不限于终端设备上的硬
件或者软件向服务器发送请求数据的场景。
62.下面结合图1的应用场景,来描述根据本技术示例性实施方式的数据加密、解密方法。需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
63.为了方便理解本技术实施例提供的一种数据加密方法、解密方法及相关设备,下面结合附图说明一下其具体方法。首先参考图2,其中图2示出了一种数据加密方法,包括以下步骤:
64.s200、获取公钥和私钥;
65.s201、将公钥通过接口的形式暴露,以使任意终端设备获取公钥。
66.在此,服务器首先需要获取公钥和私钥,为之后终端设备在获取其中的公钥做准备,在此,为了能够利用公钥对请求数据进行加密,从而达到对请求数据本身进行加密的目的,那么就需要在服务器获取相对应的公钥与私钥,其中,私钥不进行公开,而公钥则可以通过接口的形式暴露,任何访问该服务器的终端设备都可以在服务器的存储单元中下载或者直接线上预览公钥的信息。
67.在一些实施方式中,需要服务器需要检查自身历史上是否生成过相对应的公钥和私钥,若是服务器的查询结果显示,在历史上生成过公钥和私钥,则直接将已经生成的公钥和私钥提取出来,还是对私钥不进行公开,对公钥以接口的形式暴露,若是服务器检查自身并未生成过公钥和私钥,那么通过在服务器中预设的非对称加密算法来生成公钥和私钥,在此,由于使用的是非对称加密算法,根据非对称加密的特点,即便是有人通过访问得到公钥,也无法通过公钥反推处私钥,安全性得到保障。
68.对于上述的无论是历史上生成的公钥和私钥,还是新生成的公钥和私钥,都是利用已经预设在服务器中的非对称加密算法进行计算的,同时,无论是历史生成的公钥和私钥,或者新计算生成的公钥和私钥,都可以存储在服务器的存储单元中,存储单元设置访问权限,公钥可以访问,私钥不可以访问,在此,由于公钥和私钥的唯一性,不允许任何人授权私钥信息,同时也不允许具有管理员权限的管理员向任何人授权私钥信息。
69.在一些实施方式中,如图3所示,本技术公开一种数据加密方法,包括:
70.s300、获取服务器请求接口的公钥;
71.s301、确定请求数据;
72.s302、获取当前的时间戳;
73.s303、基于时间戳,通过预设对称加密算法对请求数据进行加密,得到加密的时间戳;
74.s304、利用公钥作为加密密钥,通过预设非对称加密算法对时间戳进行非对称加密,得到加密的请求数据;
75.s305、将加密的时间戳和加密的请求数据发送至服务器。
76.终端设备在对请求数据进行加密的时候,首先需要从生成公钥和私钥的服务器中获取私钥,其中同样可以从服务器下载到本地或者在线查看,下载下来的公钥可以保存在终端设备本身的存储器中,在之后需要进行对该服务器进行数据请求的时候,同样可以直接利用公钥,减少获取公钥的步骤。
77.之后确定想要从服务器请求的数据,在发送请求数据之前,终端设备获取其当前
的时间戳,并且基于当前的时间戳,通过在终端设备中预设的对称加密算法对请求数据进行加密,得到加密的请求数据,需要说明的是,预设的对称加密算法是提前就预设在终端设备上的,只需要启动便可执行。
78.在此,为了请求数据的安全性,利用公钥作为加密密钥,利用非对称加密算法对时间戳进行非对称加密,得到加密的时间戳;在此,需要说明的是,终端设备同样提前预设好非对称加密算法,同时,在未得到公钥的时候,由于没有加密密钥,无法对预设的非对称加密算法完成执行,在对请求数据进行加密之前,需进行页面提示,对其中的加密密钥一栏中输入公钥,输入之后,才能完成执行非对称加密算法。
79.通过上述的加密,既对请求数据进行了对称加密,得到加密的请求数据,又利用公钥对时间戳进行非对称加密,得到加密的时间戳,最后将得到的加密的时间戳和加密的请求数据一起发送至服务器,至此,终端设备完成对请求数据的混淆加密,同时也完成了对终端设备想要对服务器请求数据的请求。
80.在一些实施例中,通过预设对称加密算法对请求数据进行对称加密,得到加密的请求数据,还包括:向时间戳加入预设的干扰字符,生成加入干扰的时间戳;利用加入干扰的时间戳作为加密密钥,通过对称加密算法对请求数据进行对称加密,得到加密的请求数据。
81.在此,为了进一步对请求数据进行混淆加密,在时间戳中加入干扰字符,例如进行对称加密算法需要16位字符串,而终端设备中的浏览器若要对服务器进行数据请求的话,浏览器获取的时间戳一般为13位字符串,在此,可以在时间戳的13位字符串中再进行添加3位字符串,形成与对称加密算法同样的16位字符串,从而利用加入干扰的时间戳作为加密密钥,利用预设好的对称加密算法对请求数据进行加密,需要说明的是,在此加入的干扰字符同样预设在终端设备中,而且对于预设的干扰字符不能进行更改,例如,预设的干扰字符为“000”,那么每次对时间戳加入干扰字符的时候都是“000”,不能加入“111”,当然,干扰字符可以加入时间戳的13位字符的前面,也可以加入后面,甚至可以加入到中间,在此,不对其加入时间戳的具体位置进行限定,进一步,需要说明的是,干扰字符是提前预设在终端设备中的,可以存储在终端设备的存储单元中,在对时间戳加入干扰字符的时候,只需要将存储的干扰字符加入即可,或者对干扰字符的内容熟悉,直接输入指定的位置即可。在此,进一步完成对请求数据的混淆加密,在加密完成之后,若是有用户对终端设备发送到服务器的加密的请求数据和加密的时间戳进行拦截,由于没有私钥,因此也无法对加密的时间戳进行解密查看,这样也就无法对加密的请求数据进行解密,从而无法得知请求数据的具体内容,达到对请求数据保护的目的。
82.进一步需要说明的是,在对请求数据进行对称加密的时候,需要对所有的请求数据中的每一个数据都进行对称加密,而不是对所有数据作为一个整体进行对称加密,例如:由于终端设备发送数据请求通常采用的是json格式的:{a:“a”,b:“b”},在此进行对称加密的时候,需要对请求数据中的a和b的数据都进行对称加密。
83.在另一种实施方式中,如图4所示,本技术提供一种数据解密的方法,包括:
84.s400、接收终端设备发送的加密的时间戳和加密的请求数据;其中,所述加密的时间戳是根据预先生成的公钥和预设对称加密算法对所述终端设备生成的时间戳加密后得到的,所述加密的请求数据是对所述终端设备生成的请求数据利用所述公钥作为加密密
钥,通过预设非对称加密算法加密后得到的。
85.服务器接收到终端设备发送的加密的时间戳和加密的请求数据,由于服务器具有终端设备的请求数据的具体内容,在向服务器发送的请求数据是进行过上述的混淆加密的,在此不再对加密的过程进行描述,那么就需要服务器将其解密,从而获取到原始的请求数据,才能进行下一步操作。
86.s401、利用与所述公钥对应的私钥作为解密密钥,通过预设非对称解密算法对所述加密的时间戳进行解密,得到解密的时间戳;
87.在此,需要说明的是,解密的服务器和生成公钥和私钥的服务器可以是同一个服务器,而在此,服务器在生成公钥和私钥的时候,公钥和私钥都存储在当前的服务器中,那么直接就可以利用与公钥作为加密密钥的私钥作为解密密钥,首先利用在服务器中预设非对称解密算法对加密的时间戳进行解密,得到解密的时间戳,在此,需要说明的是,在此服务器中的非对称解密算法与上述在终端设备中的非对称加密算法是相对的,二者的加密与解密思路算法相同,由于对称加密算法和对称解密算法不止一种,那么为了服务器在解密的时候不会出现无法解开的情况发生,在此,对终端设备和服务器进行非对称加密算法和非对称解密算法进行预设的时候,是同一种算法的正向加密和反向解密,亦或是反向加密和正向解密都可以,在此不做限定。
88.s402、基于所述解密的时间戳,通过预设对称解密算法对所述加密的请求数据进行对称解密,得到解密的请求数据。
89.然后利用解密的时间戳,利用对称解密算法对加密的请求数据进行对称解密,得到解密的请求数据,与上述非对称加密算法和非对称解密算法原理相同,在此的对称解密算法和对称加密算法同样是相对的同一算法,中设备和服务器进行对称加密算法和对称解密算法进行预设的时候,同样是同一种算法的正向加密和反向解密,亦或是反向加密和正向解密都可以。
90.在一些实施方式中,基于解密的时间戳,通过预设非对称解密算法对加密的请求数据进行对称解密,还包括:基于解密的时间戳,加入预设的干扰字符,生成加入干扰的时间戳;利用加入干扰的时间戳作为解密密钥,通过对称解密算法对加密的请求数据进行对称解密,得到解密的请求数据。
91.在此,由于在终端设备对请求数据进行对称加密的时候,利用加入干扰的时间戳作为加密密钥,那么服务器在对请求数据进行对称解密的时候,同样需要用到解密密钥,那么为了加密密钥和解密密钥能够相对应,同样需要对解密的时间戳加入干扰字符,才能使时间戳作为解密密钥。
92.需要说明的是,在服务器的解密过程中,解密的时间戳添加的干扰字符与在终端设备加密的过程中,时间戳添加的干扰字符是相同的,服务器和终端设备二者统一了干扰字符,之后将干扰字符分别预设,例如,终端设备中的干扰字符为“000”,那么服务器中的干扰字符同样也是“000”。
93.进一步需要说明的是,服务器在对解密的时间戳加入预设干扰字符的时候,与上述终端设备在对时间戳加入干扰字符的规则是相同的,要加入时间戳的前面,都加入时间戳的前面,要加入时间戳的后面,都加入时间戳的后面,要加入时间戳的中间,则都加入时间戳的中间,避免出现终端设备在时间戳加入预设干扰字符的时候加入了时间戳的前面,
而服务器在解密的时间戳加入预设干扰字符的时候,同样也需要加入到解密的时间戳的前面,不可以加入到解密的时间戳的后面或者中间,否则,可能会出现无法对加密的请求数据进行对称解密的情况。
94.在一些实施方式中,在解密的过程中,分别需要对加密的时间戳进行非对称解密和对加密的请求数据进行对称解密,二者情况相同,若是解密通过,则进行下一步的操作,若是解密未通过,那么服务器丢弃此次的网络请求(网络请求中包含数据请求),并将请求失败的信息传回终端设备,用户可以根据传回的请求失败的信息确认失败的原因,接下来确定是否重新对请求数据进行加密,然后重复上述的加密步骤以及方法,向服务器发送新的数据请求。
95.需要说明的是,本技术实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本技术实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
96.需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
97.在一些具体场景下,本技术实施例提供的数据加密方法、解密方法运用在终端设备进行网页访问的时候,区别于普通的网络访问,在一些公司分别设有内部网络系统以及公共网络系统,在此,在终端设备利用内部网络系统对网页进行访问的时候,由于可能涉及到内部的商业机密问题,那么就需要对进行访问的请求数据进行混淆加密,避免被用户恶意拦截,从而猜测到拦截的请求数据的具体参数,在此,利用内网系统的终端设备对与终端设备通讯的服务器进行数据访问的时候,都在服务器以及终端设备之间利用上述的加密、解密方法对应请求数据,保证内部信息的安全。
98.除此之外,在用户想要对包含个人隐私的数据向服务器发出请求的时候,可以主动对包含个人隐私的请求数据进行加密,上述的预设的数据加密的方法可以直接下载到每个用户的终端设备上,用户在发送数据请求的时候,利用加密方法主动进行加密。
99.以上所述的具体应用场景,不限于常见的区块链、邮件收发、聊天通讯甚至普通的网页访问场景,都可以对想要保护的请求数据进行加密。
100.基于同一技术构思,与上述一个实施例数据加密方法相对应的,本技术还提供了一种服务器。
101.所述服务器,包括:
102.第一通信模块,用于与终端设备建立网络连接;
103.第一存储模块,用于存储公钥和私钥,其中所述公钥通过请求接口暴露。
104.其中,需要说明的是,第一存储模块中还有检查模块与预设非对称加密算法,在检查模块检查服务器历史上是否有生成过公钥和私钥,若是没有生成过公钥和私钥,那么预设的非对称加密算法计算生成公钥和私钥。
105.为了描述的方便,描述以上服务器时以功能分为各种模块分别描述。当然,在实施
本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
106.上述实施例的装置用于实现前述一个实施例中相应的数据加密方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
107.基于同一技术构思,与上述另一个实施例数据加密方法相对应的,本技术还提供了一种终端设备。
108.所述终端设备,包括:
109.第二通信模块,用于与服务器建立网络连接,从所述服务器中获取公钥,并向所述服务器发送加密的时间戳和加密的请求数据;
110.第一计算模块,用于预设对称加密算法与非对称加密算法;其中所述非对称加密算法用于对时间戳进行对称加密,所述对称加密算法用于基于所述时间戳,对请求数据进行对称加密;
111.获取模块,用于获取所述时间戳;
112.第二存储模块,用于存储从所述服务器获取的公钥。
113.需要说明的是,第一计算模块还用于加入预设干扰字符,对时间戳加入干扰字符,生成加入干扰的时间戳。
114.而第二存储模块还可以用于存储干扰字符。
115.为了描述的方便,描述以上终端设备时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
116.基于同一技术构思,与上述一个实施例数据解密方法相对应的,本技术还提供了一种服务器。
117.所述服务器,包括:
118.第三通信模块,用于接收终端设备发送的加密的时间戳和加密的请求数据;其中,所述加密的时间戳是根据预先生成的公钥和预设对称加密算法对所述终端设备生成的时间戳加密后得到的,所述加密的请求数据是对所述终端设备生成的请求数据利用所述公钥作为加密密钥,通过预设非对称加密算法加密后得到的;
119.第三存储模块,用于存储与所述公钥对应的私钥;
120.第二计算模块,用于预设对称解密算法和非对称解密算法,其中所述非对称解密算法用于对加密的时间戳进行解密,并生成解密的时间戳;所述对称解密算法用于基于解密的时间戳,通过预设对称解密算法对加密的请求数据进行对称解密。
121.需要说明的是,第二计算模块还用于加入预设干扰字符,对解密的时间戳添加干扰字符,生成加入干扰的时间戳。
122.为了描述的方便,描述以上服务器时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
123.基于同一技术构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的数据加密方法以及数据解密方法。
124.图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间
在设备内部的通信连接。
125.处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
126.存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
127.输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
128.通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
129.总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
130.需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
131.上述实施例的电子设备用于实现前述任一实施例中相应的数据加密方和和数据解密方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
132.基于同一技术构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的数据加密方法和数据解密方法。
133.本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
134.上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的数据加密方法和数据解密方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
135.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例
或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
136.另外,为简化说明和讨论,并且为了不会使本技术实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术实施例。因此,这些描述应被认为是说明性的而不是限制性的。
137.尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
138.本技术实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。