密码校验方法、装置、计算机设备和计算机可读存储介质与流程

文档序号:14253071阅读:274来源:国知局
密码校验方法、装置、计算机设备和计算机可读存储介质与流程

本发明涉及互联网安全领域,特别是涉及一种密码校验方法、装置、计算机设备和计算机可读存储介质。



背景技术:

随着互联网的快速发展,安全问题一直是互联网发展需要密切关注的问题。为了保护用户在网站和用户端上个人信息的安全,设置密码是提高信息安全的有效方法。

而目前,主要采用单向的不可逆加密算法或双向的可逆加密算法来进行加密。但是,由于这些加密算法的算法和逻辑都较为相似,在恶意用户通过计算机程序不断地测试后,可以达到破解加密算法的目的。因此单纯依靠加密算法来加密用户的密码,很容易被破解。

而业界通常会使用更加复杂的加密算法,以保证加密算法难以被破解。但是根据加密算法来加密和解密用户的密码时,也会消耗计算机设备的性能,在加密算法越复杂的情况下,计算机设备的负荷就越大。



技术实现要素:

基于此,有必要针对在加密算法越复杂的情况下,计算机设备的负荷就越大的问题,提供一种密码校验方法、装置、计算机设备和计算机可读存储介质。

一种密码校验方法,所述方法包括:

接收第一密文密码;

对所述第一密文密码解密,得到第一明文密码;

读取用户信息,所述用户信息包括用户特征码和随机字符串;将所述第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码;

根据不可逆加密算法加密所述第二明文密码,得到第二密文密码;

使用预先存储的校验密文密码校验所述第二密文密码;所述校验密文密码与所述用户信息对应,且与所述不可逆加密算法匹配。

在一个实施例中,所述接收第一密文密码之前,所述方法还包括:

接收用户端触发的登录请求;

根据所述登录请求判断所述用户端所属的用户组;

获取与判断出的用户组匹配的第一密钥;

向所述用户端反馈所述第一密钥,以使得所述用户端根据所述第一密钥生成第一密文密码。

在一个实施例中,所述方法还包括:

选取与所述第一密钥构成密钥对的第二密钥;

根据所述第二密钥解密所述第一密文密码,得到所述第一明文密码。

在一个实施例中,所述使用预先存储的校验密文密码校验所述第二密文密码,包括:

发送密码读取凭证至密码库,解锁所述密码库;

从解锁后的所述密码库中查询相应的校验密文密码;

读取查询到的校验密文密码;

根据所述校验密文密码校验所述第二密文密码。

在一个实施例中,所述方法还包括:

接收用户端发送的密码修改请求;

响应于所述密码修改请求,根据所述密码读取凭证解锁所述密码库;

从所述密码库中查询所述密码修改请求相应的校验密文密码;

对比所述校验密文密码和所述密码修改请求指定的修改后的密码是否匹配,当不匹配时,则

根据修改后的密码生成修改后的校验密文密码,并将修改后的校验密文密码替换所述密码库中查询到的校验密文密码。

在一个实施例中,所述用户信息包括一个或多个用户特征码;所述根据修改后的密码生成修改后的校验密文密码,包括:

生成与所述用户信息相关联的随机字符串;

从所述用户信息中选取一个或多个用户特征码;

将所述随机字符串和选取的一个或多个用户特征码与所述修改后的密码拼接,生成组合密码;

根据所述不可逆加密算法加密所述组合密码,生成所述修改后的校验密文密码。

在一个实施例中,所述方法还包括:

在校验所述第二密文密码得到的校验结果表示密码错误时,则

发送提醒信息,并在错误日志中记录表示密码错误的校验结果;

在监测到日志中表示密码错误的校验结果的数量超过阈值时,则

锁定用户端,并发送申诉通知信息。

一种密码校验装置,所述装置包括:

密码接收模块,用于接收第一密文密码;

密码解密模块,用于对所述第一密文密码解密,得到第一明文密码;

信息添加模块,用于读取用户信息,所述用户信息包括用户特征码和随机字符串;将所述第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码;

密码加密模块,用于根据不可逆加密算法加密所述第二明文密码,得到第二密文密码;

