发明内容
本发明的主要目的在于提供了一种账户登录方法、登录装置、账户登录设备及存储介质,旨在解决现有技术在账户登录时,需要用户主动输入登录密码进行账户登录的技术问题。
为实现上述目的,本发明提供了一种账户登录方法,所述方法包括以下步骤:
接收账户登录请求,根据所述登录请求确定当前登录账户;
获取发送所述账户登录请求的用户终端的设备信息,并根据所述设备信息生成当前登录密码;
在数据库中查找所述当前登录账户对应的有效登录密码,对所述当前登录密码和所述有效登录密码进行匹配,并在匹配成功时登录所述当前登录账户。
优选地,所述接收账户登录请求,根据所述登录请求确定当前登录账户的步骤之前,所述方法包括:
获取所述当前登录账户在账户注册时对应的注册终端的注册设备信息;
提取所述注册设备信息中包含的注册设备标识、注册设备参数和注册地址;
根据所述注册设备标识、所述注册设备参数和所述注册地址生成所述当前账户对应的注册密码,并将所述注册密码作为所述当前登录账户对应的有效登录密码进行保存。
优选地,所述根据所述注册设备标识、所述注册设备参数和所述注册地址生成所述当前账户对应的注册密码的步骤,包括:
分别从所述注册设备标识中提取出标识字符,所述注册设备参数中提取出参数字符,所述注册地址中提取出地址字符;
将所述标识字符,所述参数字符和所述地址字符进行组合,并将组合后的字符作为所述当前账户对应的注册密码。
优选地,所述在数据库中查找所述当前登录账户对应的有效登录密码的步骤,包括:
获取所述当前登录账户对应的账户标识;
根据数据库中存储的账户标识与有效登录密码之间的映射关系,查找所述当前登录账户对应的有效登录密码。
优选地,所述在数据库中查找所述当前登录账户对应的有效登录密码,对所述当前登录密码和所述有效登录密码进行匹配,并在匹配成功时登录所述当前登录账户之后,所述方法还包括:
在匹配失败时,判定所述当前登录账户登录失败;
统计预设时长内所述当前登录账户的登录失败次数,并检测所述登录失败次数是否超过预设次数;
在检测到所述登录失败次数超过所述预设次数时,查找与所述当前登录账户绑定的关联终端,向所述关联终端发送登录授权请求;
在接收到所述关联终端基于所述登录授权请求反馈的授权确认指令时,登录所述当前登录账户。
优选地,所述在检测到所述登录失败次数超过所述预设次数时,查找与所述当前登录账户绑定的关联终端,向所述关联终端发送登录授权请求的步骤之后,所述方法还包括:
在预设时间范围内,未接收到所述关联终端基于所述登录授权请求反馈的授权确认指令时,判定所述当前登录账户存在异常登录行为;
根据所述异常登录行为生成登录告警信息,并将所述登录告警信息发送至所述关联终端。
优选地,所述根据所述异常登录行为生成登录告警信息,并将所述登录告警信息发送至所述关联终端的步骤,包括:
根据所述异常登录行为生成登录告警信息;
查找与所述当前登录账户关联的互联网通讯账号,所述互联网通讯账号包括手机号、邮箱和/或即时通讯账号;
通过所述互联网通讯账号,将所述登录告警信息发送至所述关联终端。
此外,为实现上述目的,本发明还提出一种登录装置,所述装置包括:账户确定模块、密码生成模块和密码匹配模块;
所述账户确定模块,用于接收账户登录请求,根据所述登录请求确定当前登录账户;
所述密码生成模块,用于获取发送所述账户登录请求的用户终端的设备信息,并根据所述设备信息生成当前登录密码;
所述密码匹配模块,用于在数据库中查找所述当前登录账户对应的有效登录密码,对所述当前登录密码和所述有效登录密码进行匹配,并在匹配成功时登录所述当前登录账户。
此外,为实现上述目的,本发明还提出一种账户登录设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的账户登录程序,所述账户登录程序配置为实现如上文所述的账户登录方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有账户登录程序,所述账户登录程序被处理器执行时实现如上文所述的账户登录方法的步骤。
本发明通过接收账户登录请求,根据登录请求确定当前登录账户;获取发送账户登录请求的用户终端的设备信息,根据设备信息生成当前登录密码;在数据库中查找当前登录账户对应的有效登录密码,对当前登录密码和有效登录密码进行匹配,并在匹配成功时登录当前登录账户,由于用户只需要通过用户终端发送账户登录请求,然后由服务器根据账户登录请求确定当前登录账户以及用户终端的设备信息,再根据设备信息生成当前登录密码,将当前登录密码与预存的有效登录密码进行匹配,匹配成功时为用户登录账户,整个登录过程并不需要用户输入任何登录信息,从而实现了账户的免密码登录,提高了用户体验。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的账户登录设备结构示意图。
如图1所示,该账户登录设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对账户登录设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、数据存储模块、网络通信模块、用户接口模块以及账户登录程序。
在图1所示的账户登录设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明账户登录设备中的处理器1001、存储器1005可以设置在账户登录设备中,所述账户登录设备通过处理器1001调用存储器1005中存储的账户登录程序,并执行本发明实施例提供的账户登录方法。
本发明实施例提供了一种账户登录方法,参照图2,图2为本发明一种账户登录方法第一实施例的流程示意图。
本实施例中,所述账户登录方法包括以下步骤:
步骤S10:接收账户登录请求,根据所述登录请求确定当前登录账户;
需要说明的是,本实施例方法的执行主体可以是客户端对应的具有网络通信、数据处理以及程序运行功能的服务器。所述账户登录请求可以是用户通过手机、平板电脑、个人电脑或智能手环等终端设备发送的账户登录指令。
可理解的是,服务器在接收到用户通过用户终端发送的账户登录请求时,可根据所述账户登录请求中携带的用户名(Username)或账户识别码(Identification,ID)确定出当前待登录的用户账户。用户名或账户识别码可以是手机号码或用户自定义的由字母,数字和下划线中的一种或多种组成的唯一性编码。
步骤S20:获取发送所述账户登录请求的用户终端的设备信息,并根据所述设备信息生成当前登录密码;
可理解的是,现有的账户登录方式大多通过对用户输入的登录手势(如屏幕滑动轨迹)、生物特征(指纹、声纹、虹膜等)或字符密码进行校验来实现,但这几种登录方式的缺点也比较明显,例如,输入登录手势或字符密码容易造成登录信息泄露,生物特征识别在某些特定场景(如用户指纹特征不明显、声纹特征失真)时失败率较高。
为了避免上述情况的发生,并进一步提高用户的登录体验,在执行本步骤之前,本实施例提供的账户登录方法还包括:获取所述当前登录账户在账户注册时对应的注册终端的注册设备信息;提取所述注册设备信息中包含的注册设备标识、注册设备参数和注册地址;根据所述注册设备标识、所述注册设备参数和所述注册地址生成所述当前账户对应的注册密码,并将所述注册密码作为所述当前登录账户对应的有效登录密码进行保存。
需要说明的是,所述设备注册信息可以是用户进行App账户注册时,使用的手机、平板电脑、个人电脑或智能手环等注册终端对应的注册设备信息,该注册设备信息包括但不限于注册设备标识(如硬件识别号、出厂序列号等)、注册设备参数(如交互界面/显示屏幕大小、屏幕分辨率、***版本等)以及注册地址等信息。其中,所述注册地址可以是账户注册时所述注册终端所在的地理位置(地址)信息,也可以是账户注册时所述注册终端对应的网络地址信息,如网络协议(Internet Protocol,IP)地址,还可以是账户注册时所述注册终端对应的物理地址信息,如MAC地址(Medium Access Control Address)等。
可理解的是,由于用户在进行账户注册时所使用的注册终端对应的设备标识、设备参数以及注册地址等信息重合的几率并不高,因此根据这些信息生成的注册密码几乎是唯一的,将这类注册密码作为账户登录时的登录凭证安全性与可靠性较高。
在具体实现中,服务器在生成当前账户对应的注册密码时,可分别从所述注册设备标识中提取出标识字符,所述注册设备参数中提取出参数字符,所述注册地址中提取出地址字符;将所述标识字符,所述参数字符和所述地址字符进行组合,并将组合后的字符作为所述当前账户对应的注册密码,然后保存至数据库。例如:从注册设备标识“硬件识别号”中提取标识字符“A380516X”,从注册设备参数“***版本”中提取参数字符“11.3.1(15E302)”,从注册地址“深圳市”中提取出地址中文名称首字母作为所述地址字符“SZ”,然后将提取到的各字符进行组合,再将组合后的字符“A380516X11.3.1(15E302)SZ”作为所述当前账户对应的注册密码。当然,本实施例中各字符之间组合方式或组合顺序可自行设定,不作具体限制。
在具体实现中,服务器在接收到用户发送的账户登录请求时,可获取发送该请求的用户终端的设备信息,然后根据该设备信息生成当前登录密码,以便于后续将账户注册时生成的注册密码(即所述有效登录密码)与所述当前登录密码进行匹配,根据匹配结果来判断是否为用户完成账户登录。
步骤S30:在数据库中查找所述当前登录账户对应的有效登录密码,对所述当前登录密码和所述有效登录密码进行匹配,并在匹配成功时登录所述当前登录账户。
在具体实现中,服务器生成当前登录密码后,可在数据库中查找当前登录账户对应的有效登录密码,然后将当前登录密码和有效登录密码进行匹配,在匹配成功时为用户登录当前登录账户。
本实施例通过接收账户登录请求,根据登录请求确定当前登录账户;获取发送账户登录请求的用户终端的设备信息,根据设备信息生成当前登录密码;在数据库中查找当前登录账户对应的有效登录密码,对当前登录密码和有效登录密码进行匹配,并在匹配成功时登录当前登录账户,由于用户只需要通过用户终端发送账户登录请求,然后由服务器根据账户登录请求确定当前登录账户以及用户终端的设备信息,再根据设备信息生成当前登录密码,将当前登录密码与预存的有效登录密码进行匹配,匹配成功时为用户登录账户,整个登录过程并不需要用户输入任何登录信息,从而实现了账户的免密码登录,提高了用户体验。
参考图3,图3为本发明一种账户登录方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述在数据库中查找所述当前登录账户对应的有效登录密码的步骤可包括:
步骤S301:获取所述当前登录账户对应的账户标识;
需要说明的是,所述账户标识可以是账户名/用户名、或账户ID等能够将当前登录账户与其他登录账户进行区分的标识信息。
在具体实现中,服务器可通过接收到的账户登录请求,获取当前登录账户对应的账户标识。
步骤S302:根据数据库中存储的账户标识与有效登录密码之间的映射关系,查找所述当前登录账户对应的有效登录密码。
需要说明的是,在执行本步骤之前,为实现对当前登录账户对应的有效登录密码的快速获取,进一步提高账户登录效率,可预先在服务器侧建立账户标识与有效登录密码之间的映射关系并保存在数据库中,在所述映射关系中,映射端源为账户标识,目标端源为有效登录密码。
在具体实现中,服务器在获取到当前登录账户对应的账户标识后,可根据数据库中存储的账户标识与有效登录密码之间的映射关系,快速查找当前登录账户对应的有效登录密码。
本实施例通过获取当前登录账户对应的账户标识,根据数据库中存储的账户标识与有效登录密码之间的映射关系,查找当前登录账户对应的有效登录密码,实现了对有效登录密码的快速获取,提高账户登录效率。
参考图4,图4为本发明一种账户登录方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S30之后,所述方法还包括:
步骤S401:在匹配失败时,判定所述当前登录账户登录失败;
在具体实现中,当服务器将当前登录密码和有效登录密码进行匹配,在匹配失败时即可判定当前账户登录失败。
步骤S402:统计预设时长内所述当前登录账户的登录失败次数,并检测所述登录失败次数是否超过预设次数;
考虑到实际情况中,可能会存在服务器故障导致当前登录密码和有效登录密码一致时仍然出现匹配失败,出现账户登录不成功的情况,因此为了避免这类事件发生。本实施例账户服务器可统计预设时长内当前登录账户的登录失败次数,然后将统计到的失败次数跟预先设定的次数阈值(即所述预设次数)信息比较,然后根据比较结果执行后续相应操作。
步骤S403:在检测到所述登录失败次数超过所述预设次数时,查找与所述当前登录账户绑定的关联终端,向所述关联终端发送登录授权请求;
在本步骤中,当服务器检测到预设时长内的登录次数超过预设次数(如2分钟内当前登录账户登录失败的次数为5次,超过了预设次数2次)时,服务器即可根据当前登录账户对应的注册信息查找账户注册时绑定的关联终端,并向所述关联终端发送登录授权请求,例如用户通过电脑客户端进行账户登录,服务器检测到当前登录账户的登录失败次数超过预设次数,则可通过查找与当前登录账户绑定的手机客户端发送登录授权请求,请求登录授权。
步骤S404:在接收到所述关联终端基于所述登录授权请求反馈的授权确认指令时,登录所述当前登录账户。
在具体实现中,服务器在向当前登录账户的关联终端发送所述登录授权请求后,若接收到关联终端基于所述登录授权请求反馈的授权确认指令(即用户在关联终端上输入的授权确认指令),则依据所述授权确认指令为用户登录当前登录账户。
进一步地,为保证用户的账户信息的安全,本实施例提供的账户登录方法在所述步骤S403之后,还包括:
步骤S405:在预设时间范围内,未接收到所述关联终端基于所述登录授权请求反馈的授权确认指令时,判定所述当前登录账户存在异常登录行为;
应理解的是,实际情况中可能会存在登录账户被他人盗用的情形,而登录账户被他人盗用时,盗用者通过其使用的用户终端成功登录当前账户的可能性几乎为零,因此为在账户登录失败时,有效甄别当前的账户登录操作是否属于用户本人操作,同时避免服务器向关联终端发送所述登录授权请求后,该请求无人应答导致服务器长时间处于等待响应状态,可预先设定一个时间范围(如2分钟、3分钟等)以使服务器在该时间范围内未接收到授权确认指令时,直接认定本次账户登录操作非用户本人操作,即判定所述当前登录账户存在异常登录行为。
步骤S406:根据所述异常登录行为生成登录告警信息,并将所述登录告警信息发送至所述关联终端。
在具体实现中,服务器在判定出当前登录账户存在异常登录行为时,可根据异常登录行为生成登录告警信息,并将所述登录告警信息发送至所述关联终端。具体的,服务器可根据所述异常登录行为生成登录告警信息;查找与所述当前登录账户关联的互联网通讯账号;通过所述互联网通讯账号,将所述登录告警信息发送至所述关联终端,以提示用户注意账号可能存在被盗用的风险,其中,所述互联网通讯账号可包括手机号、邮箱和/或即时通讯账号(如微信、QQ等)。
本实施例通过在匹配失败时,判定当前登录账户登录失败;统计预设时长内当前登录账户的登录失败次数,并检测登录失败次数是否超过预设次数;若超过则查找与当前登录账户绑定的关联终端,向关联终端发送登录授权请求;在接收到关联终端基于登录授权请求反馈的授权确认指令时,登录当前登录账户;在预设时间范围内未接收到关联终端基于登录授权请求反馈的授权确认指令时,判定当前登录账户存在异常登录行为;根据异常登录行为生成登录告警信息,并将登录告警信息发送至关联终端,从而能够保证账户信息的安全。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有账户登录程序,所述账户登录程序被处理器执行时实现如上文所述的账户登录方法的步骤。
参照图5,图5为本发明登录装置第一实施例的结构框图。
如图5所示,本发明实施例提出的登录装置包括:账户确定模块501、密码生成模块502和密码匹配模块503;
所述账户确定模块501,用于接收账户登录请求,根据所述登录请求确定当前登录账户;
可理解的是,账户确定模块501在接收到用户通过用户终端发送的账户登录请求时,可根据所述账户登录请求中携带的用户名或账户ID确定出当前待登录的用户账户。
所述密码生成模块502,用于获取发送所述账户登录请求的用户终端的设备信息,并根据所述设备信息生成当前登录密码;
可理解的是,现有的账户登录方式大多通过对用户输入的登录手势(如屏幕滑动轨迹)、生物特征(指纹、声纹、虹膜等)或字符密码进行校验来实现,但这几种登录方式的缺点也比较明显,例如,输入登录手势或字符密码容易造成登录信息泄露,生物特征识别在某些特定场景(如用户指纹特征不明显、声纹特征失真)时失败率较高。
为了避免上述情况的发生,并进一步提高用户的登录体验,本实施例中,所述密码生成模块502,还用于获取所述当前登录账户在账户注册时对应的注册终端的注册设备信息;提取所述注册设备信息中包含的注册设备标识、注册设备参数和注册地址;根据所述注册设备标识、所述注册设备参数和所述注册地址生成所述当前账户对应的注册密码,并将所述注册密码作为所述当前登录账户对应的有效登录密码进行保存。
需要说明的是,所述设备注册信息可以是用户进行App账户注册时,使用的手机、平板电脑、个人电脑或智能手环等注册终端对应的注册设备信息,该注册设备信息包括但不限于注册设备标识(如硬件识别号、出厂序列号等)、注册设备参数(如交互界面/显示屏幕大小、屏幕分辨率、***版本等)以及注册地址等信息。其中,所述注册地址可以是账户注册时所述注册终端所在的地理位置信息;也可以是账户注册时所述注册终端对应的网络地址信息,如IP地址;还可以是账户注册时所述注册终端对应的物理地址信息,如MAC地址等。
可理解的是,由于用户在进行账户注册时所使用的注册终端对应的设备标识、设备参数以及注册地址等信息重合的几率并不高,因此根据这些信息生成的注册密码几乎是唯一的,将这类注册密码作为账户登录时的登录凭证安全性与可靠性较高。
所述密码匹配模块503,用于在数据库中查找所述当前登录账户对应的有效登录密码,对所述当前登录密码和所述有效登录密码进行匹配,并在匹配成功时登录所述当前登录账户。
在具体实现中,所述密码生成模块502在生成当前登录密码后,所述密码匹配模块503可在数据库中查找当前登录账户对应的有效登录密码,然后将当前登录密码和有效登录密码进行匹配,在匹配成功时为用户登录当前登录账户。
本实施例通过接收账户登录请求,根据登录请求确定当前登录账户;获取发送账户登录请求的用户终端的设备信息,根据设备信息生成当前登录密码;在数据库中查找当前登录账户对应的有效登录密码,对当前登录密码和有效登录密码进行匹配,并在匹配成功时登录当前登录账户,由于用户只需要通过用户终端发送账户登录请求,然后由登录装置根据账户登录请求确定当前登录账户以及用户终端的设备信息,再根据设备信息生成当前登录密码,将当前登录密码与预存的有效登录密码进行匹配,匹配成功时为用户登录账户,整个登录过程并不需要用户输入任何登录信息,从而实现了账户的免密码登录,提高了用户体验。
基于本发明上述登录装置第一实施例,提出本发明登录装置的第二实施例。
在本实施例中,所述密码生成模块502,还用于分别从所述注册设备标识中提取出标识字符,所述注册设备参数中提取出参数字符,所述注册地址中提取出地址字符;将所述标识字符,所述参数字符和所述地址字符进行组合,并将组合后的字符作为所述当前账户对应的注册密码。
进一步地,所述密码匹配模块503,还用于获取所述当前登录账户对应的账户标识;根据数据库中存储的账户标识与有效登录密码之间的映射关系,查找所述当前登录账户对应的有效登录密码。
此外,本实施例提供的登录装置还包括行为检测模块,所述行为检测模块,用于在匹配失败时,判定所述当前登录账户登录失败;统计预设时长内所述当前登录账户的登录失败次数,并检测所述登录失败次数是否超过预设次数;在检测到所述登录失败次数超过所述预设次数时,查找与所述当前登录账户绑定的关联终端,向所述关联终端发送登录授权请求;在接收到所述关联终端基于所述登录授权请求反馈的授权确认指令时,登录所述当前登录账户。
进一步地,所述行为检测模块,还用于在预设时间范围内,未接收到所述关联终端基于所述登录授权请求反馈的授权确认指令时,判定所述当前登录账户存在异常登录行为;根据所述异常登录行为生成登录告警信息,并将所述登录告警信息发送至所述关联终端。
进一步地,所述行为检测模块,还用于根据所述异常登录行为生成登录告警信息;查找与所述当前登录账户关联的互联网通讯账号;通过所述互联网通讯账号,将所述登录告警信息发送至所述关联终端。
本发明登录装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。