CN110113329B - 一种验证码的验证方法及装置 - Google Patents

一种验证码的验证方法及装置 Download PDF

Info

Publication number
CN110113329B
CN110113329B CN201910350147.6A CN201910350147A CN110113329B CN 110113329 B CN110113329 B CN 110113329B CN 201910350147 A CN201910350147 A CN 201910350147A CN 110113329 B CN110113329 B CN 110113329B
Authority
CN
China
Prior art keywords
login
verification code
signature
signature data
random factor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910350147.6A
Other languages
English (en)
Other versions
CN110113329A (zh
Inventor
李海宁
陶大臣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Infosec Technologies Co Ltd
Original Assignee
Beijing Infosec Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Infosec Technologies Co Ltd filed Critical Beijing Infosec Technologies Co Ltd
Priority to CN201910350147.6A priority Critical patent/CN110113329B/zh
Publication of CN110113329A publication Critical patent/CN110113329A/zh
Application granted granted Critical
Publication of CN110113329B publication Critical patent/CN110113329B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种验证码的验证方法及装置。该方法在获取用户输入的登录帐号和登录密码;根据登录帐号、随机产生的随机因子和应用服务器的访问地址,生成二维码验证码;之后应用服务器接收终端发送的登录验证码和第一签名数据,登录验证码是终端采用预设验证码生成算法得到的,第一签名数据是终端对登录帐号、随机因子和登录验证码采用预设签名算法得到的;根据登录帐号、随机因子和登录验证码,对第一签名数据进行验签,在验签成功时确定登录验证码为正确的登录验证码。该方法避免了攻击者在应用服务器上对登录验证码的机器识别和猜解,提高了网络信息的安全性。

Description

一种验证码的验证方法及装置
技术领域
本申请涉及互联网安全技术领域,尤其涉及一种验证码的验证方法及装置。
背景技术
在互联网应用中,用户登录应用或网站时,需要在软件界面或者网页输入账号密码,当账号与密码相匹配时,才能登陆成功,而在输入至少一次错误的账号或密码时,软件界面或者网页要求进行验证码验证。验证码可以区分用户是计算机还是真实用户的安全程序,被广泛运用于防止非法机器人程序自动恶意进行自动注册、登录、灌水、刷票、创票、秒杀等行为。
当前的主流验证码技术有以图形方式显示的变形或加了干扰字母、数字、汉字的验证码,以12306为代表的随机出现实物图片形式的点选验证码,以滑块拖动形式的拼图验证码,问答式验证码,广告式验证码等。通过这些验证码,增加非法机器人程序自动完成验证码的难度。
然而,发明人发现非法机器人程序可以对软件界面或者网页上生成的验证码进行仿冒或纂改,并通过输入识别和猜解后的验证码完成验证,降低了网络信息的安全性。
发明内容
本申请实施例提供一种验证码的验证方法及装置,解决了现有技术存在的上述问题,以避免验证码被机器识别和猜解,提高了网络信息的安全性。
第一方面,提供了一种验证码的验证方法,该方法可以包括:
应用服务器获取用户输入的登录信息,所述登录信息包括登录帐号和登录密码;
根据所述登录帐号、随机因子和所述应用服务器的访问地址,生成二维码验证码,以使终端根据所述二维码验证码获取所述登录帐号、所述随机因子和所述应用服务器的访问地址,所述随机因子是所述应用服务器随机产生的;
接收所述终端发送的登录验证码和第一签名数据,所述登录验证码是所述终端采用预设验证码生成算法得到的,所述第一签名数据是所述终端对所述登录帐号、所述随机因子和所述登录验证码采用预设签名算法得到的;
根据所述登录帐号、所述随机因子和所述登录验证码,对所述第一签名数据进行验签;
若验签结果表示验签成功,则确定所述登录验证码为正确的登录验证码。
在一个可选的实现中,根据所述登录帐号、所述随机因子和所述登录验证码,对所述第一签名数据进行验签,包括:
获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;
对所述第一签名数据采用所述预设签名算法进行解密,得到解密后的第一签名数据;
将所述摘要数据与所述解密后的第一签名数据进行匹配;
若匹配成功,则确定所述登录验证码为正确的登录验证码。
在一个可选的实现中,生成二维码验证码之后,所述方法还包括:
接收所述终端发送的所述登录验证码和第二签名数据,所述第二签名数据是所述终端对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法得到的;
根据所述登录帐号、所述随机因子、所述登录验证码和存储的绑定终端的标识,对所述第二签名数据进行验签。
在一个可选的实现中,确定所述登录验证码为正确的登录验证码之后,还包括:
将所述用户输入的登录信息与存储的注册信息进行匹配;
若存在与所述用户输入的登录信息匹配注册信息,则执行登录操作;
若不存在与所述用户输入的登录信息匹配注册信息,则展示登录操作失败的指示信息。
第二方面,提供了一种验证码的验证方法,该方法可以包括:
终端获取应用服务器生成的二维码验证码;
解析所述二维码验证码,得到所述登录帐号、所述随机因子和所述应用服务器的访问地址;
采用预设验证码生成算法,生成登录验证码;
获取用户输入的登录验证码;
若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子和所述登录帐号采用预设签名算法,生成第一签名数据;
根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第一签名数据。
在一个可选的实现中,对所述登录验证码、所述随机因子和所述登录帐号采用预设签名算法,生成第一签名数据,包括:
获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;
对所述摘要数据采用所述预设签名算法进行加密,得到所述第一签名数据。
在一个可选的实现中,获取用户输入的登录验证码之后,所述方法还包括:
若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法,生成第二签名数据;
根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第二签名数据。
第三方面,提供了一种验证码的验证装置,该装置可以包括:获取单元、生成单元、接收单元、验签单元和确定单元;
所述获取单元,用于获取用户输入的登录信息,所述登录信息包括登录帐号和登录密码;
所述生成单元,用于根据所述登录帐号、随机因子和所述应用服务器的访问地址,生成二维码验证码,以使终端根据所述二维码验证码获取所述登录帐号、所述随机因子和所述应用服务器的访问地址,所述随机因子是所述应用服务器随机产生的;
所述接收单元,用于接收所述终端发送的登录验证码和第一签名数据,所述登录验证码是所述终端采用预设验证码生成算法得到的,所述第一签名数据是所述终端对所述登录帐号、所述随机因子和所述登录验证码采用预设签名算法得到的;
所述验签单元,用于根据所述登录帐号、所述随机因子和所述登录验证码,对所述第一签名数据进行验签;
所述确定单元,用于若验签结果表示验签成功,则确定所述登录验证码为正确的登录验证码。
在一个可选的实现中,所述装置还包括解密单元和匹配单元;
所述获取单元,还用于获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;
所述解密单元,用于对所述第一签名数据采用所述预设签名算法进行解密,得到解密后的第一签名数据;
所述匹配单元,用于将所述摘要数据与所述解密后的第一签名数据进行匹配;
所述确定单元,还用于若匹配成功,则确定所述登录验证码为正确的登录验证码。
在一个可选的实现中,所述接收单元,还用于接收所述终端发送的所述登录验证码和第二签名数据,所述第二签名数据是所述终端对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法得到的;
所述验签单元,还用于根据所述登录帐号、所述随机因子、所述登录验证码和存储的绑定终端的标识,对所述第二签名数据进行验签。
在一个可选的实现中,所述装置还包括执行单元和展示单元;所述匹配单元,还用于将所述用户输入的登录信息与存储的注册信息进行匹配;
所述执行单元,用于若存在与所述用户输入的登录信息匹配注册信息,则执行登录操作;
所述展示单元,用于若不存在与所述用户输入的登录信息匹配注册信息,则展示登录操作失败的指示信息。
第四方面,提供了一种验证码的验证装置,该装置可以包括:获取单元、解析单元、生成单元和发送单元;
所述获取单元,用于获取应用服务器生成的二维码验证码;
所述解析单元,用于解析所述二维码验证码,得到所述登录帐号、所述随机因子和所述应用服务器的访问地址;
所述生成单元,用于采用预设验证码生成算法,生成登录验证码;
所述获取单元,还用于获取用户输入的登录验证码;
所述生成单元,还用于若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子和所述登录帐号采用预设签名算法,生成第一签名数据;
所述发送单元,用于根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第一签名数据。
在一个可选的实现中,所述装置还包括加密单元;
所述获取单元,还用于获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;
所述加密单元,用于对所述摘要数据采用所述预设签名算法进行加密,得到所述第一签名数据。
在一个可选的实现中,所述生成单元,还用于若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法,生成第二签名数据;
所述发送单元,还用于根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第二签名数据。
第五方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤或上述第二方面中任一项上所述的方法步骤。
第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤或上述第二方面中任一所述的方法步骤。
本发明实施例的上述验证方法在获取用户输入的包括登录帐号和登录密码的登录信息后,根据登录帐号、随机产生的随机因子和应用服务器的访问地址,生成二维码验证码,以使终端根据二维码验证码获取登录帐号、随机因子和应用服务器的访问地址;接收终端发送的登录验证码和第一签名数据,登录验证码是终端采用预设验证码生成算法得到的,第一签名数据是终端对登录帐号、随机因子和登录验证码采用预设签名算法得到的,之后根据登录帐号、随机因子和登录验证码,对第一签名数据进行验签,在验签成功时确定登录验证码为正确的登录验证码。与现有技术相比,该方法在终端上生成登录验证码和输入登录验证码,在应用服务器上验证登录验证码,避免了攻击者在应用服务器上对登录验证码的机器识别和猜解,提高了网络信息的安全性。
附图说明
图1为本发明实施例提供的一种验证码的验证方法适用的系统架构图;
图2为本发明实施例提供的一种验证码的验证方法的流程示意图;
图3为一种登录页面的示意图;
图4为本发明实施例提供的一种验证码的验证装置的结构示意图;
图5为本发明实施例提供的另一种验证码的验证装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明实施例提供的验证码的验证方法可以应用在图1所示的系统架构中,该系统可以包括应用服务器和终端。为了保证验证的准确性,应用服务器可以是具有较强的计算能力,且具有二维码识别功能的微信服务器、淘宝服务器、支付宝服务器或自定义的应用服务器等;终端可以是具有较强的计算能力的移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)等用户设备(User Equipment,UE)、具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(Mobile station,MS)等。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图2为本发明实施例提供的一种验证码的验证方法的流程示意图。如图2所示,该方法可以包括:
步骤210、应用服务器获取用户输入的登录信息。
在执行该步骤之前,应用服务器接收用户通过应用服务器对应的浏览器发送的访问请求。
应用服务器根据访问请求,生成该访问请求的随机因子。该随机因子可以是应用服务器接收访问请求的时间戳,也可以是应用服务器预设的唯一标识该访问请求的标识,如接收编号等。之后,应用服务器通过其对应的浏览器向用户展示登录页面,如图3所示,该登录页面包括登录账号填充处、登录密码填充处和二维码验证码展示区。
用户根据登录页面的填充指示,输入登录信息,登录信息包括登录帐号和登录密码,以使应用服务器获取用户输入的登录信息。
步骤220、应用服务器根据登录帐号、随机因子和应用服务器的访问地址,生成二维码验证码。
为了避免登录密码被泄露,提高网络信息的安全,应用服务器对登录帐号、随机因子和应用服务器的访问地址采用预设二维码生成算法,生成二维码验证码。
应用服务器生成二维码验证码后,通过其对应的浏览器在二维码验证码展示区展示生成的二维码验证码。
步骤230、终端获取应用服务器生成的二维码验证码。
在一种可能的实现中,终端在最初注册登录该应用服务器时,应用服务器可以对注册的终端进行绑定,并存储该绑定终端的标识。
若该终端为与应用服务器绑定的终端,则应用服务器可以向该终端发送二维码验证码,以使该终端获取二维码验证码;
或者,终端可以通过扫描应用服务器展示的二维码验证码来获取二维码验证码;
或者,该终端可以向应用服务器发送自定义获取请求,以使应用服务器向该终端发送二维码验证码。
除上述获取方式外,还可以有其他的获取方式本发明实施例在此不做限定。
步骤240、终端根据二维码验证码,获取登录验证码和签名数据。
签名数据包括第一签名数据和第二签名数据。
终端对二维码验证码进行解析,得到登录帐号、随机因子和应用服务器的访问地址,并采用预设验证码生成算法,生成登录验证码,并向用户展示该登录验证码。
终端获取用户根据展示的登录验证码输入的登录验证码。
若输入的登录验证码与展示的登录验证码不匹配,即输入的登录验证码与展示的登录验证码不一致,则生成登录验证码不正确的指示信息,以提醒用户输入登录验证码。
若输入的登录验证码与展示的登录验证码匹配,则对登录验证码、随机因子和登录帐号采用预设签名算法,如SHA256WithRSA算法,生成第一签名数据。
可选地,在应用服务器存储了绑定终端的标识的情况下,为了进一步提高验证的难度,终端可以对登录验证码、随机因子、登录帐号和该终端的标识采用预设签名算法,生成第二签名数据。
在一个例子中,以R表示随机因子、U表示登录帐号、C表示登录验证码、UUID表示终端的标识,预设的摘要算法为SHA256,故签名原文可以表示为SHA256(C,U,R)。以预设签名算法为SHA256WithRSA为例,第一签名数据可以表示为SHA256WithRSA(SHA256(C,U,R));第二签名数据可以表示为SHA256WithRSA(SHA256(C,U,R,UUID))。
之后,终端根据应用服务器的访问地址,向应用服务器发送登录验证码和第一签名数据,或向应用服务器发送登录验证码和第二签名数据。
步骤250、应用服务器根据登录帐号、随机因子、登录验证码,对签名数据进行验签。
若签名数据为第一签名数据,则应用服务器获取登录帐号、随机因子和登录验证码的摘要数据;对该第一签名数据采用预设签名算法进行解密,得到解密后的第一签名数据;将获取的摘要数据与解密后的第一签名数据进行匹配;
若签名数据为第二签名数据,则应用服务器获取登录帐号、随机因子、登录验证码和存储的绑定终端的标识的摘要数据;对该第二签名数据采用预设签名算法进行解密,得到解密后的第二签名数据;将获取的摘要数据与解密后的第二签名数据进行匹配;
若匹配成功,则表明验签成功,则应用服务器确定登录验证码为正确的登录验证码。
若匹配成功,则表明验签失败,则应用服务器生成登录验证码填写失败的提示信息。
进一步的,应用服务器在确定登录验证码为正确的登录验证码之后,将用户输入的登录信息与存储的注册信息进行匹配;
若存在与用户输入的登录信息匹配注册信息,则执行登录操作;
若不存在与用户输入的登录信息匹配注册信息,则展示登录操作失败的指示信息。
需要说明的是,本发明上述验证码的验证方法不仅适用于上述描述的登录场景,还适用于其他使用验证码验证后执行的场景,本发明实施例在此不再赘述。
本发明实施例的上述验证方法在获取用户输入的包括登录帐号和登录密码的登录信息后,根据登录帐号、随机产生的随机因子和应用服务器的访问地址,生成二维码验证码,以使终端根据二维码验证码获取登录帐号、随机因子和应用服务器的访问地址;接收终端发送的登录验证码和第一签名数据,登录验证码是终端采用预设验证码生成算法得到的,第一签名数据是终端对登录帐号、随机因子和登录验证码采用预设签名算法得到的,之后根据登录帐号、随机因子和登录验证码,对第一签名数据进行验签,在验签成功时确定登录验证码为正确的登录验证码。与现有技术相比,该方法在终端上生成登录验证码和输入登录验证码,在应用服务器上验证登录验证码,避免了攻击者在应用服务器上对登录验证码的机器识别和猜解,提高了网络信息的安全性。
与上述方法对应的,本发明实施例还提供一种验证码的验证装置,如图4所示,该验证装置包括:获取单元410、生成单元420、接收单元430、验签单元440和确定单元450;
获取单元410,用于获取用户输入的登录信息,所述登录信息包括登录帐号和登录密码;
生成单元420,用于根据所述登录帐号、随机因子和所述应用服务器的访问地址,生成二维码验证码,以使终端根据所述二维码验证码获取所述登录帐号、所述随机因子和所述应用服务器的访问地址,所述随机因子是所述应用服务器随机产生的;
接收单元430,用于接收所述终端发送的登录验证码和第一签名数据,所述登录验证码是所述终端采用预设验证码生成算法得到的,所述第一签名数据是所述终端对所述登录帐号、所述随机因子和所述登录验证码采用预设签名算法得到的;
验签单元440,用于根据所述登录帐号、所述随机因子和所述登录验证码,对所述第一签名数据进行验签;
确定单元450,用于若验签结果表示验签成功,则确定所述登录验证码为正确的登录验证码。
在一个可选的实现中,所述装置还包括解密单元460和匹配单元470;
获取单元410,还用于获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;
解密单元460,用于对所述第一签名数据采用所述预设签名算法进行解密,得到解密后的第一签名数据;
匹配单元470,用于将所述摘要数据与所述解密后的第一签名数据进行匹配;
确定单元450,还用于若匹配成功,则确定所述登录验证码为正确的登录验证码。
在一个可选的实现中,接收单元430,还用于接收所述终端发送的所述登录验证码和第二签名数据,所述第二签名数据是所述终端对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法得到的;
验签单元440,还用于根据所述登录帐号、所述随机因子、所述登录验证码和存储的绑定终端的标识,对所述第二签名数据进行验签。
在一个可选的实现中,所述装置还包括执行单元480和展示单元490;
匹配单元470,还用于将所述用户输入的登录信息与存储的注册信息进行匹配;
执行单元480,用于若存在与所述用户输入的登录信息匹配注册信息,则执行登录操作;
展示单元490,用于若不存在与所述用户输入的登录信息匹配注册信息,则展示登录操作失败的指示信息。
本发明上述实施例提供的验证装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的验证装置中的各个单元的具体工作过程和有益效果,在此不复赘述。
与上述方法对应的,本发明实施例还提供一种验证码的验证装置,如图5所示,该验证装置包括:获取单元510、解析单元520、生成单元530和发送单元540;
获取单元510,用于获取应用服务器生成的二维码验证码;
解析单元520,用于解析所述二维码验证码,得到所述登录帐号、所述随机因子和所述应用服务器的访问地址;
生成单元530,用于采用验证码生成算法,生成登录验证码;
获取单元510,还用于获取用户输入的登录验证码;
生成单元530,还用于若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子和所述登录帐号采用预设签名算法,生成第一签名数据;
发送单元540,用于根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第一签名数据。
在一个可选的实现中,所述装置还包括加密单元550;
获取单元510,还用于获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;
加密单元550,用于对所述摘要数据采用所述预设签名算法进行加密,得到所述第一签名数据。
在一个可选的实现中,生成单元530,还用于若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法,生成第二签名数据;
发送单元540,还用于根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第二签名数据。
本发明上述实施例提供的验证装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的验证装置中的各个单元的具体工作过程和有益效果,在此不复赘述。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器610、通信接口620、存储器630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。
存储器630,用于存放计算机程序;
处理器610,用于执行存储器630上所存放的程序时,实现如下步骤:
获取用户输入的登录信息,所述登录信息包括登录帐号和登录密码;
根据所述登录帐号、随机因子和所述应用服务器的访问地址,生成二维码验证码,以使终端根据所述二维码验证码获取所述登录帐号、所述随机因子和所述应用服务器的访问地址,所述随机因子是所述应用服务器随机产生的;
接收所述终端发送的登录验证码和第一签名数据,所述登录验证码是所述终端采用预设验证码生成算法得到的,所述第一签名数据是所述终端对所述登录帐号、所述随机因子和所述登录验证码采用预设签名算法得到的;
根据所述登录帐号、所述随机因子和所述登录验证码,对所述第一签名数据进行验签;
若验签结果表示验签成功,则确定所述登录验证码为正确的登录验证码。
在一个可选的实现中,根据所述登录帐号、所述随机因子和所述登录验证码,对所述第一签名数据进行验签,包括:
获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;
对所述第一签名数据采用所述预设签名算法进行解密,得到解密后的第一签名数据;
将所述摘要数据与所述解密后的第一签名数据进行匹配;
若匹配成功,则确定所述登录验证码为正确的登录验证码。
在一个可选的实现中,生成二维码验证码之后,所述方法还包括:
接收所述终端发送的所述登录验证码和第二签名数据,所述第二签名数据是所述终端对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法得到的;
根据所述登录帐号、所述随机因子、所述登录验证码和存储的绑定终端的标识,对所述第二签名数据进行验签。
在一个可选的实现中,确定所述登录验证码为正确的登录验证码之后,还包括:
将所述用户输入的登录信息与存储的注册信息进行匹配;
若存在与所述用户输入的登录信息匹配注册信息,则执行登录操作;
若不存在与所述用户输入的登录信息匹配注册信息,则展示登录操作失败的指示信息。
或者,实现如下步骤:
获取应用服务器生成的二维码验证码;
解析所述二维码验证码,得到所述登录帐号、所述随机因子和所述应用服务器的访问地址;
采用预设验证码生成算法,生成登录验证码;
获取用户输入的登录验证码;
若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子和所述登录帐号采用预设签名算法,生成第一签名数据;
根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第一签名数据。
在一个可选的实现中,对所述登录验证码、所述随机因子和所述登录帐号采用预设签名算法,生成第一签名数据,包括:
获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;
对所述摘要数据采用所述预设签名算法进行加密,得到所述第一签名数据。
在一个可选的实现中,获取用户输入的登录验证码之后,所述方法还包括:
若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法,生成第二签名数据;
根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第二签名数据。
上述提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图2所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的验证码的验证方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的验证码的验证方法。
本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

