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

用户密码加密处理方法、装置、设备及存储介质与流程

2022-11-12 20:27:57 来源:中国专利 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.将所述数组数据按照数组顺序拼接得到整数串。
35.可选地,所述对应存储所述第一随机数和所述第一加密密码,包括:
36.对所获取的第一随机数和所生成的第一加密密码添加相同的第一字符前缀;
37.采用所述相同的第一字符前缀,相应存储第一随机数以及与所述第一随机数对应的第一加密密码。
38.本发明实施例还公开了一种用户密码加密处理装置,应用于服务器,所述装置包括:
39.登录请求响应模块,用于响应用户的登录请求,获取所存储的第一随机数和第一加密密码;所述第一加密密码为基于所述第一随机数对针对所述用户密码的加密结果进行加密处理得到;
40.随机数更新模块,用于在所述用户的登录请求满足预设随机数更新条件时,获取第二随机数和第二加密密码;所述第二加密密码为基于所述第二随机数对针对所述用户密码的加密结果进行加密处理得到;
41.存储更新模块,用于将所述第二随机数和所述第二加密密码对所存储的第一随机数和第一加密密码进行更新,以便采用更新后的第二随机数和第二加密密码进行针对所述用户密码的登录验证。
42.可选地,在所述响应用户的登录请求之前,所述装置还包括:
43.对应存储模块,用于对所述第一随机数和所述第一加密密码进行对应存储;
44.所述对应存储模块包括:
45.加密结果生成单元,用于获取动态生成的第一随机数,并采用预设加密算法对所述用户密码进行加密处理,得到针对所述用户密码的加密结果;
46.第一加密密码生成单元,用于采用所述第一随机数对针对所述用户密码的加密结果进行异或运算,生成所述第一加密密码;
47.对应存储单元,用于对应存储所述第一随机数和所述第一加密密码。
48.可选地,所述加密结果生成单元包括:
49.加密字符串生成子单元,用于采用预设加密算法对所述用户密码进行加密处理,生成预设长度的加密字符串;
50.数组转换子单元,用于将所述预设长度的加密字符串转换为数组;所述数组包括数组数据;
51.数据拼接子单元,用于将所述数组数据按照数组顺序拼接得到整数串。
52.可选地,所述对应存储单元包括:
53.第一字符前缀添加子单元,用于对所获取的第一随机数和所生成的第一加密密码添加相同的第一字符前缀;
54.对应存储子单元,用于采用所述相同的第一字符前缀,相应存储第一随机数以及与所述第一随机数对应的第一加密密码。
55.可选地,所述装置还包括:
56.加密数据生成模块,用于响应用户的登录请求,采用预设加密算法对所述用户密码进行加密处理得到针对所述用户密码的加密结果,并采用所述第一随机数对所述用户密码的加密结果进行异或运算,得到加密数据;
57.加密密码对比模块,用于在所述加密数据与所述第一加密密码对比通过时,表示当前所述用户密码通过登录验证;
58.保留存储模块,用于在基于所述第一随机数和所述第一加密密码通过登录验证后,若所述用户的登录请求的发出时间间隔和/或所述用户的登录次数不满足预设随机数更新条件,则保留存储所述第一随机数和所述第一加密密码。
59.可选地,所述预设随机数更新条件包括所述用户的登录请求的发出时间距离前一次发出的时间间隔大于预设时间阈值,和/或,所述用户的登录次数大于预设次数阈值;所述随机数更新模块包括:
60.标识增加子模块,用于在所述用户的登录请求的发出时间距离前一次发出的时间间隔大于预设时间阈值,和/或,所述用户的登录次数大于预设次数阈值时,对所述用户的用户账号增加更换随机数的标识;
61.第二随机数获取子模块,用户在基于所述第一随机数和所述第一加密密码通过登录验证后,对具有更换随机数的标识的用户账号获取动态生成的第二随机数;
62.第二加密密码生成子模块,用于根据所述第二随机数对针对所述用户密码的加密结果进行加密处理,得到第二加密密码。
63.可选地,所述针对所述用户密码的加密结果包括经由对所述用户密码加密后的加密字符串所转换的整数串;所述第二加密密码生成子模块包括:
64.第二加密密码生成单元,用于采用所述第二随机数对针对用户密码的整数串进行异或运算,得到第二加密密码。
65.可选地,所述存储更新模块包括:
66.第一前缀字符获取子模块,用于获取所述第一随机数和所述第一加密密码中相同的第一前缀字符;
67.第二前缀字符添加子模块,用于采用所述第一前缀字符确定存储位置,并对所述第二随机数和所述第二加密密码添加相同的第二字符前缀;
68.更新替换子模块,用于分别将所述存储位置中具有第一前缀字符的第一随机数和第一加密密码,替换为具有第二前缀字符的第二随机数和第二加密密码。
69.本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现任一项所述用户密码加密处理方法的步骤。
70.本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现任一项所述用户密码加密处理方法的步骤。
71.本发明实施例包括以下优点:
72.在本发明实施例中,服务器在响应用户的登录请求时,若用户的登录请求满足预设随机数更新条件,则可获取第二随机数和第二加密密码,并将第二随机数和第二加密密码对原本存储的第一随机数和第二加密密码进行更新,以便后续在响应用户的登录请求时可采用更新后的第二随机数和第二加密密码进行对用户密码的登录验证。通过自动更新和/或更换的用于登录验证的随机数和加密密码,增加对用户密码加密处理的使用灵活性,基于其灵活性增强加密效果,且加密密码不易被破解,以及所生成的加密密码是基于随机数对加密结果再次进行加密处理得到,此双重的加密方式同样也不易被破解,有利于提高对所需进行加密处理的数据的安全性,适用于对保密性要求较高的项目。
附图说明
73.图1是相关技术中对用户密码进行加密处理的过程示意图;
74.图2是本发明的一种用户密码加密处理方法实施例的步骤流程图;
75.图3是本发明的另一种用户密码加密处理方法实施例的步骤流程图;
76.图4是本发明实施例提供的双重加密方式的过程示意图;
77.图5是本发明实施例提供的用户密码加密处理的应用场景示意图;
78.图6是本发明的一种用户密码加密处理装置实施例的结构框图。
具体实施方式
79.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
80.为了保证在网络生产过程中的安全性,对于一些比较重要的数据,通常需要对其进行加密后将加密数据在数据库中存放。而在对保密性要求较高的项目,例如对于账号数据的加密具有更高的要求,大多表现为使用组件进行加密并使用自身获取/定义的密钥,或者对加密密钥key进行处理。
81.参照图1,示出了相关技术中对用户密码进行加密处理的过程示意图,其对组件的使用以及对加密密钥key进行的处理,可以表现为获取用户注册的用户密码,然后使用组件,例如base64传入加密密钥key对所获取的用户密码进行加密处理,得到加密密码;将加密密码存储到数据库中,加密密钥key可以是针对所有用户密码进行加密处理的密钥key,在用户再次登录时可使用加密密钥key对用户密码进行加密,此时可以将加密数据和数据库的加密密码进行对比,若对比成功则表示通过登录验证,用户登录成功。
82.然而,在对用户密码进行加密处理的相关技术中,所存储的密钥key为常量,即所用于加密处理的加密密钥都是固定的密钥key,那么在每次对用户密码进行加密处理时所使用的均是相同的加密密钥key,此采用固定密钥进行加密的方式易于被破解,所加密处理得到的加密数据安全性较低,并不适用于对保密性要求较高的项目。
83.本发明实施例的核心思想之一在于提出通过动态更新的随机数对用户密码进行双重加密的方式,其可通过多次加密和自动更换随机数进一步保证加密数据的安全性,且在提高加密数据的安全性的同时,提供动态更新的能力。主要可通过自动更新和/或更换的用于登录验证的随机数和加密密码,增加对用户密码加密处理的使用灵活性,基于其灵活性增强加密效果,且加密密码不易被破解,以及所生成的加密密码是基于随机数对加密结果再次进行加密处理得到,此双重的加密方式同样也不易被破解,有利于提高对所需进行加密处理的数据的安全性,适用于对保密性要求较高的项目。
84.参照图2,示出了本发明的一种用户密码加密处理方法实施例的步骤流程图,应用于服务器,侧重于用户采用所注册的用户密码进行登录的加密处理过程,具体可以包括如下步骤:
85.步骤201,响应用户的登录请求,获取所存储的第一随机数和第一加密密码;
86.在本发明实施例中,提出通过动态更新的随机数对用户密码进行双重加密的方式,其可通过多次加密和自动更换随机数进一步保证加密数据的安全性,且在提高加密数据的安全性的同时,提供动态更新的能力。
87.为了提高加密数据的安全性,服务器在响应用户的登录请求时,所获取的第一加密密码可以为基于第一随机数对针对用户密码的加密结果进行加密处理得到,其中针对用
户密码的加密结果为已经过一次加密处理的加密数据,而再次基于第一随机数对此加密结果所进行的加密处理属于二次加密处理,那么所获取的第一加密密码可以表现为对用户密码进行二次加密后的加密数据,基于对用户密码的双重加密,有利于提高对所需进行加密处理的数据的安全性。
88.在实际应用中,为了保证在网络生产过程中的安全性,对于一些比较重要的数据,通常需要对其进行加密后将加密数据在数据库中存放,以及在对用户密码进行加密时依赖于第一随机数实现。在响应用户的登录请求时,服务器为了对登录请求中所携带的用户密码进行登录验证,可以从缓存中获取所存储的第一随机数,和从数据库中获取与第一随机数对应存储的第一加密密码,以便基于加密时所依赖的第一随机数与第一加密密码对当前的登录请求进行登录验证。
89.步骤202,在用户的登录请求满足预设随机数更新条件时,获取第二随机数和第二加密密码;
90.为了防止用户的登录过期,在用户的登录请求满足预设随机数更新条件时,可以执行自动更换随机数的操作,避免泄露用户信息,同时增加对用户密码加密处理的使用灵活性,基于其灵活性增强加密效果。
91.所执行的自动更换随机数的操作,主要可用于通过动态更新的随机数对用户密码进行双重加密,那么在用户的登录请求满足预设随机数更新条件时,其所获取的第二随机数为动态生成的随机数,所获取的第二加密密码与数据库中所存储的第一加密密码一样基于双重加密的方式进行处理,即第二加密密码可以为基于第二随机数对针对用户密码的加密结果进行加密处理得到。
92.其中,用户的登录请求满足预设随机数更新条件的情况,可以指的是针对用户的登录过期的情况,用于表示用户登录过期的情况可以包括用户的登录请求的发出时间与前一次发出时间的时间间隔过长而导致的登录过期情况,也可以包括用户的登录请求的登录次数超过限制次数而导致的登录过期情况,对此,本发明实施例不加以限制。
93.在实际应用中,即便需要在用户登录过期的情况下执行自动更换随机数的操作,但为了保证所请求登陆的用户具有更新随机数的权限,此时可在基于第一随机数和第一加密密码对当前的登录请求通过登录验证后,即用户在使用更换随机数之前缓存中所存储的第一随机数和数据库中所存储的第一加密密码进行登录成功后,服务器再执行自动更换随机数的操作。
94.步骤203,将第二随机数和第二加密密码对所存储的第一随机数和第一加密密码进行更新。
95.所执行的自动更换随机数的操作,具体可表现为将第二随机数和第二加密密码对所存储的第一随机数和第一加密密码进行更新,以便后续能够采用更新后的第二随机数和第二加密密码进行针对用户密码的登录验证,使得加密密码不易被破解,有利于提高对所需进行加密处理的数据的安全性,适用于对保密性要求较高的项目。
96.具体地,可自动更换随机数并且会通过运算自动生成新的加密密码,更换数据库中的加密密码。其中所自动更换的随机数可以是第二随机数,自动生成的新的加密密码可以是第二加密密码,那么采用第二随机数和第二加密密码所进行的更新,主要表现为对缓存中所存储的第一随机数和在数据库中所存储的第一加密密码的更新替换,即将缓存中所
存储的第一随机数替换为第二随机数,且将数据库中所存储的第一加密密码替换为第二加密密码,第二随机数与第二加密密码在缓存和数据库中进行对应存储。
97.在本发明实施例中,服务器在响应用户的登录请求时,若用户的登录请求满足预设随机数更新条件,则可获取第二随机数和第二加密密码,并将第二随机数和第二加密密码对原本存储的第一随机数和第二加密密码进行更新,以便后续在响应用户的登录请求时可采用更新后的第二随机数和第二加密密码进行对用户密码的登录验证。通过自动更新和/或更换的用于登录验证的随机数和加密密码,增加对用户密码加密处理的使用灵活性,基于其灵活性增强加密效果,且加密密码不易被破解,以及所生成的加密密码是基于随机数对加密结果再次进行加密处理得到,此双重的加密方式同样也不易被破解,有利于提高对所需进行加密处理的数据的安全性,适用于对保密性要求较高的项目。
98.参照图3,示出了本发明的另一种用户密码加密处理方法实施例的步骤流程图,应用于服务器,侧重于用户从注册用户密码到采用所注册的用户密码进行登录的整体加密处理过程,具体可以包括如下步骤:
99.步骤301,生成第一随机数和第一加密密码,并对第一随机数和第一加密密码进行对应存储;
100.在用户进行用户账号的注册时,服务器可以接收到用户发送的注册请求,所发送的注册请求携带有用户账号以及针对此用户账号的用户密码,为了保证在网络生产过程中的安全性,此时可以生成用于对用户密码进行加密处理的第一随机数,以及在对用户密码进行加密处理后的第一加密密码,而对于一些比较重要的数据,通常需要对其进行加密后将加密数据在数据库中存放,那么可将所生成的第一随机数和第一加密密码分别在缓存和数据库中进行对应存储。
101.在实际应用中,对于第一随机数的生成可以是动态且随机的,其随机生成的是整数类型的随机数,而对于第一加密密码的生成,可采用双重加密的方式实现。双重加密的方式,可以表现为采用预设加密算法对用户密码进行加密处理,得到针对用户密码的加密结果,所得到的加密结果属于一次加密处理的结果,然后可以采用第一随机数对针对用户密码的加密结果进行异或运算,生成第一加密密码,所生成的第一加密密码属于二次加密处理的结果。
102.具体地,所进行的一次加密处理的方式,其处理过程主要可通过采用预设加密算法对用户密码进行加密处理,生成预设长度的加密字符串;然后将预设长度的加密字符串转换为数组,并将数组中所包含的数组数据按照数组顺序拼接得到的整数串实现。
103.示例性地,如图4所示,所采用的预设加密算法可以是sha-1(secure hashalgorithm 1,安全散列算法1,为一种hash算法),sha-1的安全性高,在sha-1的基础上所进行的双重加密可以提高安全性。此时服务器可根据sha-1对用户密码进行加密,生成预设长度的加密字符串,即所生成的加密字符串可以是由预设长度,例如40位字母或者数字拼接组成的加密结果,例如f73926e2d2c800406660e67468c1cb8093a3b337,然后可将所生成的字符串转换为byte[]数组,并将byte[]数组中所包含的数组数据按照数据顺序拼接得到整数类型的整数串,此时可将所拼接得到的整数串进行记录,所生成的整数串为需要异或运算的其中一个数据,即为经过一次加密处理后的加密结果。
[0104]
其中,所生成的加密字符串的预设长度,可以指的是程序操作字符串的长度,而在
将加密字符串向数组的转换,以及数据的拼接可基于程序实现,所执行上述操作的程序在实际应用中可表现为插件,即可基于对sha-1加密算法插件的引入实现。
[0105]
在生成第一随机数和第一加密密码后,可对应存储第一随机数和第一加密密码。其中第一随机数在缓存中进行存储,第一加密密码在数据库中进行存储,为了保证在缓存中所存储的第一随机数,和在数据库中存储的第一加密密码能够进行对应存储,可在随机数和加密密码前缀随机添加两个字符保证对应存储。此时可以获取第一字符前缀,对所获取的第一随机数和所生成的第一加密密码添加相同的第一字符前缀,基于采用相同的第一字符前缀,相应存储第一随机数以及与第一随机数对应的第一加密密码。
[0106]
步骤302,响应用户的登录请求,采用预设加密算法对用户密码进行加密处理得到针对用户密码的加密结果,再采用第一随机数对用户密码的加密结果进行异或运算,得到加密数据;
[0107]
在用户注册用户密码成功,将第一随机数和第一加密密码进行对应存储后,当用户采用用户密码进行登录时,可以对登录请求中所携带的用户密码进行登录验证,基于加密时所依赖的第一随机数与第一加密密码对当前的登录请求进行登录验证。
[0108]
具体地,由于在对用户密码进行加密处理时所采用的双重加密的方式,服务器在响应用户的登录请求对当前的登录请求进行登录验证时,同样也需要进行双重加密的方式进行验证。具体可表现为采用预设加密算法,例如sha-1对用户密码进行加密处理得到针对用户密码的加密结果,然后再采用响应用户登录请求所获取的第一随机数,对用户密码的加密结果进行异或运算,得到加密数据,以便采用响应用户登录请求所获取的第一加密密码,对用于进行登录验证所生成的加密数据进行对比判定。
[0109]
步骤303,若加密数据与第一加密密码对比通过,判定是否对所存储的第一随机数和所存储的第一加密密码进行更新替换;
[0110]
对用于进行登录验证所生成的加密数据进行对比判定,若加密数据与所存储的第一加密密码对比通过,则表示当前的登录请求中所携带的用户密码通过登录验证,即当前用户登录成功,可以继续操作;若加密数据与所存储的第一加密密码对比失败,则提示密码错误。
[0111]
为了在保证所请求登陆的用户具有更新随机数的权限的情况下,防止用户的登录过期,在当前的登录请求中所携带的用户密码通过登录验证的情况下,可以判断是否对所存储的第一随机数和所存储的第一加密密码进行更新替换。
[0112]
在具体实现中,可通过判断用户的登录请求是否满足预设随机数更新条件实现。用户的登录请求满足预设随机数更新条件的情况,可以指的是针对用户的登录过期的情况,用于表示用户登录过期的情况可以包括用户的登录请求的发出时间与前一次发出时间的时间间隔过长而导致的登录过期情况,也可以包括用户的登录请求的登录次数超过限制次数而导致的登录过期情况。即预设随机数更新条件包括用户的登录请求的发出时间距离前一次发出的时间间隔大于预设时间阈值,和/或,用户的登录次数大于预设次数阈值,需要说明的是,对于预设时间阈值和预设次数阈值的确定,可基于实际情况进行设定,本发明实施例对此不加以限制。
[0113]
在一种情况下,若用户的登录请求的发出时间间隔和/或用户的登录次数不满足预设随机数更新条件,即用户的登录请求的发出时间距离前一次发出的时间间隔小于预设
时间阈值,且用户的登录次数小于预设次数阈值,此时并不会出现用户的登录过期的现象,那么此时不需要对所存储的第一随机数和第一加密密码进行更新。
[0114]
在另一种情况下,在用户的登录请求的发出时间间隔和/或用户的登录次数满足预设随机数更新条件,即用户的登录请求的发出时间距离前一次发出的时间间隔大于预设时间阈值,和/或,用户的登录次数大于预设次数阈值时,将会出现用户的账号过期的现象,此时需要对所存储的第一随机数和所存储的第一加密密码进行更新替换。
[0115]
所进行的更新替换操作,可以表现为自动更换随机数并且会通过运算自动生成新的加密密码,更换数据库中的加密密码,然后将第二随机数和第二加密密码对所存储的第一随机数和第一加密密码进行更新,以便后续采用更新后的第二随机数和第二加密密码进行针对用户密码的登录验证。
[0116]
在实际应用中,所执行的自动更换随机数的操作,主要可用于通过动态更新的随机数对用户密码进行双重加密,那么在用户的登录请求满足预设随机数更新条件时,其所获取的第二随机数为动态生成的随机数,所获取的第二加密密码与数据库中所存储的第一加密密码一样基于双重加密的方式进行处理,即第二加密密码可以为基于第二随机数对针对用户密码的加密结果进行加密处理得到。
[0117]
在具体实现中,若用户的登录请求的发出时间距离前一次发出的时间间隔大于预设时间阈值,和/或,用户的登录次数大于预设次数阈值,此时可对用户的用户账号增加更换随机数的标识,在基于第一随机数和第一加密密码通过登录验证后,可以对具有更换随机数的标识的用户账号获取动态生成的第二随机数,然后可以根据第二随机数对针对用户密码的加密结果进行加密处理,得到第二加密密码。
[0118]
生成第二加密密码的方式,可以参考第一加密密码的生成方式实现。
[0119]
在实际应用中,对于第二随机数的生成可以是动态且随机的,其随机生成的是整数类型的随机数,而对于第二加密密码的生成,可采用双重加密的方式实现。双重加密的方式,可以表现为采用预设加密算法对用户密码进行加密处理,得到针对用户密码的加密结果,所得到的加密结果属于一次加密处理的结果,然后可以采用第二随机数对针对用户密码的加密结果进行异或运算,生成第二加密密码,所生成的第二加密密码属于二次加密处理的结果。
[0120]
具体地,所进行的一次加密处理的方式,其处理过程主要可通过采用预设加密算法对用户密码进行加密处理,生成预设长度的加密字符串;然后将预设长度的加密字符串转换为数组,并将数组中所包含的数组数据按照数组顺序拼接得到的整数串实现。
[0121]
示例性地,如图4所示,所采用的预设加密算法可以是sha-1(secure hash algorithm 1,安全散列算法1,为一种hash算法),sha-1的安全性高,在sha-1的基础上所进行的双重加密可以提高安全性。此时服务器可根据sha-1对用户密码进行加密,生成预设长度的加密字符串,即所生成的加密字符串可以是由预设长度,例如40位字母或者数字拼接组成的加密结果,例如f73926e2d2c800406660e67468c1cb8093a3b337,然后可将所生成的字符串转换为byte[]数组,并将byte[]数组中所包含的数组数据按照数据顺序拼接得到整数类型的整数串,此时可将所拼接得到的整数串进行记录,所生成的整数串为需要异或运算的其中一个数据,即为经过一次加密处理后的加密结果。
[0122]
在本发明实施例中,在获取用于更新的第二随机数和第二加密密码后,所进行的
更新,可以表现为自动更换随机数并且会通过运算自动生成新的加密密码,更换数据库中的加密密码。所自动更换的随机数可以是第二随机数,自动生成的新的加密密码可以是第二加密密码,么采用第二随机数和第二加密密码所进行的更新,主要表现为对缓存中所存储的第一随机数和在数据库中所存储的第一加密密码的更新替换。
[0123]
其中,第二随机数在缓存中进行存储,第二加密密码在数据库中进行存储,为了保证在缓存中所存储的第二随机数,和在数据库中存储的第二加密密码能够进行对应存储,可在随机数和加密密码前缀随机添加两个字符保证对应存储。
[0124]
在实际应用中,可以获取第一随机数和第一加密密码中相同的第一前缀字符,然后采用第一前缀字符确定存储位置,并对第二随机数和第二加密密码添加相同的第二字符前缀,并分别将存储位置中具有第一前缀字符的第一随机数和第一加密密码,替换为具有第二前缀字符的第二随机数和第二加密密码,完成对所存储的随机数和加密密码的更新,使得加密密码不易被破解,有利于提高对所需进行加密处理的数据的安全性,适用于对保密性要求较高的项目。
[0125]
步骤304,采用所存储的随机数和加密密码,对后续的用户登录进行登录验证。
[0126]
所存储的随机数和加密密码,可用于对后续的用户登录进行登录验证。
[0127]
在一种情况下,若步骤303中并不会出现用户登录过期的情况,此时不需要对所存储的第一随机数和第一加密密码进行更新,即保留存储原有的随机数和加密密码,那么后续在响应用户的登录请求时,还可继续采用第一随机数和第一加密密码进行登录验证。
[0128]
在另一种情况下,若步骤303中将会出现用户登录过期的情况,此时已分别将存储位置中具有第一前缀字符的第一随机数和第一加密密码,替换为具有第二前缀字符的第二随机数和第二加密密码,完成对所存储的随机数和加密密码的更新,那么后续在响应用户的登录请求时,采用更新后的第二随机数和第二加密密码进行登录验证。
[0129]
其中,前文所提及的后续可以是用户的下一次登录,但当基于上述两种情况采用相应存储的随机数和加密密码进行登录验证,并验证成功后,若出现用户的登录请求满足预设随机数更新条件,即存在针对用户的登录过期的情况时,则需要重复步骤301至步骤303的加密处理过程,重新对所存储的随机数和加密密码进行更新。
[0130]
示例性地,在更新随机数,以及重新生成新的加密密码时,新的随机数和加密密码前缀可随机添加两个前缀字符保证对应存储,而在重新生成新的加密密码时,旧的加密密码和旧的随机数还存放在数据库和缓存中。当用户登录时,首先可以校验随机数和加密密码的两个前缀字符是否对应,对应的话则可进行下一步操作,若不对应则可从数据库获取使用旧的随机数和旧的加密密码,并且重新生成新的随机数和加密密码。在一种优选的实施例中,当用户密码存在修改时,由于一次处理的加密结果是针对用户密码进行加密处理的,那么此时在数据库中旧的加密密码也将会发生改变。
[0131]
需要说明的是,本发明实施例中所提及的“第一”、“第二”并不存在明确的先后顺序,第一随机数和第一加密密码通指旧的随机数和旧的加密密码,第二随机数和第二加密密码通指新的随机数和新的加密密码。在服务器响应第n次的用户登录时,第一随机数和第一加密密码相当于第n-1次进行加密处理时所使用的,第二随机数和第二加密密码可以表示在用户登录过期的情况下第n 1次进行加密处理时所使用的。对此,本发明实施例不加以限制。
[0132]
在本发明实施例中,通过自动更新和/或更换的用于登录验证的随机数和加密密码,增加对用户密码加密处理的使用灵活性,基于其灵活性增强加密效果,且加密密码不易被破解,以及所生成的加密密码是基于随机数对加密结果再次进行加密处理得到,此双重的加密方式同样也不易被破解,有利于提高对所需进行加密处理的数据的安全性,适用于对保密性要求较高的项目。
[0133]
参照图5,示出了本发明实施例提供的用户密码加密处理的应用场景示意图,本发明实施例所提出的用户密码加密处理可以适用于对保密性要求较高的项目场景,例如适用于密码加密防护、适用于用户对安全性要求高的系统、适用于多平台多用户使用的oa(officeautomation,办公自动化)系统等。如图5所示,应用在密码加密防护的场景,涉及供用户进行注册操作、供用户发送注册请求,供用户进行登录操作、供用户发送登录请求的客户端510,和用于响应用户的注册请求和登录请求的服务器511。
[0134]
在本发明实施例中,提出通过动态更新的随机数对用户密码进行双重加密的方式,其可通过多次加密和自动更换随机数进一步保证加密数据的安全性,且在提高加密数据的安全性的同时,提供动态更新的能力。
[0135]
具体地,在用户进行用户账号的注册时,服务器511可以接收到客户端510发送的注册请求,所发送的注册请求携带有用户账号以及针对此用户账号的用户密码,为了保证在网络生产过程中的安全性,此时可以采用预设加密算法,例如sha-1对用户的登录密码进行加密,得到针对用户密码的加密结果,所得到的加密结果可以表现为预设长度的字符串。服务器可以生成随机数存放到缓存中,然后对所得到的字符串转换为byte[]数组,然后遍历数组中所包含的数组数据拼接得到一个整型类型的整数串,此整数串可以作为进行异或运算的其中一个值。在进行二次加密处理时,可将拼接的整数串与缓存中的随机数进行异或运算,运算后可生成加密密码,此时可以将所生成的加密密码存储至数据库中。
[0136]
后续在用户通过客户端510向服务器511每次进行登录时,可以获取登录请求中所携带的用户密码,然后获取到根据用户存储到缓存中的随机数,将用户密码与所获取的随机数进行异或运算(^),并与数据库中存储的加密密码进行对比,对比成功则表示用户登录成功。
[0137]
在一种优选的实施例中,用户的登录出现过期的情况,例如用户的登录请求的发出时间与前一次发出时间的时间间隔过长(超过预设时间阈值)而导致的登录过期情况,也可以包括用户的登录请求的登录次数超过限制次数(超过预设次数阈值)而导致的登录过期情况时,服务端将会标记此用户需要更换随机数,即对用户的用户账号增加更换随机数的标识,当用户再次登录系统时,首先需要使用当前随机数(指的是未更换之前的随机数)对用户密码进行sha-1加密后,将随机数与拼接的整数串进行异或运算,并与数据库存储的旧的加密密码进行对比。在对比成功后,如果该用户是标记需要更换随机数,则将会生成新的随机数,将新的随机数存放至缓存中以将旧的随机数进行替换,然后将用户密码进行sha-1加密后,将新的随机数与拼接的整数串继续进行异或运算,将数据库中所存储的旧的加密密码替换成新的异或运算的数据,即新的加密密码,以便后续在进行登录验证时采用新的随机数与新的加密密码实现。
[0138]
本发明实施例所提出的基于sha-1加密算法对密码加密,生成随机数,再使用异或运算的加密效果强,其可通过自动更换随机数和加密的数据,提高安全性,还可基于采用双
重加密方式,不容易被破解,提高数据的安全性,适用于对保密性要求较高的项目;并且其核心主要是基于插件实现,能够减少维护成本,以及缩短开发周期。
[0139]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0140]
参照图6,示出了本发明的一种用户密码加密处理装置实施例的结构框图,应用于服务器,具体可以包括如下模块:
[0141]
登录请求响应模块601,用于响应用户的登录请求,获取所存储的第一随机数和第一加密密码;第一加密密码为基于第一随机数对针对用户密码的加密结果进行加密处理得到;
[0142]
随机数更新模块602,用于在用户的登录请求的发出时间间隔和/或用户的登录次数满足预设随机数更新条件时,获取第二随机数和第二加密密码;第二加密密码为基于第二随机数对针对用户密码的加密结果进行加密处理得到;
[0143]
存储更新模块603,用于将第二随机数和第二加密密码对所存储的第一随机数和第一加密密码进行更新,以便采用更新后的第二随机数和第二加密密码进行针对用户密码的登录验证。
[0144]
在本发明的一种实施例中,在响应用户的登录请求之前,本发明实施例提出的用户密码加密处理装置还可以包括如下模块:
[0145]
对应存储模块,用于对第一随机数和第一加密密码进行对应存储;
[0146]
对应存储模块可以包括如下子模块:
[0147]
加密结果生成单元,用于获取动态生成的第一随机数,并采用预设加密算法对用户密码进行加密处理,得到针对用户密码的加密结果;
[0148]
第一加密密码生成单元,用于采用第一随机数对针对用户密码的加密结果进行异或运算,生成第一加密密码;
[0149]
对应存储单元,用于对应存储第一随机数和第一加密密码。
[0150]
在本发明的一种实施例中,加密结果生成单元可以包括如下子单元:
[0151]
加密字符串生成子单元,用于采用预设加密算法对用户密码进行加密处理,生成预设长度的加密字符串;
[0152]
数组转换子单元,用于将预设长度的加密字符串转换为数组;数组包括数组数据;
[0153]
数据拼接子单元,用于将数组数据按照数组顺序拼接得到整数串。
[0154]
在本发明的一种实施例中,对应存储单元可以包括如下子单元:
[0155]
第一字符前缀添加子单元,用于对所获取的第一随机数和所生成的第一加密密码添加相同的第一字符前缀;
[0156]
对应存储子单元,用于采用相同的第一字符前缀,相应存储第一随机数以及与第一随机数对应的第一加密密码。
[0157]
在本发明的一种实施例中,本发明实施例提出的用户密码加密处理装置还可以包括如下模块:
[0158]
加密数据生成模块,用于响应用户的登录请求,采用预设加密算法对用户密码进行加密处理得到针对用户密码的加密结果,再采用第一随机数对用户密码的加密结果进行异或运算,得到加密数据;
[0159]
加密密码对比模块,用于在加密数据与第一加密密码对比通过时,表示当前用户密码通过登录验证;
[0160]
保留存储模块,用于在基于第一随机数和第一加密密码通过登录验证后,若用户的登录请求的发出时间间隔和/或用户的登录次数不满足预设随机数更新条件,则保留存储第一随机数和第一加密密码。
[0161]
在本发明的一种实施例中,预设随机数更新条件包括用户的登录请求的发出时间距离前一次发出的时间间隔大于预设时间阈值,和/或,用户的登录次数大于预设次数阈值;随机数更新模块602可以包括如下子模块:
[0162]
标识增加子模块,用于在用户的登录请求的发出时间距离前一次发出的时间间隔大于预设时间阈值,和/或,用户的登录次数大于预设次数阈值时,对用户的用户账号增加更换随机数的标识;
[0163]
第二随机数获取子模块,用户在基于第一随机数和第一加密密码通过登录验证后,对具有更换随机数的标识的用户账号获取动态生成的第二随机数;
[0164]
第二加密密码生成子模块,用于根据第二随机数对针对用户密码的加密结果进行加密处理,得到第二加密密码。
[0165]
在本发明的一种实施例中,针对用户密码的加密结果包括经由对用户密码加密后的加密字符串所转换的整数串;第二加密密码生成子模块可以包括如下单元:
[0166]
第二加密密码生成单元,用于采用第二随机数对针对用户密码的整数串进行异或运算,得到第二加密密码。
[0167]
在本发明的一种实施例中,存储更新模块603可以包括如下子模块:
[0168]
第一前缀字符获取子模块,用于获取第一随机数和第一加密密码中相同的第一前缀字符;
[0169]
第二前缀字符添加子模块,用于采用第一前缀字符确定存储位置,并对第二随机数和第二加密密码添加相同的第二字符前缀;
[0170]
更新替换子模块,用于分别将存储位置中具有第一前缀字符的第一随机数和第一加密密码,替换为具有第二前缀字符的第二随机数和第二加密密码。
[0171]
在本发明实施例中,服务器在响应用户的登录请求时,若用户的登录请求满足预设随机数更新条件,则可获取第二随机数和第二加密密码,并将第二随机数和第二加密密码对原本存储的第一随机数和第二加密密码进行更新,以便后续在响应用户的登录请求时可采用更新后的第二随机数和第二加密密码进行对用户密码的登录验证。通过自动更新和/或更换的用于登录验证的随机数和加密密码,增加对用户密码加密处理的使用灵活性,基于其灵活性增强加密效果,且加密密码不易被破解,以及所生成的加密密码是基于随机数对加密结果再次进行加密处理得到,此双重的加密方式同样也不易被破解,有利于提高对所需进行加密处理的数据的安全性,适用于对保密性要求较高的项目。
[0172]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0173]
本发明实施例还提供了一种电子设备,包括:
[0174]
包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述用户密码加密处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0175]
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述用户密码加密处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0176]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0177]
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0178]
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0179]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0180]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0181]
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0182]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0183]
以上对本发明所提供的一种用户密码加密处理方法、一种用户密码加密处理装置、相应的一种电子设备以及相应的一种计算机存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献