密码校验模块,用于使用预先存储的校验密文密码校验所述第二密文密码;所述校验密文密码与所述用户信息对应,且与所述不可逆加密算法匹配。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上任一项所述方法的步骤。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上任一项所述方法的步骤。

上述密码校验方法、装置、计算机设备和计算机可读存储介质,通过接收能够被解密的第一密文密码,来保证第一密文密码在传输时的安全性。在第一密文密码解密后得到第一明文密码,读取用户信息,用户信息包括用户特征码和随机字符串,将第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码,由于用户特征码和随机字符串的差异极大,因此就算第一明文密码和不可逆加密算法被破解了,根据第二明文密码得到的第二密文密码也能保证安全性。而根据预先存储的校验密文密码来检验第二密文密码,可以进一步提高第二密文密码的安全性,相比采用更为更加复杂的加密算法的方式,计算机设备可以用更小的负荷达到相同或相近的安全性。

附图说明

图1为一个实施例中密码校验方法的应用环境图;

图2为一个实施例中密码校验方法的流程示意图;

图3为另一个实施例中密码校验方法的应用环境图;

图4为另一个实施例中密码校验方法的流程示意图;

图5为一个实施例中密码校验装置的结构框图;

图6为另一个实施例中密码校验装置的结构框图;

图7为一个实施例中密码校验装置的结构框图;

图8为另一个实施例中密码校验装置的结构框图;

图9为一个实施例中密码校验装置的结构框图;

图10为另一个实施例中密码校验装置的结构框图;

图11为一个实施例中密码校验装置的结构框图;

图12为一个实施例中计算机设备的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中密码校验方法的应用环境图。参照图1,该密码校验方法应用于密码校验系统。该密码校验系统包括用户端110和服务器120。用户端110和服务器120通过网络连接。用户端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

服务器120接收用户端110发送的第一密文密码,对第一密文密码解密,得到第一明文密码。再读取用户信息,用户信息包括用户特征码和随机字符串,将第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码,且用户信息与发送第一密文密码的用户端110相对应。然后使用不可逆加密算法加密第二明文密码,得到第二密文密码。使用预先存储的校验密文密码校验第二密文密码,其中,校验密文密码与用户信息相对应,以及校验密文密码与不可逆加密算法匹配。

如图2所示,在一个实施例中,提供了一种密码校验方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图2,该密码校验方法具体包括如下步骤:

一种密码校验方法,该方法包括:

s202,接收第一密文密码。

其中,第一密文密码是加密成密文的密码。加密第一密文密码的加密算法,具体可以是对称性加密算法,例如aes(advancedencryptionstandard,高级加密标准)、des(dataencryptionstandard,数据加密标准)和tdea(tripledataencryptionalgorithm,三重数据加密算法)等,也可以是非对称性加密算法,例如rsa(rivest,shamir,adleman)、dsa(digitalsignaturealgorithm,数字签名算法)和ecc(ellipticcurvescryptography,椭圆曲线密码编码学)等。

在一个实施例中,服务器接收用户端发送的第一密文密码,第一密文密码是用户端根据非对称性算法ecc加密成密文的密码。

在一个实施例中,用户端调用预先存储的明文密码,使用对称性加密算法tdea加密后发送至服务器。

s204,对该第一密文密码解密,得到第一明文密码。

其中,第一明文密码是第一密文密码解密后得到的密码。第一明文密码具体可以与用户直接输入用户端的密码一致,也可以与用户端存储的密码一致。具体地,在加密算法为对称性加密算法时,服务器解密第一密文密码的密钥与用户端加密第一明文密码的密钥相同,在加密算法为非对称性加密算法时,服务器解密第一密文密码的密钥与用户端加密第一明文密码的密钥构成密钥对。

在一个实施例中,服务器在确定用户端加密第一明文密码的加密算法和密钥时,预先准备解密第一密文密码的加密算法和密钥,以在接收到用户端发送的第一密文密码后,根据预先准备的加密算法和密钥解密第一密文密码,得到第一明文密码。

s206,读取用户信息,该用户信息包括用户特征码和随机字符串;将该第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码。

其中,用户信息是用户的个人信息,用户对应于发送第一密文密码的用户端。用户信息具体包括用户特征码和随机字符串。用户特征码具体可以是用户id(identification,身份证),用户名称,用户身份证号和用户手机号中的至少一种。第一明文密码添加上用户信息的方式,具体可以是第一明文密码加上用户特征码和随机字符串,其中第一明文密码、用户特征码和随机字符串的排列顺序固定,而且在用户端修改第一明文密码后可以重新调整第一明文密码、用户特征码和随机字符串的排列顺序。

