一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

加密方法、电子设备和计算机可读存储介质与流程

2022-06-29 22:18:52 来源:中国专利 TAG:


1.本发明涉及通信领域,尤其涉及一种加密方法、电子设备和计算机可读存储介质。


背景技术:

2.当前在移动终端使用的网络传输加密方式分为两类,分别是对称加密和非对称加密。
3.非对称加密即使用公钥和私钥的加密方式,公钥和私钥是一对出现,两者不同,发送方使用公钥加密数据,传输到接收方,接收方收到数据后利用私钥解密数据。只有对应的私钥才能解开公钥加密的数据。移动终端的应用常使用已写在代码中生成好的公钥加密数据后传输到服务器。非对称加密的优点是安全性高,不易被破解,缺点是效率较低。
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.将待发往所述服务器的信息进行base64编码,得到编码后的数据;
35.根据所述秘钥,将所述编码后的数据进行aes对称方式加密。
36.第三方面,本发明提供了一种电子设备,所述电子设备包括:
37.一个或多个处理器;
38.存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任意一项所述的加密方法、或第二方面中任意一项所述的加密方法;
39.一个或多个i/o接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
40.第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任意一项所述的加密方法、或第二方面中任意一项所述的加密方法。
41.本发明提出的基于时间戳的高效动态加密方法,在终端应用进行登录认证时采用安全性更高的非对称加密方式,在与服务器通信时采用效率更高的对称加密方式,在兼顾数据传输安全的前提下也提高了信息处理的效率,同时满足多方面的需求。并且,由于秘钥是基于时间戳生成的,可以为不同用户生成不同的秘钥,解决了大量用户共用同一秘钥导致的安全问题。
附图说明
42.图1是本发明实施例提供的一种加密方法的流程图。
43.图2是本发明实施例提供的一种加密方法中部分步骤的流程图。
44.图3是本发明实施例提供的一种加密方法中部分步骤的流程图。
45.图4是本发明实施例提供的一种加密方法中部分步骤的流程图。
46.图5是本发明实施例提供的另一种加密方法的流程图。
47.图6是本发明实施例提供的另一种加密方法中部分步骤的流程图。
48.图7是本发明实施例提供的另一种加密方法中部分步骤的流程图。
49.图8是本发明实施例提供的另一种加密方法中部分步骤的流程图。
50.图9是本发明实施例提供的一种具体实施方式的流程示意图。
51.图10是本发明实施例提供的一种电子设备的示意图。
52.图11是本发明实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
53.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
54.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
55.移动互联网技术运用越来越多,安全问题和效率问题显的极为重要,当采用非对称秘钥时则侧重了安全忽视了效率问题,当采用对称秘钥时通常提高了效率但是安全性则有所降低。针对两种加密方式各自存在的缺点,本发明提供了一种使用时间戳为基础的动态对称秘钥加密方式,目的是提供一种能够满足兼顾手机数据传输安全和效率的加密方式,尽量满足兼顾各方面需求,解决对称秘钥分发问题和大量用户共用同一秘钥导致的安全问题。
56.第一方面,本发明实施例提供一种加密方法,如图1所示,所述加密方法包括如下步骤:
57.在步骤s110中,接收终端应用的登录信息,其中,所述登录信息为通过非对称加密方式进行加密的信息;
58.在步骤s120中,解析所述登录信息,对所述登录信息中的账号密码进行认证;
59.在步骤s130中,若认证成功,根据时间戳生成对称加密方式的秘钥;
60.在步骤s140中,将所述秘钥通告所述终端应用。
61.需要说明的是,手机、平板电脑等终端产品上的应用软件,在登录时向服务器发送的登录信息可以是明文或密文,但是为了实现安全的目的,需要采用密文,而且需要采用安全性较高的加密方式。否则,若最初的登录认证时都无法保证其安全性,后续分配秘钥以及通信交互中再采取任何加密措施都没有意义。
62.本发明的构思是,在终端应用进行登录认证时采用安全性更高的非对称加密方式,在与服务器通信时采用效率更高的对称加密方式,在兼顾数据传输安全的前提下也提高了信息处理的效率。因此,终端应用在最初的登录认证时,发送的是经过非对称方式加密的登录信息,其中,登录信息中包括账号密码等用于认证的重要信息。
63.服务器端收到登录信息后,对登录信息进行解密,然后提取出账号密码信息,进行认证。如果认证不通过,则终端应用登录失败,向终端应用返回错误信息;如果认证通过,则继续执行分配秘钥的流程。
64.服务器通过预先与终端应用约定好的秘钥生成规则,采集时间戳信息,将时间戳按照秘钥生成规则进行计算,得到对称加密方式的秘钥,下发给终端应用。由于时间戳每时每刻都在变化,因此在为每个终端应用生成秘钥时,所基于的时间戳均不相同,计算得到的秘钥值也均不相同,因此可以解决大量用户共用同一秘钥导致的安全问题。
65.需要指出的是,生成的秘钥为对称加密方式的秘钥,虽然相对于非对称加密方式来说此秘钥的安全性相对较低,但并不表示此类秘钥没有安全性。对称加密方式作为一种常用的加密方式,例如高级加密标准(aes,advanced encryption standard)、数据加密算法标准(des,data encryption standard)等对称加密算法的安全性也是值得肯定的。由于对称加密方式的运算复杂度要远低于非对称加密方式,所以其处理效率要比非对称加密方式高很多。当终端应用需要与服务器进行频繁的数据交互时,加密方式的运行效率就显得非常重要。因此,在已经通过非对称加密方式完成登录认证的前提下,对称加密方式能够兼顾业务对效率与安全双重需求。
66.在一些实施例中,所述根据时间戳生成对称加密方式的秘钥,如图2所示,包括:
67.在步骤s131中,获取当前的时间戳;
68.在步骤s132中,根据与所述终端应用预先约定的秘钥生成规则,对所述当前的时间戳进行处理,得到对称加密方式的所述秘钥。
69.如前所述,基于时间戳动态生成的秘钥,可以使不同的终端应用使用不同的秘钥,能够避免根据其它终端应用的秘钥猜出本终端的秘钥,或者直接被其它终端应用泄露秘钥的风险。对时间戳所选的时间点并不做特别限制,例如可以选取终端应用登录的时间作为时间戳,也可以选择服务器认证成功的时间点作为时间戳,还可以将服务器开始准备回应信息的时间作为时间戳。
70.预先约定的秘钥生成规则是应用与服务器在软件发布时已经预先约定好的自定义的规则,并不限于采用通用算法,也可以具有一定的随意性,对字符进行多次的代换、位置变化、数学计算等,最终生成秘钥,用来进行对称加密方式的加密。
71.通过以时间戳为基础生成秘钥、以及自定义秘钥生成规则,都增加了秘钥生成的随机性,增加了被破解的难度,因此能够得到比普通的对称加密算法更高的安全性。
72.在一些实施例中,所述登录信息为通过非对称加密方式的公钥进行加密的信息,如图3所示,所述解析所述登录信息,包括:
73.在步骤s121中,根据所述公钥,确定对应的私钥;
74.在步骤s122中,根据所述私钥,对所述登录信息进行解密;
75.在步骤s123中,从解密后的所述登录信息中识别出所述终端应用的账号密码。
76.为弥补对称加密方式在安全性上低于非对称加密方式的不足,在终端应用进行登录时,采用高安全性的非对称加密方式,在登录认证成功之后,才分配对称加密方式的秘钥,开始对称加密方式的通信交互。
77.在终端应用上通过非对称加密方式的公钥对包括账号密码在内的登录信息进行加密。服务器收到加密的登录信息后,确定与该公钥相对应的私钥,进行解密,识别出登录信息中的账号密码以及其它与登录认证相关的信息,执行登录认证操作。
78.在一些实施例中,在所述将所述秘钥通告所述终端应用之后,如图4所示,还包括:
79.在步骤s151中,将所述秘钥与所述终端应用的当前次的登录状态进行绑定;
80.在步骤s152中,在所述终端应用的当前次的登录状态下,采用所述秘钥对发往所述终端应用的信息进行加密;
81.在步骤s153中,在所述终端应用的当前次的登录状态下,采用所述秘钥对从所述终端应用收到的信息进行解密。
82.终端应用每次登录认证成功时,服务器为该终端应用分配秘钥,并将该终端应用本次的登录状态与为其分配的秘钥进行绑定,仅限于该终端应用在本次登录状态下使用,其它终端应用不能使用,而且当该终端应用退出本次登录时,也会为该秘钥解除绑定。下次该终端应用重新登录时,服务器再重新为该终端分配秘钥,且该秘钥仍会与该终端的下次登录状态进行绑定。
83.在绑定有秘钥的状态下,终端应用与服务器之间的通信信息将采用该秘钥进行对称加密。终端应用向服务器发送信息时会用该秘钥进行加密、服务器收到终端应用的信息时会用该秘钥进行解密;同样,服务器向终端应用发送信息时会用该秘钥进行加密、终端应用收到服务器的信息时也会用该秘钥进行解密。
84.在服务器与大量终端应用进行频繁的信息交互中,通过采用非对称加密方式进行登录认证与认证成功后采用对称加密方式进行信息加密,既保证了登录认证的安全性,又兼顾了频繁处理大量加密消息时的运行效率,同时满足了多方面的需求。
85.第二方面,本发明提供了一种加密方法,如图5所示,包括:
86.在步骤s210中,根据账号密码,向服务器发送登录信息,其中,所述登录信息为通过非对称加密方式的公钥进行加密的信息,所述登录信息中包括账号密码;
87.在步骤s220中,接收所述服务器回应的秘钥,其中,所述秘钥为所述服务器根据服务器的时间戳生成的对称加密方式的秘钥。
88.在终端应用进行登录认证时采用安全性更高的非对称加密方式,在与服务器通信时采用效率更高的对称加密方式,在兼顾数据传输安全的前提下也提高了信息处理的效率。因此,终端应用在最初的登录认证时,发送的是经过非对称方式加密的登录信息,其中,登录信息中包括账号密码等用于认证的重要信息。
89.服务器端收到登录信息后,对登录信息进行解密,然后提取出账号密码信息,进行认证。认证通过后会向终端应用分配基于时间戳的对称加密方式的秘钥。由于时间戳每时每刻都在变化,因此在为每个终端应用生成秘钥时,所基于的时间戳均不相同,计算得到的秘钥值也均不相同,因此可以解决大量用户共用同一秘钥导致的安全问题。
90.由于对称加密方式的运算复杂度要远低于非对称加密方式,所以其处理效率要比非对称加密方式高很多。当终端应用需要与服务器进行频繁的数据交互时,加密方式的运行效率就显得非常重要。因此,在已经通过非对称加密方式完成登录认证的前提下,对称加密方式能够兼顾业务对效率与安全双重需求。
91.在一些实施例中,所述根据账号密码,向服务器发送登录信息,如图6所示,包括:
92.在步骤s211中,获取账号密码,生成登录信息;
93.在步骤s212中,通过非对称加密方式的公钥对所述登录信息进行加密;
94.在步骤s213中,向服务器发送加密后的所述登录信息。
95.为弥补对称加密方式在安全性上低于非对称加密方式的不足,在终端应用进行登录时,采用高安全性的非对称加密方式,在登录认证成功之后,才分配对称加密方式的秘
钥,开始对称加密方式的通信交互。
96.在终端应用上通过非对称加密方式的公钥对包括账号密码在内的登录信息进行加密。服务器收到加密的登录信息后,确定与该公钥相对应的私钥,进行解密,识别出登录信息中的账号密码以及其它与登录认证相关的信息,执行登录认证操作。
97.在一些实施例中,在所述接收所述服务器回应的秘钥之后,如图7所示,还包括:
98.在步骤s231中,将所述秘钥与当前次的登录状态进行绑定;
99.在步骤s232中,在所述当前次的登录状态下,采用所述秘钥对发往所述服务器的信息进行加密;
100.在步骤s233中,在所述当前次的登录状态下,采用所述秘钥对从所述服务器收到的信息进行解密。
101.终端应用每次登录认证成功时,服务器为该终端应用分配秘钥,并将该终端应用本次的登录状态与为其分配的秘钥进行绑定,仅限于该终端应用在本次登录状态下使用,其它终端应用不能使用,而且当该终端应用退出本次登录时,也会为该秘钥解除绑定。下次该终端应用重新登录时,服务器再重新为该终端分配秘钥,且该秘钥仍会与该终端的下次登录状态进行绑定。
102.在绑定有秘钥的状态下,终端应用与服务器之间的通信信息将采用该秘钥进行对称加密。终端应用向服务器发送信息时会用该秘钥进行加密、服务器收到终端应用的信息时会用该秘钥进行解密;同样,服务器向终端应用发送信息时会用该秘钥进行加密、终端应用收到服务器的信息时也会用该秘钥进行解密。
103.在服务器与大量终端应用进行频繁的信息交互中,通过采用非对称加密方式进行登录认证与认证成功后采用对称加密方式进行信息加密,既保证了登录认证的安全性,又兼顾了频繁处理大量加密消息时的运行效率,同时满足了多方面的需求。
104.可选地,所述采用所述秘钥对发往所述服务器的信息进行加密,如图8所示,包括:
105.在步骤s241中,将待发往所述服务器的信息进行base64编码,得到编码后的数据;
106.在步骤s242中,根据所述秘钥,将所述编码后的数据进行aes的加密。
107.base64编码是一种基于64个可打印字符来表示二进制数据的方法,可用于在http环境下传递较长的标识信息,提高传输效率。
108.对称加密方式包括aes、des、3des等多种算法标准,aes作为一种处理效率较高且安全性也较高的对称加密方式,可以作为本发明实施例的一种优选实施方式。
109.为了使本发明实施实例的目的、技术方案和优点更加清楚,以下结合1个实施例对本发明第一方面和第二方面所述的加密方法在实际通信过程中的具体应用进行进一步详细说明。
110.实施例1
111.图9是本发明实施例提供的一种具体实施方式的流程示意图。
112.如图9所示,在步骤s301中,手机端通过非对称加密方式公钥加密账号信息。手机应用读取用户输入的账号密码信息并利用非对称加密方式的公钥加密数据,在登录时使用更加安全的非对称秘钥加密方式与服务器交互传输账号密码等信息。
113.在步骤s302中,将采用非对称秘钥加密后的信息传递给服务器。手机将加密的账号密码等信息传递到服务器,此过程中传输的信息为步骤s301中加密得到的登录信息。
114.在步骤s303中,服务器收到信息后解密确认信息生成时间戳。服务器收到加密后的登录信息后利用预先约定好的私钥进行解密操作,解密完成后对账号密码等信息进行确认,如信息无误则根据服务器时间生成时间戳;如解密后的账号密码信息有误则返回手机端信息有误,手机端则根据错误情况进行相应的提示。
115.在步骤s304中,将时间戳以及其他信息传输回手机。在s303认证成功之后,获取服务器本地时间戳,以及其他账号信息返回手机应用端。
116.在步骤s305中,手机和服务器根据定好的规则以及时间戳生成对称秘钥。本发明当中加密方式需适用于频繁的数据交互,服务器和手机端根据时间戳和预先约定好的规则生成对称加密方式的秘钥。
117.需要指出的是,预先预定好的规则可以根据需要自定义一些算法的组合,本文中不做一一列举,为方便理解,此处举一具体示例进行详细说明。生成秘钥的规则和步骤:
118.a、假设盐度salt1为2021,时间戳stamp1为1637319991;
119.b、将此salt1除以100并且取整数mm为20;
120.c、将20与时间戳相乘得到m1为32746399832;
121.d、将m1与stamp1对100取余之后的数据相加得到32746399853;
122.e、将得到的数据前后倒置为35899364723;
123.f、将前三位及后三位数字按照0-9对应a-j进行替换为dfi99364hcd;
124.g、将中间剩余数字每一位加1满10则为0进行替换为dfi00475hcd即为秘钥。
125.将此秘钥与当前用户此次登录进行状态绑定,之后的交互加密和解密都用此密码,直到下次登录重新生成秘钥。
126.在步骤s306中,之后的交互利用此对称秘钥加密和解密。手机端将交互的信息用base64编码。编码之后数据采用aes对称加密方式加密,其中所用的秘钥就是s305步骤中生成的,服务器与手机端加密解密都采用此秘钥。
127.第三方面,本发明实施例提供一种电子设备,如图10所示,其包括:
128.一个或多个处理器501;
129.存储器502,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面任意一项的加密方法、或第二方面任意一项的加密方法;
130.一个或多个i/o接口503,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
131.其中,处理器501为具有数据处理能力的器件,其包括但不限于中央处理器(cpu)等;存储器502为具有数据存储能力的器件,其包括但不限于随机存取存储器(ram,更具体如sdram、ddr等)、只读存储器(rom)、带电可擦可编程只读存储器(eeprom)、闪存(flash);i/o接口(读写接口)503连接在处理器501与存储器502间,能实现处理器501与存储器502的信息交互,其包括但不限于数据总线(bus)等。
132.在一些实施例中,处理器501、存储器502和i/o接口503通过总线504相互连接,进而与计算设备的其它组件连接。
133.第四方面,本发明实施例提供一种计算机可读存储介质,如图11所示,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任意一项的
加密方法、或第二方面任意一项的加密方法。
134.本发明采用以上技术方案,通过时间戳作为关键因素和约定规则生成对称秘钥,提高传输过程的安全性,降低解密过程的复杂度。通过定制函数方式约定规则,增加了对称秘钥的标准性。整体而言,通过实现时间戳生成对称秘钥可显著提高手机与服务器交互的安全性和处理效率,并且减少开发的难度。在兼顾数据传输安全的前提下也提高了信息处理的效率,同时满足多方面的需求。
135.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
136.在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
137.以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献