Claims (7)

1.一种验证码的验证方法,其特征在于,所述方法包括:
应用服务器获取用户输入的登录信息,所述登录信息包括登录帐号和登录密码,所述登录信息是所述用户在所述应用服务器通过其对应的浏览器向用户展示的登录页面输入的;
根据所述登录帐号、随机因子和所述应用服务器的访问地址采用预设二维码生成算法,生成二维码验证码,以使终端根据所述二维码验证码获取所述登录帐号、所述随机因子和所述应用服务器的访问地址,所述随机因子是所述应用服务器随机产生的;
接收所述终端发送的登录验证码和签名数据,所述登录验证码是所述终端对所述二维码验证码进行解析,得到所述登录帐号、所述随机因子和所述访问地址,并采用预设验证码生成算法得到的,所述签名数据包括第一签名数据和第二签名数据,所述第一签名数据是所述终端对所述登录帐号、所述随机因子和所述登录验证码采用预设签名算法得到的,所述第二签名数据是所述终端对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法得到的;
根据所述登录帐号、所述随机因子和所述登录验证码,对所述签名数据进行验签;
若验签结果表示验签成功,则确定所述登录验证码为正确的登录验证码;
其中,根据所述登录帐号、所述随机因子和所述登录验证码,对所述签名数据进行验签,包括:
若所述签名数据为所述第一签名数据,则获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;对所述第一签名数据采用所述预设签名算法进行解密,得到解密后的第一签名数据;将所述摘要数据与所述解密后的第一签名数据进行匹配;若匹配成功,则确定所述登录验证码为正确的登录验证码;
若所述签名数据为所述第二签名数据,则获取所述登录账号、所述随机因子、所述登录验证码和存储的绑定终端标识的摘要数据;对所述第二签名数据采用预设签名算法进行解密,得到解密后的第二签名数据;将获取的所述摘要数据与所述解密后的第二签名数据进行匹配;若匹配成功,则确定所述登录验证码为正确的登录验证码。
2.如权利要求1所述的方法,其特征在于,确定所述登录验证码为正确的登录验证码之后,还包括:
将所述用户输入的登录信息与存储的注册信息进行匹配;
若存在与所述用户输入的登录信息匹配注册信息,则执行登录操作;
若不存在与所述用户输入的登录信息匹配注册信息,则展示登录操作失败的指示信息。
3.一种验证码的验证方法,其特征在于,所述方法包括:
终端获取应用服务器生成的二维码验证码;
解析所述二维码验证码,得到登录帐号、随机因子和所述应用服务器的访问地址;
采用预设验证码生成算法,对所述登录帐号、所述随机因子和所述访问地址进行处理,生成登录验证码;
获取用户输入的登录验证码;
若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子和所述登录帐号采用预设签名算法,生成第一签名数据;
根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第一签名数据;
其中,对所述登录验证码、所述随机因子和所述登录帐号采用预设签名算法,生成第一签名数据,包括:
获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;
对所述摘要数据采用所述预设签名算法进行加密,得到所述第一签名数据;
获取用户输入的登录验证码之后,所述方法还包括:
若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法,生成第二签名数据;
根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第二签名数据。
4.一种验证码的验证装置,其特征在于,所述装置包括:
获取单元、生成单元、接收单元、验签单元和确定单元;
所述获取单元,用于获取用户输入的登录信息,所述登录信息包括登录帐号和登录密码,所述登录信息是所述用户在应用服务器通过其对应的浏览器向用户展示的登录页面输入的;
所述生成单元,用于根据所述登录帐号、随机因子和所述应用服务器的访问地址采用预设二维码生成算法,生成二维码验证码,以使终端根据所述二维码验证码获取所述登录帐号、所述随机因子和所述应用服务器的访问地址,所述随机因子是所述应用服务器随机产生的;
所述接收单元,用于接收所述终端发送的登录验证码和签名数据,所述登录验证码是所述终端对所述二维码验证码进行解析,得到所述登录帐号、所述随机因子和所述访问地址,并采用预设验证码生成算法得到的,所述签名数据包括第一签名数据和第二签名数据,所述第一签名数据是所述终端对所述登录帐号、所述随机因子和所述登录验证码采用预设签名算法得到的,所述第二签名数据是所述终端对所述登录验证码、所述随机因子、所述登录帐号和所述终端的标识采用预设签名算法得到的;
所述验签单元,用于根据所述登录帐号、所述随机因子和所述登录验证码,对所述签名数据进行验签;
所述确定单元,用于若验签结果表示验签成功,则确定所述登录验证码为正确的登录验证码;
其中,所述验签单元,具体用于:
若所述签名数据为所述第一签名数据,则获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;对所述第一签名数据采用所述预设签名算法进行解密,得到解密后的第一签名数据;将所述摘要数据与所述解密后的第一签名数据进行匹配;若匹配成功,则确定所述登录验证码为正确的登录验证码;
若所述签名数据为所述第二签名数据,则获取所述登录账号、所述随机因子、所述登录验证码和存储的绑定终端标识的摘要数据;对所述第二签名数据采用预设签名算法进行解密,得到解密后的第二签名数据;将获取的所述摘要数据与所述解密后的第二签名数据进行匹配;若匹配成功,则确定所述登录验证码为正确的登录验证码。
5.一种验证码的验证装置,其特征在于,所述装置包括:
获取单元、解析单元、生成单元和发送单元;
所述获取单元,用于获取应用服务器生成的二维码验证码;
所述解析单元,用于解析所述二维码验证码,得到登录帐号、随机因子和所述应用服务器的访问地址;
所述生成单元,用于采用预设验证码生成算法,对所述登录帐号、所述随机因子和所述访问地址进行处理,生成登录验证码;
所述获取单元,还用于获取用户输入的登录验证码;
所述生成单元,还用于若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子和所述登录帐号采用预设签名算法,生成第一签名数据;其中,具体用于:获取所述登录帐号、所述随机因子和所述登录验证码的摘要数据;对所述摘要数据采用所述预设签名算法进行加密,得到所述第一签名数据;
所述发送单元,用于根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第一签名数据;
所述生成单元,还用于若所述输入的登录验证码与生成的所述登录验证码匹配,则对所述登录验证码、所述随机因子、所述登录帐号和终端的标识采用预设签名算法,生成第二签名数据;
所述发送单元,还用于根据所述应用服务器的访问地址,向所述应用服务器发送所述登录验证码和所述第二签名数据。
6.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-2任一所述的方法步骤或实现权利要求3任一所述的方法步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一所述的方法步骤或实现权利要求3任一所述的方法步骤。
CN201910350147.6A 2019-04-28 2019-04-28 一种验证码的验证方法及装置 Active CN110113329B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910350147.6A CN110113329B (zh) 2019-04-28 2019-04-28 一种验证码的验证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910350147.6A CN110113329B (zh) 2019-04-28 2019-04-28 一种验证码的验证方法及装置

