一种登录方法、装置及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种登录方法、装置及电子设备。
背景技术
目前,为了方便用户快速登录应用(如网络应用)账号,当用户在客户端输入账号和登录密码并点击登录(或提交)之后,如果用户选择记住密码,客户端会将用户输入的登录密码进行保存,以便用户下次登录时自动输入登录密码进行登录。
这种通过客户端保存登录密码自动登录应用账号的方式虽然能够实现快速登录的目的,但存在安全风险。
发明内容
本申请实施例提供了一种登录方法、装置及电子设备,以在实现快速登录目的的同时,提高登录密码的安全性。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出了一种登录方法,应用于客户端,所述方法包括:
接收用户在所述客户端的登录密码输入框中输入的原始密码;
在用户向服务端提交登录请求之前,向所述服务端发送所述原始密码,以使所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码;
接收所述服务端返回的所述加密密码并回填至所述登录密码输入框;
响应于用户向所述服务端提交登录请求的操作,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
第二方面,提出了一种登录方法,应用于服务端,所述方法包括:
接收来自客户端的原始密码,所述原始密码是所述客户端在用户向所述服务端提交登录请求之前发送的,且所述原始密码是用户在所述客户端的登录密码输入框中输入的密码;
根据预设加密算法对所述原始密码进行加密,得到加密密码并回传至所述客户端;其中,所述客户端用于将所述加密密码回填至所述登录密码输入框,并在响应用户向所述服务端提交登录请求的操作时,缓存所述加密密码;
接收来自所述客户端的携带有所述加密密码的登录请求,确定所述加密密码与预设原始密码是否匹配;
根据所述加密密码与预设原始密码的匹配结果,确定登录结果。
第三方面,提出了一种登录装置,应用于客户端,所述装置包括:
第一接收模块,用于接收用户在所述客户端的登录密码输入框中输入的原始密码;
第一发送模块,用于在用户向服务端提交登录请求之前,向所述服务端发送所述原始密码,以使所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码;
第二接收模块,用于接收所述服务端返回的所述加密密码并回填至所述登录密码输入框;
请求提交模块,用于响应于用户向所述服务端提交登录请求的操作,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
第四方面,提出了一种登录装置,应用于服务端,所述装置包括:
第三接收模块,用于接收来自客户端的原始密码,所述原始密码是所述客户端在用户向所述服务端提交登录请求之前发送的,且所述原始密码是用户在所述客户端的登录密码输入框中输入的密码;
加密模块,用于根据预设加密算法对所述原始密码进行加密,得到加密密码并回传至所述客户端;其中,所述客户端用于将所述加密密码回填至所述登录密码输入框,并在响应用户向所述服务端提交登录请求的操作时,缓存所述加密密码;
第二接收模块,用于接收来自所述客户端的携带有所述加密密码的登录请求,确定所述加密密码与预设原始密码是否匹配;
登录结果确定模块,根据所述加密密码与预设原始密码的匹配结果,确定登录结果。
第五方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收用户在所述客户端的登录密码输入框中输入的原始密码;
在用户向服务端提交登录请求之前,向所述服务端发送所述原始密码,以使所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码;
接收所述服务端返回的所述加密密码并回填至所述登录密码输入框;
响应于用户向所述服务端提交登录请求的操作,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
第六方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
接收用户在所述客户端的登录密码输入框中输入的原始密码;
在用户向服务端提交登录请求之前,向所述服务端发送所述原始密码,以使所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码;
接收所述服务端返回的所述加密密码并回填至所述登录密码输入框;
响应于用户向所述服务端提交登录请求的操作,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
第七方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收用户在所述客户端的登录密码输入框中输入的原始密码;
在用户向服务端提交登录请求之前,向所述服务端发送所述原始密码,以使所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码;
接收所述服务端返回的所述加密密码并回填至所述登录密码输入框;
响应于用户向所述服务端提交登录请求的操作,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
第八方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
接收用户在所述客户端的登录密码输入框中输入的原始密码;
在用户向服务端提交登录请求之前,向所述服务端发送所述原始密码,以使所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码;
接收所述服务端返回的所述加密密码并回填至所述登录密码输入框;
响应于用户向所述服务端提交登录请求的操作,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
由以上本申请实施例提供的技术方案可见,本申请实施例提供的方案至少具备如下一种技术效果:由于在用户向所述服务端提交登录请求的操作时,客户端缓存的是服务端对原始密码加密得到的加密密码,而不是用户输入的原始密码,因此可以提高原始密码的安全性和可靠性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本说明书实施例的一种运行环境示意图。
图2是本说明书实施例提供的一种登录方法的流程示意图。
图3是本说明书实施例提供的另一种登录方法的流程示意图。
图4是本说明书实施例提供的一种电子设备的结构示意图。
图5是本说明书实施例提供的一种登录装置的结构示意图。
图6是本说明书实施例提供的另一种登录装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高原始密码的安全性,本说明书实施例提供一种登录方法、装置及设备。为了清楚的理解本说明书实施例提供的各个技术方案的应用场景,下面先结合图1对本说明书实施例的一种运行环境进行说明。
如图1所示,一个或多个用户终端101(图1中仅示出一个)可通过网络102与一个或多个服务端103(图1中仅示出一个)相连,以进行数据通信或交互。其中,用户终端101可以是个人电脑(personal computer,PC)、笔记本电脑、平板电脑、智能手机、电子阅读器、网络电视、可穿戴设备等能够与网络连接的智能设备。
在本说明书实施例中,用户终端101中可以安装有客户端,该客户端可以是第三方应用软件也可以是浏览器,该客户端可以与服务端端一起给用户提供服务,例如提供支付服务,用于对交易进行支付,等等。
需要说明的是,本说明书实施例提供的一种登录方法和装置,可以应用于用户终端101中安装的客户端中;本说明书实施例提供的另一种登录方法和装置,可以应用于服务端103中。
如图2所示,本说明书实施例提供了一种登录方法,可应用于图1所示的用户终端101中安装的客户端中,所述方法可包括:
步骤202、接收用户在所述客户端的登录密码输入框中输入的原始密码。
其中,所述客户端既可以是浏览器,也可以是第三方应用软件。
步骤204、在用户向服务端提交登录请求之前,向所述服务端发送所述原始密码,以使所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码。
作为一个例子,可以通过监控输入控制焦点来确定向所述服务端发送所述原始密码的时机。具体的,可以在监控到输入控制焦点离开所述登录密码输入框之后,且所述输入控制焦点点击登录请求的提交按钮之前,向所述服务端发送所述原始密码。
举例来说,当输入控制焦点(或称光标)由鼠标控制时,可以通过监控输入控制焦点的位置,来确定所述输入控制焦点是否离开登录密码输入框,以及通过监控鼠标的点击(click)事件,来确定所述输入控制焦点是否点击了登录请求的提交按钮。当输入控制焦点为触控面板中的触控焦点时,可以通过监控触控(touch)事件的位置,来确定所述输入控制焦点是否离开登录密码输入框,以及可以通过监控触控事件,来确定所述输入控制焦点是否点击了登录请求的提交按钮。
可选地,在执行步骤204之前,图2所示的方法还可以包括:确定所述原始密码是否符合密码校验条件;如果符合则转入下述步骤204;如果不符合,则提示用户重新输入所述原始密码,并在符合密码校验条件后向所述服务端发送重新输入的所述原始密码。
作为第一个例子,上述密码校验条件可以是密码包含的字符数为预设字符数,也即上述确定所述原始密码是否符合密码校验条件,包括:确定所述原始密码包含的字符数是否为预设字符数;如果是,则确定所述原始密码符合密码校验条件;否则,确定所述原始不符合密码校验条件。
作为第二个例子,上述密码校验条件可以是密码由字母和数字组成,也即上述确定所述原始密码是否符合密码校验条件,包括:确定所述原始密码是否包含字母和数字;如果是,则确定所述原始密码符合密码校验条件;否则,确定所述原始不符合密码校验条件。
作为第三个例子,上述密码校验条件可以包括:密码由字母和数字组成,以及密码包含的字符数为预设字符数。也就是说,第三个例子中的密码校验条件可以是上述第一个例子和第二个例子中的密码校验条件的结合。
应理解,密码校验条件可以根据实际需要灵活设置,而不局限于上述三个例子。
更进一步地,客户端可以在监控到输入控制焦点离开所述登录密码输入框之后,且所述输入控制焦点点击登录请求的提交按钮之前,以及所述原始密码符合密码校验条件的情况下,向所述服务端发送所述原始密码。
在步骤204中,所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码的过程可以参考下文中对图3所示的实施例中的步骤304的说明,此处暂不赘述。
可选地,在步骤204之前,也即在用户向服务端提交登录请求之前,图2所示的方法还可以包括:向所述服务端发送目标信息。
其中,所述目标信息可以包括但不限于下列信息中的至少一种:用户在所述客户端的账号输入框中输入的账号、安装所述客户端的设备的标识和加密算法标识。所述目标信息可以用于所述服务端确定所述预设加密算法。
例如,当所述目标信息包括安装所述客户端的设备的标识时,服务端可以选择与该设备标识绑定的预设加密算法对所述原始密码进行加密,以进一步增强原始密码的隐蔽性,从而提高原始密码的安全性。再如,当所述目标信息包括账号时,服务端可以选择与该账号绑定的预设加密算法对所述原始密码进行加密,以进一步增强原始密码的隐蔽性,从而提高原始密码的安全性。可以理解,当所述目标信息包括加密算法标识时,服务端可以直接利用所述加密算法标识对应的预设加密算法对所述原始密码进行加密。
步骤206、接收所述服务端返回的所述加密密码并回填至所述登录密码输入框。
例如,假如步骤202中接收到的用户输入的原始密码为123456,经服务端加密后返回的加密密码为32位的字符串,则将该32位的字符串回填至登录密码输入框。
步骤208、响应于用户向所述服务端提交登录请求的操作,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
具体的,在接收到用户点击提交(Submit)登录请求的提交按钮之后,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
更为具体的,在接收到用户点击提交登录请求的提交按钮之后,可在用户选择记住密码的情况下,缓存所述加密密码。例如,如果所述客户端为浏览器,则当Inputd对象的Types设置为password时,用户点击提交按钮以后,浏览器会自动记住登录密码输入框中所填的密码,以方便下次自动登录。
图2所示的实施例提供的一种登录方法,由于在用户向所述服务端提交登录请求的操作时,客户端缓存的是服务端对原始密码加密得到的加密密码,而不是用户输入的原始密码,因此可以提高原始密码的安全性和可靠性。
可以理解,客户端缓存(记住)加密密码以后,非法用户通过复制等方式窃取客户端缓存的密码是加密密码,而无法知道原始密码,因此可以提高原始密码的可靠性。
需要说明的是,图2所示的这种在用户提交登录请求之前,将原始密码发至服务端,由服务端返回加密密码,并回填至登录密码输入框,然后再提交登录请求向服务端发送加密密码的方式,可以称为一种密码的异步处理方式。所谓异步,是指异步双方不需要共同的时钟。
以上是对应用于客户端的一种登录方法的说明,下面结合图3对本说明书实施例提供的应用于服务端的另一种登录方法进行介绍。
如图3所示,本说明书实施例提供的另一种登录方法,可以用于图1中所示的服务端中,该方法可以包括:
步骤302、接收来自客户端的原始密码,所述原始密码是所述客户端在用户向所述服务端提交登录请求之前发送的,且所述原始密码是用户在所述客户端的登录密码输入框中输入的密码。
步骤304、根据预设加密算法对所述原始密码进行加密,得到加密密码并回传至所述客户端;其中,所述客户端用于将所述加密密码回填至所述登录密码输入框,并在响应用户向所述服务端提交登录请求的操作时,缓存所述加密密码。
在第一个例子中,步骤304中可以包括:根据随机算法,在所述原始密码中随机插入至少一个数字和/或至少一个字母,得到加密密码。
随机算法,是一个概念图灵机,也就是在算法中引入随机因素,通过随机数选择算法的下一步骤。
例如,假如用户输入的原始密码为“123456”,根据随机算法处理后,可以得到“1r2c3f4g5h6f”这样的加密密码,其中,插入的abcd是随机产生的,abcd的插入位置也是随机确定的。
在第二个例子中,为了提高加密密码被破解的难度,步骤304中可以先根据随机算法,在所述原始密码中随机插入至少一个数字和/或至少一个字母,得到初始加密密码;然后再根据消息摘要算法第五版(Message Digest Algorithm,md5)md5对所述初始加密密码进行加密,得到最终的加密密码。
例如,假如用户输入的原始密码为“123456”,可以先根据随机算法处理后,可以得到“1r2c3f4g5h6f”这样的加密密码,其中,插入的abcd是随机产生,abcd的插入位置也是随机确定的;然后利用md5算法对“1r2c3f4g5h6f”进行加密,得到32位加密密码。
可以理解,md5算法的加密过程是不可逆的,这使得非法用户即使窃取了加密密码,也很难破解出原始密码,因此可以进一步提升原始密码的安全性和可靠性。
当然服务端也可以采用其他预设加密算法对所述原始密码进行加密,而不局限上述两个例子中所述的加密算法。
可选地,在步骤304之前,图3所示的方法还可以包括:接收来自所述客户端的目标信息,根据所述目标信息确定所述预设加密算法。
其中,所述目标信息可以包括但不限于下列信息中的至少一种:用户在所述客户端的账号输入框中输入的账号、所述客户端所依附的设备的标识和加密算法标识等。
例如,当所述目标信息包括安装所述客户端的设备的标识时,服务端可以选择与该设备标识绑定的预设加密算法对所述原始密码进行加密,以进一步增强原始密码的隐蔽性,从而提高原始密码的安全性。再如,当所述目标信息包括账号时,服务端可以选择与该账号绑定的预设加密算法对所述原始密码进行加密,以进一步增强原始密码的隐蔽性,从而提高原始密码的安全性。可以理解,当所述目标信息包括加密算法标识时,服务端可以直接利用所述加密算法标识对应的预设加密算法对所述原始密码进行加密。
步骤306、接收来自所述客户端的携带有所述加密密码的登录请求,确定所述加密密码与预设原始密码是否匹配。
作为一个例子,确定所述加密密码与预设原始密码是否匹配,可以包括:在所述预设加密算法为可逆加密算法时,对所述加密密码进行解密得到解密密码,如果所述解密密码与所述预设原始密码相同,确定所述加密密码与所述预设原始密码匹配;否则,确定所述加密密码与所述预设原始密码不匹配。
作为另一个例子,确定所述加密密码与预设原始密码是否匹配,可以包括:在所述预设加密算法为不可逆加密算法时,采用所述预设加密算法对所述预设原始密码进行加密,得到参考加密密码;如果所述登录请求中携带的加密密码与所述参考加密密码相同,确定所述登录请求中携带的加密密码与所述预设原始密码匹配;否则,确定所述登录请求中携带的加密密码与所述预设原始密码不匹配。
步骤308、根据所述加密密码与预设原始密码的匹配结果,确定登录结果。
具体的,在所述加密密码与预设原始密码匹配的情况下,确定登录结果为成功;在所述加密密码与预设原始密码不匹配的情况下,确定登录结果为失败。
进一步地,还可以向所述客户端返回登录结果。
图3所示的实施例提供的一种登录方法,由于在用户向服务端提交登录请求之前,服务端对用户在客户端输入的原始密码进行了加密得到加密密码,并将加密密码返回给客户端,使得客户端将加密密码回填至登录密码输输入框,如此一来,在用户向所述服务端提交登录请求时,客户端向服务端提交的密码以及客户端记住的密码均是加密密码,而不是用户输入的原始密码,因此可以提高原始密码的安全性和可靠性。
以上是对本说明书提供一种应用于服务端的登录方法的说明,下面对本说明书提供的电子设备进行介绍。
图4是本说明书的一个实施例提供的电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成登录装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收用户在所述客户端的登录密码输入框中输入的原始密码;
在用户向服务端提交登录请求之前,向所述服务端发送所述原始密码,以使所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码;
接收所述服务端返回的所述加密密码并回填至所述登录密码输入框;
响应于用户向所述服务端提交登录请求的操作,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
或者,处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收来自客户端的原始密码,所述原始密码是所述客户端在用户向所述服务端提交登录请求之前发送的,且所述原始密码是用户在所述客户端的登录密码输入框中输入的密码;
根据预设加密算法对所述原始密码进行加密,得到加密密码并回传至所述客户端;其中,所述客户端用于将所述加密密码回填至所述登录密码输入框,并在响应用户向所述服务端提交登录请求的操作时,缓存所述加密密码;
接收来自所述客户端的携带有所述加密密码的登录请求,确定所述加密密码与预设原始密码是否匹配;
根据所述加密密码与预设原始密码的匹配结果,确定登录结果。
上述如本说明书图2或图3所示实施例揭示的登录方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2或图3的登录方法,本说明书在此不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图2所示实施例的方法,并具体用于执行以下操作:
接收用户在所述客户端的登录密码输入框中输入的原始密码;
在用户向服务端提交登录请求之前,向所述服务端发送所述原始密码,以使所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码;
接收所述服务端返回的所述加密密码并回填至所述登录密码输入框;
响应于用户向所述服务端提交登录请求的操作,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图3所示实施例的方法,并具体用于执行以下操作:
接收来自客户端的原始密码,所述原始密码是所述客户端在用户向所述服务端提交登录请求之前发送的,且所述原始密码是用户在所述客户端的登录密码输入框中输入的密码;
根据预设加密算法对所述原始密码进行加密,得到加密密码并回传至所述客户端;其中,所述客户端用于将所述加密密码回填至所述登录密码输入框,并在响应用户向所述服务端提交登录请求的操作时,缓存所述加密密码;
接收来自所述客户端的携带有所述加密密码的登录请求,确定所述加密密码与预设原始密码是否匹配;
根据所述加密密码与预设原始密码的匹配结果,确定登录结果。
下面对本说明书提供的登录装置进行说明。
如图5所示,本说明书的一个实施例提供了一种登录装置500,可应用于图1所示的终端设备101安装的客户端中,在一种软件实施方式中,该登录装置500可包括:第一接收模块501、第一发送模块502、第二接收模块503和请求提交模块504。
第一接收模块501,用于接收用户在所述客户端的登录密码输入框中输入的原始密码。
第一发送模块502,用于在用户向服务端提交登录请求之前,向所述服务端发送所述原始密码,以使所述服务端根据预设加密算法对所述原始密码进行加密,得到加密密码。
作为一个例子,第一发送模块502可以通过监控输入控制焦点来确定向所述服务端发送所述原始密码的时机。具体的,可以在监控到输入控制焦点离开所述登录密码输入框之后,且所述输入控制焦点点击登录请求的提交按钮之前,向所述服务端发送所述原始密码。
可选地,登录装置500还可以包括:第一确定模块,用于在向所述服务端发送所述原始密码之前,确定所述原始密码是否符合密码校验条件;如果符合则触发第一发送模块502;如果不符合,则提示用户重新输入所述原始密码,并在符合密码校验条件后触发第一发送模块502。
更进一步地,第一发送模块502可以在监控到输入控制焦点离开所述登录密码输入框之后,且所述输入控制焦点点击登录请求的提交按钮之前,以及所述原始密码符合密码校验条件的情况下,向所述服务端发送所述原始密码。
可选地,登录装置500还可以包括:第二发送模块,用于在用户向服务端提交登录请求之前,向所述服务端发送目标信息。
其中,所述目标信息可以包括但不限于下列信息中的至少一种:用户在所述客户端的账号输入框中输入的账号、安装所述客户端的设备的标识和加密算法标识。所述目标信息可以用于所述服务端确定所述预设加密算法。
第二接收模块503,用于接收所述服务端返回的所述加密密码并回填至所述登录密码输入框。
请求提交模块504,用于响应于用户向所述服务端提交登录请求的操作,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
具体的,请求提交模块504,可以在接收到用户点击提交(Submit)登录请求的提交按钮之后,将所述加密密码提交至所述服务端以确定登录结果,并缓存所述加密密码。
更为具体的,请求提交模块504,在接收到用户点击提交登录请求的提交按钮之后,可在用户选择记住密码的情况下,缓存所述加密密码。
图5所示的实施例提供的一种登录装置500,由于在用户向所述服务端提交登录请求的操作时,客户端缓存的是服务端对原始密码加密得到的加密密码,而不是用户输入的原始密码,因此可以提高原始密码的安全性和可靠性。
需要说明的是,登录装置500能够实现图2的方法实施例的方法,具体可参考图2所示实施例的登录方法,不再赘述。
如图6所示,本说明书的一个实施例提供了一种登录装置600,可应用于图1所示的服务端中,在一种软件实施方式中,该登录装置600可包括:第三接收模块601、加密模块602、第四接收模块603和登录结果确定模块604。
第三接收模块601,用于接收来自客户端的原始密码,所述原始密码是所述客户端在用户向所述服务端提交登录请求之前发送的,且所述原始密码是用户在所述客户端的登录密码输入框中输入的密码。
加密模块602,用于根据预设加密算法对所述原始密码进行加密,得到加密密码并回传至所述客户端;其中,所述客户端用于将所述加密密码回填至所述登录密码输入框,并在响应用户向所述服务端提交登录请求的操作时,缓存所述加密密码。
在第一个例子中,加密模块602具体可用于:根据随机算法,在所述原始密码中随机插入至少一个数字和/或至少一个字母,得到加密密码。
在第二个例子中,为了提高加密密码被破解的难度,加密模块602具体可用于:根据随机算法,在所述原始密码中随机插入至少一个数字和/或至少一个字母,得到初始加密密码;根据md5对所述初始加密密码进行加密,得到最终的加密密码。
可以理解,md5算法的加密过程是不可逆的,这使得非法用户即使窃取了加密密码,也很难破解出原始密码,因此可以进一步提升原始密码的安全性和可靠性。
当然服务端也可以采用其他预设加密算法对所述原始密码进行加密,而不局限上述两个例子中所述的加密算法。
可选地,在步骤304之前,图6所示的登录装置600还可以包括:目标信息接收模块,用于在用户向服务端提交登录请求之前,接收来自所述客户端的目标信息,并根据所述目标信息确定所述预设加密算法。
其中,所述目标信息可以包括但不限于下列信息中的至少一种:用户在所述客户端的账号输入框中输入的账号、所述客户端所依附的设备的标识和加密算法标识等。
例如,当所述目标信息包括安装所述客户端的设备的标识时,加密模块602可以选择与该设备标识绑定的预设加密算法对所述原始密码进行加密,以进一步增强原始密码的隐蔽性,从而提高原始密码的安全性。再如,当所述目标信息包括账号时,加密模块602可以选择与该账号绑定的预设加密算法对所述原始密码进行加密,以进一步增强原始密码的隐蔽性,从而提高原始密码的安全性。可以理解,当所述目标信息包括加密算法标识时,加密模块602可以直接利用所述加密算法标识对应的预设加密算法对所述原始密码进行加密。
第四接收模块603,用于接收来自所述客户端的携带有所述加密密码的登录请求,确定所述加密密码与预设原始密码是否匹配。
作为一个例子,第四接收模块603具体可用于:在所述预设加密算法为可逆加密算法时,对所述加密密码进行解密得到解密密码,如果所述解密密码与所述预设原始密码相同,确定所述加密密码与所述预设原始密码匹配;否则,确定所述加密密码与所述预设原始密码不匹配。
作为另一个例子,第四接收模块603具体可用于:在所述预设加密算法为不可逆加密算法时,采用所述预设加密算法对所述预设原始密码进行加密,得到参考加密密码;如果所述登录请求中携带的加密密码与所述参考加密密码相同,确定所述登录请求中携带的加密密码与所述预设原始密码匹配;否则,确定所述登录请求中携带的加密密码与所述预设原始密码不匹配。
登录结果确定模块604,根据所述加密密码与预设原始密码的匹配结果,确定登录结果。
具体的,在所述加密密码与预设原始密码匹配的情况下,确定登录结果为成功;在所述加密密码与预设原始密码不匹配的情况下,确定登录结果为失败。
图6所示的实施例提供的一种登录装置600,由于在用户向服务端提交登录请求之前,服务端的加密模块对用户在客户端输入的原始密码进行了加密得到加密密码,并将加密密码返回给客户端,使得客户端将加密密码回填至登录密码输输入框,如此一来,在用户向所述服务端提交登录请求时,客户端向服务端提交的密码以及客户端记住的密码均是加密密码,而不是用户输入的原始密码,因此可以提高原始密码的安全性和可靠性。
需要说明的是,登录装置600能够实现图3的方法实施例的方法,具体可参考图2所示实施例的登录方法,不再赘述。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制时,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。