具体地,服务器将第一明文密码添加上用户特征码和随机字符串后,得到第二明文密码。

在一个实施例中,服务器接收用户端发送的用户信息后创建相应的用户帐号,生成随机字符串,并从用户信息中选取一个或多个用户特征码,将生成的随机字符串、选取的一个或多个用户特征码和第一明文密码按照顺序排列,生成第二明文密码。服务器根据第二明文密码生成校验密文密码,保存校验密文密码、随机字符串和一个或多个用户特征码,以及保存随机字符串、一个或多个用户特征码和第一明文密码的排列顺序。

s208,根据不可逆加密算法加密该第二明文密码,得到第二密文密码。

其中,不可逆加密算法是加密第二明文密码的算法。不可逆加密算法具体可以是md5(messagedigestalgorithm5,信息摘要算法第五版)、sha1(securehashalgorithm,安全哈希算法)和hmac(hash-basedmessageauthenticationcode,哈希运算消息认证码)等。

具体地,服务器选取与用户信息匹配的不可逆加密算法,根据不可逆加密算法加密第二明文密码,得到第二密文密码。

s210,使用预先存储的校验密文密码校验该第二密文密码;该校验密文密码与该用户信息对应,且与该不可逆加密算法匹配。

其中,校验密文密码是用于校验第二密文密码的密码。校验密文密码是通过不可逆加密算法加密后得到的密码。使用校验密文密码校验第二密文密码,具体可以是检测第二密文密码是否与校验密文密码相同,也可以是检测第二密文密码是否可以通过预设的加密算法或公式得到校验密文密码。具体地,得到校验密文密码的不可逆加密算法与加密第二明文密码的不可逆加密算法匹配。

在一个实施例中,服务器读取预先存储的校验密文密码和加密算法,将第二密文密码通过该加密算法再次加密,检测再次加密后得到的密文密码是否与校验密文密码相同,若是,则表示密码正确,服务器向用户端发送安全令牌。

在一个实施例中,服务器读取预先存储的校验密文密码,检测校验密文密码的数值是否比第二密文密码的数值大1,若是,则表示密码正确,服务器向用户端发送安全令牌。

本实施例中,通过接收能够被解密的第一密文密码,来保证第一密文密码在传输时的安全性。在第一密文密码解密后得到第一明文密码,读取用户信息,用户信息包括用户特征码和随机字符串,将第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码,由于用户特征码和随机字符串的差异极大,因此就算第一明文密码和不可逆加密算法被破解了,根据第二明文密码得到的第二密文密码也能保证安全性。而根据预先存储的校验密文密码来检验第二密文密码,可以进一步提高第二密文密码的安全性,相比采用更为更加复杂的加密算法的方式,计算机设备可以用更小的负荷达到相同或相近的安全性。

在一个实施例中,步骤s202之前,该方法还包括:接收用户端触发的登录请求;根据该登录请求判断该用户端所属的用户组;获取与判断出的用户组匹配的第一密钥;向该用户端反馈该第一密钥,以使得该用户端根据该第一密钥生成第一密文密码。

其中,登录请求是请求登录的请求信息。用户端触发登录请求具体可以是用户通过输入装置在用户端上触发登录请求,也可以是用户端被定时器或关联程序触发登录请求。用户组是用户端安全等级的分组。具体地,用户端的用户组不同,则用户端相应的安全等级也不同,安全等级越高的用户端所需的加密算法越复杂。第一密钥是加密第一明文密码的密钥。密钥具体是使用加密算法来加密明文密码的参数。

在一个实施例中,服务器接收用户通过输入装置在用户端上触发的登录请求,根据该登录请求判断该用户端所属的用户组,从而分析出用户端相应的安全等级。服务器根据分析出的安全等级选取加密算法,并根据选取的加密算法生成第一密钥,以向用户端反馈选取的加密算法和生成的第一密钥。用户端根据获取的加密算法和第一密钥将第一明文密码加密,生成第一密文密码。

