CN110472405B - 一种免输入式动态验证码实现方法 - Google Patents

一种免输入式动态验证码实现方法 Download PDF

Info

Publication number
CN110472405B
CN110472405B CN201910760458.XA CN201910760458A CN110472405B CN 110472405 B CN110472405 B CN 110472405B CN 201910760458 A CN201910760458 A CN 201910760458A CN 110472405 B CN110472405 B CN 110472405B
Authority
CN
China
Prior art keywords
verification code
verification
library
algorithm
client
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
CN201910760458.XA
Other languages
English (en)
Other versions
CN110472405A (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.)
Zhongyuan University of Technology
Original Assignee
Zhongyuan University of Technology
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 Zhongyuan University of Technology filed Critical Zhongyuan University of Technology
Priority to CN201910760458.XA priority Critical patent/CN110472405B/zh
Publication of CN110472405A publication Critical patent/CN110472405A/zh
Application granted granted Critical
Publication of CN110472405B publication Critical patent/CN110472405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提出了一种免输入式动态验证码实现方法,其步骤为:首先在服务端生成成立验证码库和不成立验证码库;其次,用户在客户端输入账号和密码时,服务端从成立验证码库和不成立验证码库中随机抽取N个验证码建立验证码集合,再将验证码集合中的一个验证码显示在客户端的验证码框中,最后,判断当前验证码的逻辑性是否正确,若否,用户等待验证码的自动更新,若是,用户点击提交进行一下操作界面即可完成动态验证的校验。本发明可由用户即看即判断,无需多余的输入操作,减少了应用交互的复杂性,且利用抽取算法和排序算法,在验证码连续识别失败时增加了时间长度因子,提升了单位时间内的客户端的被破解的难度,保证了客户端的安全运行。

Description