Publications (2)

Publication Number Publication Date
CN110113329A CN110113329A (zh) 2019-08-09
CN110113329B true CN110113329B (zh) 2021-11-09

Family

ID=67487274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910350147.6A Active CN110113329B (zh) 2019-04-28 2019-04-28 一种验证码的验证方法及装置

Country Status (1)

Country Link
CN (1) CN110113329B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918251B (zh) * 2021-09-18 2022-10-28 中标慧安信息技术股份有限公司 一种设备隔离的用户访问控制方法和装置
CN114157483B (zh) * 2021-12-02 2024-04-05 北京金山云网络技术有限公司 登录方法、装置、电子设备及存储介质
CN114584310A (zh) * 2021-12-31 2022-06-03 中钞信用卡产业发展有限公司杭州区块链技术研究院 身份验证方法、装置、设备、介质及产品
CN115391475B (zh) * 2022-08-31 2023-05-12 重庆市规划和自然资源信息中心 一种基于ElasticSearch技术的包含运算算子空间搜索方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067371A (zh) * 2012-12-24 2013-04-24 广州杰赛科技股份有限公司 云终端身份认证方法和系统
CN104092542A (zh) * 2013-09-11 2014-10-08 腾讯科技(深圳)有限公司 一种账号登录方法、装置及系统
CN104835046A (zh) * 2015-04-20 2015-08-12 信码互通(北京)科技有限公司 一种用于二维码安全校验的数据鉴伪方法
CN105635036A (zh) * 2014-10-27 2016-06-01 任子行网络技术股份有限公司 一种电子身份证的验证系统及方法
CN105933353A (zh) * 2016-07-05 2016-09-07 北京万维星辰科技有限公司 安全登录的实现方法及系统
CN107833032A (zh) * 2017-10-26 2018-03-23 胡祥义 一种基于手机的无卡银行账号实现方法
KR101882777B1 (ko) * 2017-02-23 2018-07-27 권기순 정품 인증 기능을 갖는 포장재의 제조방법 및 이를 이용한 포장재
CN109214161A (zh) * 2018-05-31 2019-01-15 中国地质大学(武汉) 一种二维码安全标签登录系统
CN109495500A (zh) * 2018-12-14 2019-03-19 北京威努特技术有限公司 一种基于智能手机的双因子认证方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067371A (zh) * 2012-12-24 2013-04-24 广州杰赛科技股份有限公司 云终端身份认证方法和系统
CN104092542A (zh) * 2013-09-11 2014-10-08 腾讯科技(深圳)有限公司 一种账号登录方法、装置及系统
CN105635036A (zh) * 2014-10-27 2016-06-01 任子行网络技术股份有限公司 一种电子身份证的验证系统及方法
CN104835046A (zh) * 2015-04-20 2015-08-12 信码互通(北京)科技有限公司 一种用于二维码安全校验的数据鉴伪方法
CN105933353A (zh) * 2016-07-05 2016-09-07 北京万维星辰科技有限公司 安全登录的实现方法及系统
KR101882777B1 (ko) * 2017-02-23 2018-07-27 권기순 정품 인증 기능을 갖는 포장재의 제조방법 및 이를 이용한 포장재
CN107833032A (zh) * 2017-10-26 2018-03-23 胡祥义 一种基于手机的无卡银行账号实现方法
CN109214161A (zh) * 2018-05-31 2019-01-15 中国地质大学(武汉) 一种二维码安全标签登录系统
CN109495500A (zh) * 2018-12-14 2019-03-19 北京威努特技术有限公司 一种基于智能手机的双因子认证方法

