CN110472405B - 一种免输入式动态验证码实现方法 - Google Patents
一种免输入式动态验证码实现方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User 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。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125671B (zh) * | 2019-12-19 | 2023-08-01 | 字节跳动有限公司 | 验证码处理方法及装置、存储介质 |
Citations (3)
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)
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 | 南京理工大学 | 一种基于图像内容相关性的验证方法及系统 |
-
2019
- 2019-08-16 CN CN201910760458.XA patent/CN110472405B/zh active Active
Patent Citations (3)
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 |