一种免输入式动态验证码实现方法
技术领域
本发明涉及验证码技术领域,特别是指一种免输入式动态验证码实现方法。
背景技术
在现在互联网应用中,动态验证码已广泛应用,其主要目的是解决恶意的登陆或攻击,但是当前的用户从模糊图片中找到正确的验证码,并录入应用系统的解决方案,额外的给用户带来了输入操作,甚至是复杂的判断操作。在特别强调用户体验的今天,显得很不合时宜。
发明内容
针对目前验证码的验证方式操作复杂的技术问题,本发明提出了一种免输入式动态验证码实现方法,用户输入完密码,即时判断即时回车即可登录客户端,避免了用户多余的额外操作,从而减轻用户判断难度,提升客户端的使用体验。
本发明的技术方案是这样实现的:
一种免输入式动态验证码实现方法,其步骤如下:
S1、服务端生成成立验证码库和不成立验证码库;
S2、用户在客户端输入账号和密码,客户端向服务端发出一个触发请求;
S3、服务端利用验证码抽取算法、验证码ID生成算法和验证码排序算法构建验证码集合;
S4、将验证码集合中的一个验证码显示在客户端的验证码框中,将当前验证码的验证码ID写入Session中,并将该验证码从验证码集合中删除;
S5、用户判断当前验证码的逻辑是否正确,若是,执行步骤S7,否则,执行步骤S6;
S6、服务端自动发出触发请求,转至步骤S4;
S7、用户点击提交,同时服务端删除步骤S3中的验证码集合,从Session中获取验证码ID,服务端判断验证码ID为正确,进入相应界面,完成动态验证码的校验。
所述步骤S1中的成立验证码库是指内容成立语句验证码图片库集,内容成立语句是指内容逻辑正确的语句;所述不成立验证码库是指内容不成立语句验证码图片库集,内容不成立语句是指内容逻辑不正确的语句。
所述步骤S3中利用验证码抽取算法、验证码ID生成算法和验证码排序算法构建验证码集合的方法为:
S31、利用随机数发生器RANDOM从成立验证码库中随机抽取1个验证码,并利用MD5算法生成1个验证码ID;
S32、利用随机数发生器RANDOM从不成立验证码库中随机抽取N个验证码,并分别利用MD5算法生成相应的N个验证码ID;
S33、利用SORT算法对步骤S31和步骤S32得到的N+1个验证码进行排序,得到一个验证码集合。
所述步骤S2中的触发请求是由外部事件触发的;步骤S6中的触发请求是服务器基于Ajax机制异步触发的,触发时间=上一幅验证码获得时间+3/(2^n),其中,n=2,3,…,N+1。
本技术方案能产生的有益效果:
1)与传统的地标挖掘方法相比,本发明可以由用户即看即判断,无需多余的输入操作,减少了应用交互的复杂性。
2)本发明利用抽取算法和排序算法,在验证码连续识别失败时(可能被攻击)增加了时间长度因子,提升了单位时间内的客户端的被破解的难度,保证了客户端的安全运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种免输入式动态验证码实现方法,具体步骤如下:
S1、服务端生成成立验证码库和不成立验证码库;所述成立验证码库是指内容成立语句验证码图片库集,内容成立语句是指内容逻辑正确的语句,比如:他是男生,A是大写字母,1+1=2等;所述不成立验证码库是指内容不成立语句验证码图片库集,内容不成立语句是指内容逻辑不正确的语句,比如:她是男生,夏天下雪,1+1=3等。成立验证码库和不成立验证码库均可由服务系统自动生成或者由用户设定。
S2、用户在客户端输入账号和密码,客户端向服务端发出一个触发请求;触发请求是由外部事件触发的,比如用户用鼠标点击密码框时即可享服务端发出触发请求。
S3、服务端利用验证码抽取算法、验证码ID生成算法和验证码排序算法构建验证码集合,具体构建方法为:
S31、利用随机数发生器RANDOM从成立验证码库中随机抽取1个验证码,并利用MD5算法生成1个验证码ID;
S32、利用随机数发生器RANDOM从不成立验证码库中随机抽取N个验证码,并分别利用MD5算法生成相应的N个验证码ID,其中N=3;
S33、根据验证码的ID利用SORT排序算法对步骤S31和步骤S32得到的4个验证码进行排序,得到一个验证码集合,能够保证验证码集合中验证码的随机性。
S4、将验证码集合中的一个验证码显示在客户端的验证码框中,将当前验证码的验证码ID写入Session中,并将当前验证码从验证码集合中删除。其中,Session为一次代表网络访问并可记录相关信息的对象。
S5、用户判断当前验证码的逻辑是否正确,也即当前验证码的内容是否为内容成立语句,若是,执行步骤S7,否则,执行步骤S6。
S6、服务端自动发出触发请求,转至步骤S4;服务端自动发出触发请求是服务器基于Ajax机制异步触发的,触发时间=上一幅验证码获得时间+3/(2^n),其中,n=2,3,…,N+1。
S7、用户点击提交(点击登录、验证或回车),同时服务端删除步骤S3中的验证码集合,从Session中获取验证码ID,服务端判断验证码ID为正确,进入相应界面,完成动态验证码的校验。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种免输入式动态验证码实现方法,其特征在于,其步骤如下:
S1、服务端生成成立验证码库和不成立验证码库;
S2、用户在客户端输入账号和密码,客户端向服务端发出一个触发请求;
S3、服务端利用验证码抽取算法、验证码ID生成算法和验证码排序算法构建验证码集合;
S4、将验证码集合中的一个验证码显示在客户端的验证码框中,将当前验证码的验证码ID写入Session中,并将该验证码从验证码集合中删除,其中,Session为一次代表网络访问并可记录相关信息的对象;
S5、用户判断当前验证码的逻辑是否正确,若是,执行步骤S7,否则,执行步骤S6;
S6、服务端自动发出触发请求,转至步骤S4;
S7、用户点击提交,同时服务端删除步骤S3中的验证码集合,从Session中获取验证码ID,服务端判断验证码ID为正确,进入相应界面,完成动态验证码的校验。
2.根据权利要求1所述的免输入式动态验证码实现方法,其特征在于,所述步骤S1中的成立验证码库是指内容成立语句验证码图片库集,内容成立语句是指内容逻辑正确的语句;所述不成立验证码库是指内容不成立语句验证码图片库集,内容不成立语句是指内容逻辑不正确的语句。
3.根据权利要求1所述的免输入式动态验证码实现方法,其特征在于,所述步骤S3中利用验证码抽取算法、验证码ID生成算法和验证码排序算法构建验证码集合的方法为:
S31、利用随机数发生器RANDOM从成立验证码库中随机抽取1个验证码,并利用MD5算法生成1个验证码ID;
S32、利用随机数发生器RANDOM从不成立验证码库中随机抽取N个验证码,并分别利用MD5算法生成相应的N个验证码ID;
S33、利用SORT算法对步骤S31和步骤S32得到的N+1个验证码进行排序,得到一个验证码集合。
4.根据权利要求1所述的免输入式动态验证码实现方法,其特征在于,所述步骤S2中的触发请求是由外部事件触发的;步骤S6中的触发请求是服务器基于Ajax机制异步触发的,触发时间=上一幅验证码获得时间+3/(2^n),其中,n=2,3,…,N+1。
CN201910760458.XA 2019-08-16 2019-08-16 一种免输入式动态验证码实现方法 Active CN110472405B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910760458.XA CN110472405B (zh) 2019-08-16 2019-08-16 一种免输入式动态验证码实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910760458.XA CN110472405B (zh) 2019-08-16 2019-08-16 一种免输入式动态验证码实现方法