Also Published As

Publication number Publication date
CN110113329A (zh) 2019-08-09

Similar Documents

Publication Publication Date Title
CN110113329B (zh) 一种验证码的验证方法及装置
CN112019493B (zh) 身份认证方法、身份认证装置、计算机设备和介质
US9734091B2 (en) Remote load and update card emulation support
CN108683667B (zh) 账户保护方法、装置、系统和存储介质
CN106612180A (zh) 实现会话标识同步的方法及装置
CN107733883B (zh) 一种检测批量注册账号的方法及装置
CN106548338B (zh) 资源数值转移的方法和系统
WO2020233047A1 (zh) 页面测试的方法及装置
EP4174689A1 (en) Blockchain-based user information processing method and system
CN111709007A (zh) 一种用户验证方法、装置及设备
CN112199661A (zh) 一种基于隐私保护的设备身份处理方法、装置及设备
CN107480513B (zh) 一种认证实现方法及装置、计算机装置、可读存储介质
US20130191641A1 (en) Captcha (completely automated public test to tell computers and humans apart) data generation methods and related data management systems and computer program products thereof
CN110445768B (zh) 一种登录方法、装置及电子设备
CN106685945B (zh) 业务请求处理方法、业务办理号码的验证方法及其终端
CN115039376A (zh) 终端设备信息传输方法、设备指纹生成方法及相关产品
CN111125665A (zh) 认证方法及设备
CN110855718B (zh) 企业用户的注册方法、装置、电子设备及计算机可读介质
CN111177674A (zh) 设备验证方法及设备
CN112583600B (zh) 用户鉴权的方法、装置、电子设备及介质
CN107911220B (zh) 一种签名方法、签名装置及终端设备
CN116361833A (zh) 校验方法、装置及终端设备
CN114817890A (zh) 文档的电子签章方法、装置、终端设备及存储介质
CN114219055A (zh) 一种条码生成方法、条码验证方法及支付系统
CN114036364A (zh) 用于识别爬虫的方法、装置、设备、介质和产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant