信息加密方法、装置、存储介质及计算机设备与流程

文档序号:32127284发布日期:2022-11-09 08:35阅读:52来源:国知局
信息加密方法、装置、存储介质及计算机设备与流程

1.本发明涉及信息技术领域,尤其是涉及一种信息加密方法、装置、存储介质及计算机设备。


背景技术:

2.在不同种类的个人隐私信息中,账户鉴别类信息的保护尤为重要。比如网站或app登陆密码一旦被破解,账户内如姓名、邮箱、证件号、生物信息等敏感信息将面临泄露,更为敏感的还有个人支付账户密码,一但泄露、丢失或未经授权查看,会严重危害账户持有人的财产安全,由此可见,对于个人密码的保护可谓个人信息保护的重中之重。
3.目前,通常采用国际通用密码算法对信息进行加密保护。然而,目前1024位国际通用密码算法已经被证实存在被攻击的风险,必须升级到了2048位才能保证算法安全,而2048位国际通用密码算法的秘钥较长,导致利用该算法进行加密时秘钥的传输速度较慢,进而导致对信息的加密效率较低。


技术实现要素:

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.图1示出了本发明实施例提供的一种信息加密方法流程图;
48.图2示出了本发明实施例提供的一种信息加密装置的结构示意图;
49.图3示出了本发明实施例提供的另一种信息加密装置的结构示意图;
50.图4示出了本发明实施例提供的一种计算机设备的实体结构示意图;
51.图5示出了本发明实施例提供的另一种计算机设备的实体结构示意图。
具体实施方式
52.下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的
情况下,本技术中的实施例及实施例中的特征可以相互组合。
53.目前,采用国际通用密码算法对信息进行加密保护的方式,由于利用该算法进行加密时秘钥的传输速度较慢,从而导致对信息的加密效率较低。
54.为了解决上述问题,本发明实施例提供了一种信息加密方法,如图1所示,所述方法包括:
55.101、获取待加密信息及其对应的时间戳。
56.其中,待加密信息可以为密码信息或者医疗领域方面的信息,例如,个人健康档案信息、或者医保信息,所述时间戳为加密指令开始的时间。
57.对于本发明实施例,为了克服现有技术中信息加密的效率较低的问题,本发明实施例通过利用预设加密算法中的第一秘钥对待加密信息进行加密,得到第一密文,同时为了避免第一密文在传输过程中导致信息泄露的风险,还需要对第一密文和所述时间戳进行加密处理,得到第二密文和第三密文,并将所述第二密文和第三密文传输至服务端,以便所述服务端基于所述第二密文和所述第三密文,生成第二秘钥,并将所述第二秘钥传输至客户端,所述客户端利用所述第二秘钥对所述第一密文进行加密处理,得到第四密文,作为最终的加密结果,本发明实施例利用预设加密算法对待加密信息进行加密,能够避免国际通用加密算法中秘钥过长,导致秘钥传输较慢的问题,从而提高了信息加密的效率,同时,本发明实施例通过对第一密文再次进行加密处理,够避免第一密文由客户端传入服务端的过程中存在泄露的风险,从而保障了信息的安全性。本发明实施例主要应用于对信息进行加密的场景,本发明实施例的执行主体为能够对信息进行加密的装置或者设备,具体可以设置在客户端或者服务端一侧。
58.具体地,若待加密信息为密码信息,则当用户在客户端输入账号和密码后,即可获取到所述待加密信息,同时获取所述待加密信息对应的标识信息,所述标识信息可以为密码对应的账号,用于与加密信息对应存储,同时,将所述密码输入时刻确定为所述时间戳中记录的时间,之后利用第一秘钥对所述待加密信息进行加密,得到第一密文。
59.例如,若所述待加密信息为医保信息,则在医院的数据库中获取所述医保信息,并将所述医保信息传输至加密软件中,并触发所述加密软件中的加密指令,此时便可获取所述待加密信息对应的时间戳,其中,所述时间戳中记录的时间即为触发加密指令的时间,之后客户端自动生成第一秘钥,并利用所述第一秘钥对所述医保信息进行加密处理。
60.102、利用预设加密算法中的第一秘钥对所述待加密信息进行加密,得到所述待加密信息对应的第一密文。
61.其中,预设加密算法具体可以为国产商用密码算法,其中所述国产商用密码算法包括国密对称加密算法sm4、非对称加密算法sm2、摘要计算算法sm3,国产商用密码算法中的秘钥较短,进而在加密过程中的传输速度较快,从而能够提高信息加密的效率,对于本发明实施例,预先在所述客户端中安装安全密码控件,所述安全密码插件可以为经过国产商用密码产品认证的插件,客户端在获取到待加密信息后,客户端采用经国产商用密码产品认证的安全密码控件,使用由硬件加解密设备(hsm)生成的国密sm2非对称密钥对中的公钥pub1,即第一秘钥,对个人密码信息明文加密得到password1,即第一密文,并将所述第一密文和时间戳进行再次加密,得到第二密文和第三密文,并将所述待加密信息和时间戳以第二密文和第三密文的形式传输至服务端进行去获取第二秘钥,最终利用第二秘钥对第一密
文进行加密处理,得到第四密文,避免了第一密文传输至服务端的过程中,存在信息泄露的风险,从而保障了信息传输的安全性,进而保证了待加密信息的安全性,同时采用国产加密算法能够提高信息加密的效率。
62.103、对所述第一密文和所述时间戳进行加密处理,得到所述待加密信息对应的第二密文和第三密文。
63.对于本发明实施例,为了确保第一密文和时间戳在传输过程中的安全性,在将第一密文和时间戳传输至服务端之前,需要对第一密文和时间戳再次进行加密处理,得到第二密文和第三密文,基于此,步骤103具体包括:基于所述第一密文和所述时间戳,随机生成第三秘钥、初始化向量和第四秘钥,并将所述第四秘钥对应的私钥发送至服务端;将所述第一密文和所述时间戳进行拼接,得到第一数据串;利用所述第三秘钥和所述初始化向量对所述第一数据串进行加密,得到所述待加密信息对应的第二密文;利用所述第四秘钥对所述第三秘钥和所述初始化向量进行加密,得到第三密文,所述第四秘钥可以是客户端与服务端协商生成的秘钥,也可以是客户端基于第一密文和时间戳,随机生成的秘钥,所述时间戳是以字符串的形式存在的。
64.其中,所述第三秘钥和所述初始化向量是长度为32的字符串,其中,所述初始化向量用于在sm4-cbc算法中作为盐值分量参与计算,能够提高数据加密的安全性。具体地,客户端使用js或java代码库自带的标准随机数生成函数,随机生成两个长度为32的字符串就可以作为第三秘钥key和初始化向量iv使用,同时客户端与服务端协商生成第四秘钥,其中,所述第四秘钥可以为国密sm2非对称密钥对中的公钥pub2,之后,将所述第一密文和所述时间戳进行字符串的拼接,得到第一数据串,为了提高信息传输的安全性,需要利用所述第三秘钥和所述初始化向量对所述第一数据串进行加密,得到第二密文,基于此,所述方法包括:将所述初始化向量与所述第一数据串进行拼接,得到第二数据串;利用所述第三秘钥对所述第二数据串进行加密,得到所述待加密信息对应的第二密文。
65.具体地,本发明实施例可以使用标准的sm4-cbc算法,所述sm4-cbc算法是安卓客户端代码通过引用bcprov通用jar包实现的,key作为第三秘钥,iv作为输入的初始化量,将输入的初始化向量和所述第一数据串进行拼接,得到第二数据串,并利用所述第三秘钥对第二数据串进行加密,得到所述待加密信息对应的第二密文,之后使用和服务端协商的第四秘钥对所述第三秘钥和所述初始化向量进行加密,具体可以采用另一对国密sm2非对称密钥对中的公钥pub2作为第四秘钥,并利用所述第四秘钥对初始化向量和第三秘钥进行加密,得到第三密文,之后将所述第二密文和所述第三密文进行拼接,得到第三数据串,并将所述第三数据串传输至服务端,服务端对所述第三数据串中的第二密文和所述第三密文分别进行解密,得到第一密文和时间戳,并基于所述第一密文和时间戳,随机生成第二秘钥,并将所述第二秘钥传输至客户端,客户端最终利用第二秘钥对所述第一密文进行加密,得到第四密文,之后将所述第四密文传输至服务端进行存储,由此在将待加密信息传输至服务端进行存储之前,通过对待加密信息进行多次不同方式的加密处理,能够确保待加密信息在传输过程中的安全性。
66.104、将所述第二密文和所述第三密文发送至服务端。
67.对于本发明实施例,在客户端对所述待加密信息进行加密处理,得到第一密文后,还需要利用客户端随机生成的秘钥对第一密文和时间戳进行加密处理,得到第二密文和第
三密文,并将所述第二密文和第三密文发送至服务端,所述时间戳在所述服务端用于对超时时间的验证,若验证通过,则服务端生成所述待加密信息对应的第二秘钥,并将所述第二秘钥返回至所述客户端,所述客户端利用所述第二秘钥对所述第一密文进行加密,得到第二密文,由此将所述待加密信息在客户端进行第一次加密,得到第一密文,为了避免第一密文和时间戳在传输过程中存在泄露的风险,需要对第一密文和时间戳进行再次加密,得到第二密文和第三密文,并最终将第一密文以第二密文和第三密文的形式传输至服务端,所述服务端获取到所述第二密文和所述第三密文后,对其进行解密得到第一密文和时间戳,并基于所述第一密文和所述时间戳,生成所述待加密信息对应的第二秘钥,并将所述第二秘钥传输至客户端,所述客户端利用所述第二秘钥对所述第一密文进行加密,得到第四密文,最终客户端将所述第四密文传输至服务端进行存储,通过对待加密信息进行双重加密,能够提高信息的安全性。
68.105、接收客户端发送的第二密文和第三密文。
69.具体地,客户端将所述待加密信息和时间戳对应的第二密文和第三密文传输至服务端,与此同时,所述客户端还将所述第四秘钥对应的私钥也传输至服务端,以便服务端对第二密文和第三密文进行解密使用,此时,所述服务端便可接收到所述客户端传来的待加密信息和时间戳对应的第二密文和第三密文和第四秘钥对应的私钥。
70.106、对所述第二密文和所述第三密文进行解密处理,得到待加密信息对应的第一密文和时间戳。
71.对于本发明实施例,服务端在接收到所述第二密文和所述第三密文后,需要对所述第二密文和所述第三密文进行解密处理,基于此,步骤202具体包括:接收客户端发送的第四秘钥对应的私钥,并利用所述私钥对所述第三密文进行解密处理,得到第三秘钥和初始化向量;利用所述第三秘钥和所述初始化向量对所述第二密文进行解密处理,得到由第一密文和时间戳拼接成的第一数据串,并在所述第一数据串中拆分出第一密文和时间戳。
72.具体地,服务端利用客户端发送的第四秘钥对应的私钥对所述第三密文进行解密处理,得到第三秘钥和初始化向量,然后使用所述第三秘钥和所述初始化向量对称解密第二密文,得到所述第一数据串,并在所述第一数据串中拆分出时间戳timestamp和第一密文password1,并利用所述时间戳进行超时时间的验证,若验证通过,则服务端自动生成第一密文对应的第二秘钥,并将所述第二秘钥发送至客户端,以便客户端利用所述第二秘钥对所述第一密文进行加密,得到第四密文,最为所述待加密信息最终的加密结果。
73.107、基于所述第一密文和所述时间戳,生成所述待加密信息对应的第二秘钥。
74.对于本发明实施例,所述时间戳用于超时时间的验证,具体验证方法为:判断当前系统时间与所述时间戳中时间之间的时间差是否小于预设时间差;若所述时间差小于所述预设时间差,则基于所述第一密文,生成所述待加密信息对应的第二秘钥;若所述时间差大于或等于所述预设时间差,则生成禁止加密的告警信息,并将所述告警信息发送至客户端。
75.其中,所述当前系统时间为当前服务端中显示的时间,所述预设时间差是根据以往加密时间而确定的。具体地,获取所述时间戳中记录的时间,并将所述系统当前时间与所述时间戳中记录的时间相减,得到时间差,并判断所述时间差是否小于预设时间差,若所述时间差小于所述预设时间差,则确定信息加密的时间在规定范围内,则此时服务端自动生成所述待加密信息对应的第二秘钥,并将所述第二秘钥发送至所述客户端,以便客户端利
用第二秘钥对所述第一密文进行加密处理,得到最终的加密结果,若系统当前时间与时间戳中记录的时间之间的时间差大于或等于所述预设时间差,则确定加密时间超过预设时间,则禁止生成所述待加密信息对应的第二秘钥,并生成告警信息,并将所述告警信息发送至客户端,客户端接收到告警信息后,对客户端的用户进行身份识别,若识别通过,则再次进行信息加密。
76.108、将所述第二秘钥发送至客户端。
77.109、利用所述第二秘钥对所述第一密文进行加密,得到所述待加密信息对应的第四密文,作为所述待加密信息对应的加密结果。
78.对于本发明实施例,客户端在对所述待加密信息进行双重加密,得到第二密文和第三密文后,将所述第二密文和所述第三密文共同传输至所述服务端,所述服务端端从所述第二密文和所述第三密文中解密出第一密文和时间戳,所述时间戳用于超时时间的验证,防止密文被长时间的重放攻击,若验证通过,则服务端调用硬件加解密设备(hsm)生成加密机内部sm4的对称密钥zpk,即第二秘钥,并将所述第二秘钥传输至客户端,最终客户端利用服务端传来的第二秘钥对第一密文进行加密处理,得到第四秘钥,作为对待加密信息的最终加密结果,客户端在对待加密信息进行加密得到第四密文后,可以将所述第四密文传输至服务端进行存储。由此通过利用第一秘钥对待加密信息进行加密,得到第一密文,并对第一密文和时间戳进行再次加密得到第二密文和第三密文,并将所述第二密文和第三密文传输至服务端,以便所述服务端基于所述第二密文和所述第三密文,生成第二秘钥,并将所述第二秘钥传输至客服端,客户端利用第二秘钥对第一密文进行加密,得到第四密文,作为最终的加密结果,避免了第一密文和时间戳由客户端传入服务端的过程中存在泄露的风险,从而保障了信息的安全性,同时,本发明实施例通过客户端安全密码控件与硬件加解密设备(hsm)的配套使用,实现了隐私信息在前端加密、中间系统全密文传输至后端,保证了在整个应用系统内部全链路上无隐私信息明文出现,提高了隐私信息的安全性,同时本发明实施例利用国产加密算法能够提高信息加密的效率。
79.根据本发明提供的一种信息加密方法,与目前将明文由客服端传入服务端进行加密的方式相比,本发明实施例通过获取待加密信息及其对应的时间戳;并利用预设加密算法中的第一秘钥对所述待加密信息进行加密,得到所述待加密信息对应的第一密文;与此同时,对所述第一密文和所述时间戳进行加密处理,得到所述待加密信息对应的第二密文和第三密文;之后将所述第二密文和所述第三密文发送至服务端,并获取所述服务端基于所述第二密文和所述第三密文,生成的所述待加密信息对应的第二秘钥;最终利用所述第二秘钥对所述第一密文进行加密,得到所述待加密信息对应的第四密文,作为所述待加密信息对应的加密结果,由此通过利用预设加密算法中的第一秘钥对待加密信息进行加密,得到第一密文,并对第一密文和时间戳再次进行加密处理,得到第二密文和第三密文,并将第二密文和第三密文传输至服务端,以便所述服务端基于所述第二密文和所述第三密文,生成第二秘钥,最终客户端利用第二秘钥对所述第一密文进行加密,得到第四密文作为最终的加密结果,通过预设加密算法对待加密信息进行加密,能够避免国际通用加密算法中秘钥过长导致传输较慢的问题,从而提高了信息加密的效率,同时通过对待加密信息进行多重加密,以密文方式从客户端传入服务端,避免了待加密信息由客户端传入服务端的过程中存在泄露的风险,从而保障了信息的安全性。
80.进一步地,作为图1的具体实现,本发明实施例提供了一种信息加密装置,如图2所示,所述装置包括:获取单元31、第一加密单元32、第二加密单元33、发送单元34和第三加密单元35。
81.所述获取单元31,可以用于获取待加密信息及其对应的时间戳。
82.所述第一加密单元32,可以用于利用预设加密算法中的第一秘钥对所述待加密信息进行加密,得到所述待加密信息对应的第一密文。
83.所述第二加密单元33,可以用于对所述第一密文和所述时间戳进行加密处理,得到所述待加密信息对应的第二密文和第三密文。
84.所述发送单元34,可以用于将所述第二密文和所述第三密文发送至服务端,并获取所述服务端基于所述第二密文和所述第三密文,生成的所述待加密信息对应的第二秘钥。
85.所述第三加密单元35,可以用于利用所述第二秘钥对所述第一密文进行加密,得到所述待加密信息对应的第二密文,作为所述待加密信息对应的加密结果。
86.在具体应用场景中,为了对所述第一密文和所述时间戳进行加密处理,所述第二加密单元33,包括生成模块331、拼接模块332、加密模块333。
87.所述生成模块331,可以用于基于所述第一密文和所述时间戳,随机生成第三秘钥、初始化向量和第四秘钥,并将所述第四秘钥对应的私钥发送至服务端。
88.所述拼接模块332,可以用用于将所述第一密文和所述时间戳进行拼接,得到第一数据串。
89.所述加密模块333,可以用于利用所述第三秘钥和所述初始化向量对所述第一数据串进行加密,得到所述待加密信息对应的第二密文。
90.所述加密模块333,还可以用于利用第四秘钥对所述第三秘钥和所述初始化向量进行加密,得到第三密文。
91.在具体应用场景中,为了确定所述待加密信息对应的第二密文,所述加密模块333,包括拼接子模块和加密子模块。
92.所述拼接子模块,可以用于将所述初始化向量与所述第一数据串进行拼接,得到第二数据串。
93.所述加密子模块,可以用于利用所述第三秘钥对所述第二数据串进行加密,得到所述待加密信息对应的第二密文。
94.需要说明的是,本发明实施例提供的一种信息加密装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
95.基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取待加密信息及其对应的时间戳;利用预设加密算法中的第一秘钥对所述待加密信息进行加密,得到所述待加密信息对应的第一密文;对所述第一密文和所述时间戳进行加密处理,得到所述待加密信息对应的第二密文和第三密文;将所述第二密文和所述第三密文发送至服务端,并获取所述服务端基于所述第二密文和所述第三密文,生成的所述待加密信息对应的第二秘钥;利用所述第二秘钥对所述第一密文进行加密,得到所述待加密信息对应的第四密文,作为所述待加密信息对应的加密结果。
96.基于上述如图1所示方法和如图2所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图4所示,该计算机设备包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:获取待加密信息及其对应的时间戳;利用预设加密算法中的第一秘钥对所述待加密信息进行加密,得到所述待加密信息对应的第一密文;对所述第一密文和所述时间戳进行加密处理,得到所述待加密信息对应的第二密文和第三密文;将所述第二密文和所述第三密文发送至服务端,并获取所述服务端基于所述第二密文和所述第三密文,生成的所述待加密信息对应的第二秘钥;利用所述第二秘钥对所述第一密文进行加密,得到所述待加密信息对应的第四密文,作为所述待加密信息对应的加密结果。
97.进一步地,作为图1的具体实现,本发明实施例提供了另一信息加密装置,如图3所示,所述装置包括:接收单元51、解密单元52和生成单元53。
98.所述接收单元51,可以用于接收客户端发送的第二密文和第三密文。
99.所述解密单元52,可以用于对所述第二密文和所述第三密文进行解密处理,得到第一密文和时间戳。
100.所述生成单元53,可以用于基于所述第一密文和所述时间戳,生成所述待加密信息对应的第二秘钥,并将所述第二秘钥发送至客户端,以便所述客户端利用所述第二秘钥对待加密信息对应的第一密文进行加密,得到所述待加密信息对应的第四密文。
101.在具体应用场景中,为了对第二密文和第三密文进行解密,得到第一密文和时间戳,所述解密单元52,包括解密模块521和拆分模块522。
102.所述解密模块521,可以用于接收客户端发送的第四秘钥对应的私钥,并利用所述私钥对所述第三密文进行解密处理,得到第三秘钥和初始化向量。
103.所述拆分模块522,可以用于利用所述第三秘钥和所述初始化向量对所述第二密文进行解密处理,得到由第一密文和时间戳拼接成的第一数据串,并在所述第一数据串中拆分出第一密文和时间戳。
104.在具体应用场景中,为了基于所述第一数据串中的所述第一密文和所述时间戳,生成所述待加密信息对应的第二秘钥,所述生成单元53,包括判断模块531和生成模块532。
105.所述判断模块531,可以用于判断当前系统时间与所述时间戳中时间之间的时间差是否小于预设时间差。
106.所述生成模块532,可以用于若所述时间差小于所述预设时间差,则基于所述第一密文,生成所述待加密信息对应的第二秘钥。
107.所述生成模块532,还可以用于若所述时间差大于或等于所述预设时间差,则生成禁止加密的告警信息,并将所述告警信息发送至客户端。
108.需要说明的是,本发明实施例提供的一种服务端所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
109.基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:接收客户端发送的第二密文和第三密文;对所述第二密文和所述第三密文进行解密处理,得到待加密信息对应的第一密文和时间戳;基于所述第一密文和所述时间戳,生成所述待加密信息对应的第二秘
钥,并将所述第二秘钥发送至客户端,以便所述客户端利用所述第二秘钥对待加密信息对应的第一密文进行加密,得到所述待加密信息对应的第四密文。
110.基于上述如图1所示方法和如图3所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图5所示,该计算机设备包括:处理器61、存储器62、及存储在存储器62上并可在处理器上运行的计算机程序,其中存储器62和处理器61均设置在总线63上所述处理器61执行所述程序时实现以下步骤:接收客户端发送的第二密文和第三密文;对所述第二密文和所述第三密文进行解密处理,得到待加密信息对应的第一密文和时间戳;基于所述第一密文和所述时间戳,生成所述待加密信息对应的第二秘钥,并将所述第二秘钥发送至客户端,以便所述客户端利用所述第二秘钥对待加密信息对应的第一密文进行加密,得到所述待加密信息对应的第四密文。
111.通过本发明的技术方案,本发明通过获取待加密信息及其对应的标识信息和时间戳;利用预设加密算法中的第一秘钥对所述待加密信息进行加密,得到所述待加密信息对应的第一密文;并对所述第一密文和所述时间戳进行加密处理,得到第二密文和第三密文,并将所述第二密文和所述第三密文发送至服务端,当服务端接收到所述第二密文和所述第三密文后,对所述第二密文和所述第三密文进行解密处理,得到第一密文和时间戳,并基于所述第一密文和所述时间戳,生成所述待加密信息对应的第二秘钥,并将所述第二秘钥发送至客户端,客户端利用所述第二秘钥对所述第一密文进行加密处理,得到第四密文,最为待加密信息最终的加密结果,由此通过预设加密算法对待加密信息进行加密,能够避免国际通用加密算法中秘钥过长导致传输较慢的问题,从而提高了信息加密的效率,同时通过对待加密信息进行多重加密,以密文方式从客户端传入服务端,避免了待加密信息由客户端传入服务端的过程中存在泄露的风险,从而保障了信息的安全性。
112.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
113.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1