本实施例中,通过接收用户端触发的登录请求,来判断用户端所属的用户组,以根据用户组来获取加密算法和第一密钥,在用户端所属的用户组不同时,加密算法和第一密钥也会不同,从而区分不同用户组的用户端使用的加密算法和第一密钥。在将加密算法和第一密钥反馈给用户端,使得用户端根据加密算法和第一密钥生成第一密文密码,在加密算法和第一密钥不同时,用户端根据加密算法和第一密钥生成第一密文密码的负荷也不同,从而可以根据用户端的实际需要来获取加密算法和第一密钥。

在一个实施例中,该方法还包括:选取与该第一密钥构成密钥对的第二密钥;根据该第二密钥解密该第一密文密码,得到该第一明文密码。

其中,密钥对是互为加密密钥和解密密钥的一对密钥。第二密钥是与第一密钥构成密钥对的密钥,则在第一密钥是第一密文密码的加密密钥时,第二密钥是第一密文密码的解密密钥。进一步地,使用第二密钥加密第一明文密码,而得到第一密文密码后,可以使用第一密钥解密第一密文密码,以得到第一明文密码。

在一个实施例中,第二密钥可以与多个不同的第一密钥构成密钥对。

在一个实施例中,服务器选取加密算法后,生成相应的第一密钥和第二密钥,将加密算法和第一密钥反馈至用户端,以接收用户端根据加密算法和第一密钥生成的第一密文密码。在接收到第一密文密码后,根据预先生成的第二密钥和加密算法,对第一密文密码解密,得到第一明文密码。

在一个实施例中,服务器根据用户组确定用户端匹配的加密算法后,将加密算法发送至用户端。用户端根据加密算法选取相应的第一密钥,并根据选取的第一密钥和加密算法生成第一密文密码。用户端将第一密文密码和第一密钥的编号发送至服务器。服务器根据第一密钥的编号查询出第二密钥,根据第二密钥和加密算法解密第一密文密码,得到第一明文密码。

本实施例中,通过与第一密钥构成密钥对的第二密钥,将第一密文密码解密,在第二密钥与第一密钥构成密钥对时,可以避免在第一密钥泄漏的情况下,第一密文密码被轻易破解。

在一个实施例中,步骤s210包括:发送密码读取凭证至密码库,解锁该密码库;从解锁后的该密码库中查询相应的校验密文密码;读取查询到的校验密文密码;根据该校验密文密码校验该第二密文密码。

其中,密码库是存储校验密文密码的存储介质。密码库具体可以是独立于服务器的物理设备,也可以是存在于服务器上的数据库。密码读取凭证是读取校验密文密码的凭证。从解锁后的该密码库中查询相应的校验密文密码,具体可以是根据用户信息从解锁后的该密码库中查询匹配的校验密文密码。

在一个实施例中,服务器发送密码读取凭证至密码库,解锁密码库后,再发送用户信息至密码库中,以查询与用户信息相匹配的校验密文密码。在查询到相应的校验密文密码后,从密码库中读取校验密文密码至服务器,并根据校验密文密码校验第二密文密码。

本实施例中,通过将校验密文密码存储在密码库,且密码库通过密码读取凭证才能读取校验密文密码,可以保证读取校验密文密码的服务器是安全的服务器。

在一个实施例中,该方法还包括:接收用户端发送的密码修改请求;响应于该密码修改请求,根据该密码读取凭证解锁该密码库;从该密码库中查询该密码修改请求相应的校验密文密码;对比该校验密文密码和该密码修改请求指定的修改后的密码是否匹配,当不匹配时,则根据修改后的密码生成修改后的校验密文密码,并将修改后的校验密文密码替换该密码库中查询到的校验密文密码。

其中,密码修改请求是请求修改密码的信息。对比该校验密文密码和该密码修改请求指定的修改后的密码是否匹配,具体可以是将修改后的密码通过不可逆加密算法加密,得到的密文密码与校验密文密码比较是否相同。该不可逆加密算法与加密校验密文密码的不可逆加密算法一致。

在一个实施例中,服务器接收用户端发送的密码修改请求,响应于该密码修改请求,根据该密码读取凭证解锁该密码库,从密码库中查询并读取密码修改请求相应的校验密文密码。对比该校验密文密码和该密码修改请求指定的修改后的密码是否匹配。当匹配时,向用户端反馈密码一致的信息;当不匹配时,则根据修改后的密码生成修改后的校验密文密码,发送修改后的校验密文密码至密码库中,替换密码库中查询到的校验密文密码,并在密码库中记录替换记录。