Publications (2)

Publication Number Publication Date
CN110472405A CN110472405A (zh) 2019-11-19
CN110472405B true CN110472405B (zh) 2021-03-16

Family

ID=68511880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910760458.XA Active CN110472405B (zh) 2019-08-16 2019-08-16 一种免输入式动态验证码实现方法

Country Status (1)

Country Link
CN (1) CN110472405B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125671B (zh) * 2019-12-19 2023-08-01 字节跳动有限公司 验证码处理方法及装置、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428163A (zh) * 2012-05-15 2013-12-04 上海博路信息技术有限公司 一种基于图像内容的验证码
CN104468486A (zh) * 2013-09-23 2015-03-25 联想(北京)有限公司 信息处理方法、系统及电子设备
CN108512850A (zh) * 2018-04-02 2018-09-07 广东能龙教育股份有限公司 一种基于问答题目的智能验证码的处理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100046790A1 (en) * 2008-08-22 2010-02-25 Koziol Anthony R Method and system for generating a symbol identification challenge
US9361446B1 (en) * 2014-03-28 2016-06-07 Amazon Technologies, Inc. Token based automated agent detection
CN107241362B (zh) * 2017-08-10 2020-11-24 青岛网信信息科技有限公司 识别验证码输入用户身份的方法和装置
CN107609389B (zh) * 2017-08-24 2020-10-30 南京理工大学 一种基于图像内容相关性的验证方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428163A (zh) * 2012-05-15 2013-12-04 上海博路信息技术有限公司 一种基于图像内容的验证码
CN104468486A (zh) * 2013-09-23 2015-03-25 联想(北京)有限公司 信息处理方法、系统及电子设备
CN108512850A (zh) * 2018-04-02 2018-09-07 广东能龙教育股份有限公司 一种基于问答题目的智能验证码的处理方法

Also Published As

Publication number Publication date
CN110472405A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
US10657243B2 (en) Variation analysis-based public turing test to tell computers and humans apart
CN110602052B (zh) 微服务处理方法及服务器
CN101197678B (zh) 图片验证码生成方法和图片验证码生成装置
CN105337949A (zh) 一种SSO认证方法、web服务器、认证中心和token校验中心
CN105574398A (zh) 一种验证码验证方法及装置
CN110472405B (zh) 一种免输入式动态验证码实现方法
CN102594811A (zh) 视频验证码云技术
CN102354354A (zh) 一种基于信息指纹技术的图片密码生成认证方法
JP2011053969A (ja) eラーニングシステムにおける本人認証システム
CN105681344A (zh) 一种验证码识别系统及方法
CN111953647B (zh) 安全校验方法、装置、电子设备和存储介质
CN111949952B (zh) 验证码请求处理方法及计算机可读存储介质
CN112667987A (zh) 大数据访问授权方法、装置及存储介质
CN107566422B (zh) 一种第三方用户的验证方法
CN103514564A (zh) 一种基于签名识别的互联网彩票安全交易和兑奖系统及方法
CN103514651A (zh) 一种基于脸部识别的互联网彩票安全交易和兑奖系统及方法
CN108234491B (zh) 协议关联验证方法、装置及电子设备
Tanvee et al. Move & select: 2-layer CAPTCHA based on cognitive psychology for securing web services
CN110570194A (zh) 硬件钱包恢复方法、装置、及硬件钱包
CN113935008B (zh) 用户认证方法、装置、电子设备及计算机可读存储介质
US20220131850A1 (en) Multi-factor authentication using symbols
KR101178828B1 (ko) 문맥 기반의 캡차를 이용한 인터넷 계좌 이체 방법
CN108875349B (zh) 基于拼音的验证码生成方法及装置
US20140101742A1 (en) Method, Client and Server of Password Verification, and Password Terminal System
CN111460422B (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