本实施例中,通过在接收到用户端发送的密码修改请求后,对比修改后的密码与存储在密码库中的校验密文密码是否匹配,来决定是否替换密码库中的校验密文密码,可以减少密码库中数据的修改,提高密码库的安全性。

在一个实施例中,该用户信息包括一个或多个用户特征码;该根据修改后的密码生成修改后的校验密文密码,包括:生成与该用户信息相关联的随机字符串;从该用户信息中选取一个或多个用户特征码;将该随机字符串和选取的一个或多个用户特征码与该修改后的密码拼接,生成组合密码;根据该不可逆加密算法加密该组合密码,生成该修改后的校验密文密码。

其中,生成与该用户信息相关联的随机字符串,具体可以是随机选取随机字符串的位数,以随机生成相应位数的随机字符串,且在用户信息中保存生成的随机字符串。

在一个实施例中,服务器随机生成十六位的随机字符串,并从用户信息中选取编号为1、3和4的用户特征码。服务器按照随机字符串、编号1的用户特征码、修改后的密码、编号4的用户特征码和编号3的用户特征码的排列顺序,拼接成组合密码,根据不可逆加密算法加密组合密码,生成修改后的校验密文密码。服务器将随机字符串、用户特征码的编号、生成组合密码的排列顺序、生成校验密文密码的不可逆加密算法和修改后的校验密文密码发送至密码库中。

本实施例中,通过随机字符串和随机选取的用户特征码,来与修改后的密码组合,可以加大校验密文密码的安全性,又可以保证生成校验密文密码的加密算法维持在正常的复杂程度。相比采用更为更加复杂的加密算法的方式,计算机设备可以用更小的负荷达到相同或相近的安全性。

在一个实施例中,该方法还包括:在校验该第二密文密码得到的校验结果表示密码错误时,则发送提醒信息,并在错误日志中记录表示密码错误的校验结果;在监测到错误日志中表示密码错误的校验结果的数量超过阈值时,则锁定用户端,并发送申诉通知信息。

其中,提醒信息是提醒密码错误的信息。提醒信息具体可以向监控系统安全的服务器发送,也可以向用户端发送。错误日志是记录密码错误的日志。锁定用户端具体可以是不受理用户端发送的登录请求,也可以是禁止用户端发送登录请求。申诉通知信息是通知用户端进行解锁申诉的信息。

在一个实施例中,服务器在监测到错误日志中表示密码错误的校验结果的数量超过第一阈值时,则选取验证码发送至用户端。在校验到用户端发送的验证码错误时,在错误日志中记录相应的验证结果。服务器在监测到错误日志中表示密码错误的校验结果的数量超过第二阈值或表示验证码错误的验证结果的数量超过第三阈值时,则锁定用户端,并发送申诉通知信息。

本实施例中,通过记录校验第二密文密码的校验结果,以及在检测到表示密码错误的校验结果的数量超过阈值时,锁定用户端,避免密码被暴力破解,以保障用户端和服务器的安全。

如图3所示,为另一个实施例中密码校验方法的应用环境图。参照图3,该密码校验方法应用于密码校验系统。该密码校验系统包括用户端310、服务器320、服务器322和密码库330。

图4为一个实施例中密码校验方法的流程示意图。该密码校验方法应用于如图3所示的密码校验系统中,具体包括以下步骤:

s402,用户端310触发登录请求。

s404,服务器320接收用户端310触发的登录请求。

s406,服务器320根据登录请求判断用户端310所属的用户组。

s408,服务器320获取与判断出的用户组匹配的第一密钥。

s410,服务器320向用户端310反馈第一密钥。

s412,用户端310根据第一密钥生成第一密文密码。

s414,服务器320接收用户端310发送的第一密文密码。

s416,服务器320选取与第一密钥构成密钥对的第二密钥。

s418,服务器320根据第二密钥解密第一密文密码,得到第一明文密码。

s420,服务器320选取与用户端310匹配的随机字符串和用户特征码。

s422,服务器320将第一明文密码添加上选取的随机字符串和用户特征码,得到第二明文密码。

s424,服务器320根据不可逆加密算法加密第二明文密码,得到第二密文密码,不可逆加密算法与用户端310匹配。

s426,服务器320发送密码读取凭证至密码库330,解锁密码库330。

s428,服务器320从解锁后的密码库330中查询用户端310相应的校验密文密码。

s430,服务器320读取查询到的校验密文密码。

s432,服务器320根据校验密文密码校验第二密文密码。

在校验第二密文密码得到的校验结果表示密码正确时,则执行步骤s434。在校验第二密文密码得到的校验结果表示密码错误时,则执行步骤s436。

s434,服务器320向用户端310发送安全令牌。

s436,服务器320向服务器322发送提醒信息,并在错误日志中记录表示密码错误的校验结果。

s438,服务器322在监测到错误日志中表示密码错误的校验结果的数量超过阈值时,则锁定用户端310,并发送申诉通知信息。

上述密码校验方法,通过接收能够被解密的第一密文密码,来保证第一密文密码在传输时的安全性。在第一密文密码解密后得到第一明文密码,读取用户信息,用户信息包括用户特征码和随机字符串,将第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码,由于用户特征码和随机字符串的差异极大,因此就算第一明文密码和不可逆加密算法被破解了,根据第二明文密码得到的第二密文密码也能保证安全性。而根据预先存储的校验密文密码来检验第二密文密码,可以进一步提高第二密文密码的安全性,相比采用更为更加复杂的加密算法的方式,计算机设备可以用更小的负荷达到相同或相近的安全性。

应该理解的是,虽然图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图5所示,在一个实施例中,提供了一种密码校验装置500,该装置500包括:密码接收模块502、密码解密模块504、信息添加模块506、密码加密模块508和密码校验模块510。

密码接收模块502,用于接收第一密文密码。

密码解密模块504,用于对该第一密文密码解密,得到第一明文密码。

信息添加模块506,用于读取用户信息,该用户信息包括用户特征码和随机字符串;将该第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码。

密码加密模块508,用于根据不可逆加密算法加密该第二明文密码,得到第二密文密码。

密码校验模块510,用于使用预先存储的校验密文密码校验该第二密文密码;该校验密文密码与该用户信息对应,且与该不可逆加密算法匹配。

如图6所示,在一个实施例中,上述密码校验装置500还包括:请求接收模块512,用于接收用户端触发的登录请求;用户组判断模块514,用于根据该登录请求判断该用户端所属的用户组;密钥获取模块516,用于获取与判断出的用户组匹配的第一密钥;密钥反馈模块518,用于向该用户端反馈该第一密钥,以使得该用户端根据该第一密钥生成第一密文密码。

如图7所示,在一个实施例中,上述密码校验装置500还包括:密钥选取模块520,用于选取与该第一密钥构成密钥对的第二密钥;上述密码解密模块504,还用于根据该第二密钥解密该第一密文密码,得到该第一明文密码。

如图8所示,在一个实施例中,上述密码校验装置500还包括:凭证发送模块522,用于发送密码读取凭证至密码库,解锁该密码库;密码查询模块524,用于从解锁后的该密码库中查询相应的校验密文密码;密码读取模块526,用于读取查询到的校验密文密码;上述密码校验模块510,还用于根据该校验密文密码校验该第二密文密码。

如图9所示,在一个实施例中,上述请求接收模块512,还用于接收用户端发送的密码修改请求;上述凭证发送模块522,还用于响应于该密码修改请求,根据该密码读取凭证解锁该密码库;上述密码查询模块524,还用于从该密码库中查询该密码修改请求相应的校验密文密码;上述密码校验装置500还包括:密码替换模块528,用于对比该校验密文密码和该密码修改请求指定的修改后的密码是否匹配,当不匹配时,则根据修改后的密码生成修改后的校验密文密码,并将修改后的校验密文密码替换该密码库中查询到的校验密文密码。

如图10所示,在一个实施例中,上述密码校验装置500还包括:字符串生成模块530,用于生成与该用户信息相关联的随机字符串;特征码选取模块532,用于从该用户信息中选取一个或多个用户特征码;密码拼接模块534,用于将该随机字符串和选取的一个或多个用户特征码与该修改后的密码拼接,生成组合密码;上述密码加密模块508,还用于根据该不可逆加密算法加密该组合密码,生成该修改后的校验密文密码。

如图11所示,在一个实施例中,上述密码校验装置500还包括:校验结果预警模块536,用于在校验该第二密文密码得到的校验结果表示密码错误时,则发送提醒信息,并在错误日志中记录表示密码错误的校验结果;校验结果监测模块538,用于在监测到错误日志中表示密码错误的校验结果的数量超过阈值时,则锁定用户端,并发送申诉通知信息。

上述密码校验装置500,通过接收能够被解密的第一密文密码,来保证第一密文密码在传输时的安全性。在第一密文密码解密后得到第一明文密码,读取用户信息,用户信息包括用户特征码和随机字符串,将第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码,由于用户特征码和随机字符串的差异极大,因此就算第一明文密码和不可逆加密算法被破解了,根据第二明文密码得到的第二密文密码也能保证安全性。而根据预先存储的校验密文密码来检验第二密文密码,可以进一步提高第二密文密码的安全性,相比采用更为更加复杂的加密算法的方式,计算机设备可以用更小的负荷达到相同或相近的安全性。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,也可以是移动终端。当该计算机设备为服务器时,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现密码校验方法。该内存储器为非易失性存储介质中的操作系统和计算机程序提供高速缓存的运行环境。该计算机设备的网络接口用于该计算机设备和其它的计算机设备进行网络连接。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的密码校验装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该密码校验装置的各个程序模块,比如,图5所示的密码接收模块502、密码解密模块504、信息添加模块506、密码加密模块508和密码校验模块510。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的密码校验方法中的步骤。

例如,图12所示的计算机设备可以通过如图5所示的密码校验装置中的密码接收模块502执行步骤202。计算机设备可通过密码解密模块504执行步骤204。计算机设备可通过信息添加模块506执行步骤206。计算机设备可通过密码加密模块508执行步骤208。计算机设备可通过密码校验模块510执行步骤210。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该计算机程序被该处理器执行时,使得该处理器执行以下的步骤:接收第一密文密码;对该第一密文密码解密,得到第一明文密码;读取用户信息,该用户信息包括用户特征码和随机字符串;将该第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码;根据不可逆加密算法加密该第二明文密码,得到第二密文密码;使用预先存储的校验密文密码校验该第二密文密码;该校验密文密码与该用户信息对应,且与该不可逆加密算法匹配。

在一个实施例中,该处理器执行接收第一密文密码的步骤之前,该处理器还执行以下的步骤:接收用户端触发的登录请求;根据该登录请求判断该用户端所属的用户组;获取与判断出的用户组匹配的第一密钥;向该用户端反馈该第一密钥,以使得该用户端根据该第一密钥生成第一密文密码。

在一个实施例中,该计算机程序被处理器执行时,还使得该处理器执行以下的步骤:选取与该第一密钥构成密钥对的第二密钥;根据该第二密钥解密该第一密文密码,得到该第一明文密码。

在一个实施例中,该处理器执行使用预先存储的校验密文密码校验该第二密文密码的步骤,包括:发送密码读取凭证至密码库,解锁该密码库;从解锁后的该密码库中查询相应的校验密文密码;读取查询到的校验密文密码;根据该校验密文密码校验该第二密文密码。

在一个实施例中,该计算机程序被处理器执行时,还使得该处理器执行以下的步骤:接收用户端发送的密码修改请求;响应于该密码修改请求,根据该密码读取凭证解锁该密码库;从该密码库中查询该密码修改请求相应的校验密文密码;对比该校验密文密码和该密码修改请求指定的修改后的密码是否匹配,当不匹配时,则根据修改后的密码生成修改后的校验密文密码,并将修改后的校验密文密码替换该密码库中查询到的校验密文密码。

在一个实施例中,该用户信息包括一个或多个用户特征码;该处理器执行根据修改后的密码生成修改后的校验密文密码的步骤,包括:生成与该用户信息相关联的随机字符串;从该用户信息中选取一个或多个用户特征码;将该随机字符串和选取的一个或多个用户特征码与该修改后的密码拼接,生成组合密码;根据该不可逆加密算法加密该组合密码,生成该修改后的校验密文密码。

在一个实施例中,该计算机程序被处理器执行时,还使得该处理器执行以下的步骤:在校验该第二密文密码得到的校验结果表示密码错误时,则发送提醒信息,并在错误日志中记录表示密码错误的校验结果;在监测到错误日志中表示密码错误的校验结果的数量超过阈值时,则锁定用户端,并发送申诉通知信息。

上述计算机设备,通过接收能够被解密的第一密文密码,来保证第一密文密码在传输时的安全性。在第一密文密码解密后得到第一明文密码,读取用户信息,用户信息包括用户特征码和随机字符串,将第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码,由于用户特征码和随机字符串的差异极大,因此就算第一明文密码和不可逆加密算法被破解了,根据第二明文密码得到的第二密文密码也能保证安全性。而根据预先存储的校验密文密码来检验第二密文密码,可以进一步提高第二密文密码的安全性,相比采用更为更加复杂的加密算法的方式,计算机设备可以用更小的负荷达到相同或相近的安全性。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时,使得该处理器执行以下的步骤:接收第一密文密码;对该第一密文密码解密,得到第一明文密码;读取用户信息,该用户信息包括用户特征码和随机字符串;将该第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码;根据不可逆加密算法加密该第二明文密码,得到第二密文密码;使用预先存储的校验密文密码校验该第二密文密码;该校验密文密码与该用户信息对应,且与该不可逆加密算法匹配。

在一个实施例中,该处理器执行接收第一密文密码的步骤之前,该处理器还执行以下的步骤:接收用户端触发的登录请求;根据该登录请求判断该用户端所属的用户组;获取与判断出的用户组匹配的第一密钥;向该用户端反馈该第一密钥,以使得该用户端根据该第一密钥生成第一密文密码。

在一个实施例中,该计算机程序被处理器执行时,还使得该处理器执行以下的步骤:选取与该第一密钥构成密钥对的第二密钥;根据该第二密钥解密该第一密文密码,得到该第一明文密码。

在一个实施例中,该处理器执行使用预先存储的校验密文密码校验该第二密文密码的步骤,包括:发送密码读取凭证至密码库,解锁该密码库;从解锁后的该密码库中查询相应的校验密文密码;读取查询到的校验密文密码;根据该校验密文密码校验该第二密文密码。

在一个实施例中,该计算机程序被处理器执行时,还使得该处理器执行以下的步骤:接收用户端发送的密码修改请求;响应于该密码修改请求,根据该密码读取凭证解锁该密码库;从该密码库中查询该密码修改请求相应的校验密文密码;对比该校验密文密码和该密码修改请求指定的修改后的密码是否匹配,当不匹配时,则根据修改后的密码生成修改后的校验密文密码,并将修改后的校验密文密码替换该密码库中查询到的校验密文密码。

在一个实施例中,该用户信息包括一个或多个用户特征码;该处理器执行根据修改后的密码生成修改后的校验密文密码的步骤,包括:生成与该用户信息相关联的随机字符串;从该用户信息中选取一个或多个用户特征码;将该随机字符串和选取的一个或多个用户特征码与该修改后的密码拼接,生成组合密码;根据该不可逆加密算法加密该组合密码,生成该修改后的校验密文密码。

在一个实施例中,该计算机程序被处理器执行时,还使得该处理器执行以下的步骤:在校验该第二密文密码得到的校验结果表示密码错误时,则发送提醒信息,并在错误日志中记录表示密码错误的校验结果;在监测到错误日志中表示密码错误的校验结果的数量超过阈值时,则锁定用户端,并发送申诉通知信息。

上述计算机可读存储介质,通过接收能够被解密的第一密文密码,来保证第一密文密码在传输时的安全性。在第一密文密码解密后得到第一明文密码,读取用户信息,用户信息包括用户特征码和随机字符串,将第一明文密码、用户特征码和随机字符串拼接,得到第二明文密码,由于用户特征码和随机字符串的差异极大,因此就算第一明文密码和不可逆加密算法被破解了,根据第二明文密码得到的第二密文密码也能保证安全性。而根据预先存储的校验密文密码来检验第二密文密码,可以进一步提高第二密文密码的安全性,相比采用更为更加复杂的加密算法的方式,计算机设备可以用更小的负荷达到相同或相近的安全性。

以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1