CN108809654A - 动态验证码生成方法、基于动态验证码的验证方法及装置 - Google Patents
动态验证码生成方法、基于动态验证码的验证方法及装置 Download PDFInfo
- Publication number
- CN108809654A CN108809654A CN201810714185.0A CN201810714185A CN108809654A CN 108809654 A CN108809654 A CN 108809654A CN 201810714185 A CN201810714185 A CN 201810714185A CN 108809654 A CN108809654 A CN 108809654A
- Authority
- CN
- China
- Prior art keywords
- verification code
- code
- graphical
- dynamic
- verification
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种动态验证码生成方法、基于动态验证码的验证方法及装置,其中,动态验证码生成方法包括如下步骤:在预设验证区域内生成若干个图形验证码;其中,若干个图形验证码的位置信息在预设验证区域内实时变化;记录图形验证码的标识信息和实时位置信息;根据图形验证码的标识信息和实时位置信息生成动态验证码。通过生成由若干个位置信息实时变化的图形验证码组成的动态验证码,增加了该动态验证码被基于OCR技术的非法机器人程序识别的难度。
Description
技术领域
本发明涉及互联网安全技术领域,尤其涉及到一种动态验证码生成方法、基于动态验证码的验证方法、动态验证码生成装置、基于动态验证码的验证装置、验证码系统和计算机可读存储介质。
背景技术
在设备软件或网站上登录用户时,需要输入账号密码,当账号与密码相匹配时,才能登陆成功,而在第一次登陆或者输入一次错误的密码的时候,软件界面或者网页现在要求进行验证码验证。验证码,是一种区分用户是计算机还是人的公共全自动程序,能够防止用户在知晓他人账号的情况下,利用非法机器人程序进行自动注册、登录、灌水等行为。如果进行恶意使用非法机器人程序进行自动注册、登录、灌水等行为,在每一次输入密码都会要求通过验证码验证才能进行后续操作,增加了机器人程序自动注册、登录、灌水等行为的难度。但是,虽然验证码技术增加了非法机器人程序频繁注入的难度,目前的主流验证码技术,例如静态验证码技术,仍然比较容易被现在成熟的光学字符识别(Optical CharacterRecognition,OCR)技术识别。
现有技术中,公开号为CN107846412A的中国专利文献公开了一种验证码请求处理方法、装置及验证码处理系统,该方法包括:向所述验证码系统发送图片验证码获取请求;接收所述验证码系统发送的图片验证码的信息,所述图片验证码为滑动拼图验证码或点选汉字验证码;根据用户的输入信息,向所述验证码系统发送待校验验证码信息,其中,所述待校验验证码信息中包括输入参数以及用户行为轨迹,以使所述验证码系统根据所述输入参数以及所述用户行为轨迹进行校验,使用滑动拼图验证码或点选汉字验证码的形式,降低图片验证码被机器识别的几率。但是,上述专利文献中用于进行验证的图片验证码仍为静态图片,随着OCR技术的发展,被非法机器人程序识别的可能性将会逐渐提高。
发明内容
因此,本发明要解决的技术问题在于解决现有技术中的验证码为静态图片验证码,容易被基于OCR技术的非法机器人程序识别的问题。
为此,根据第一方面,本发明提供了一种动态验证码生成方法,包括如下步骤:在预设验证区域内生成若干个图形验证码;其中,若干个图形验证码的位置信息在预设验证区域内实时变化;记录图形验证码的标识信息和实时位置信息;根据图形验证码的标识信息和实时位置信息生成动态验证码。
可选地,图形验证码在预设区域内以一定的运动速度和运动方向运动;当图形验证码与预设验证区域的边缘相碰时,重新生成图形验证码的运动速度和运动方向;当两个图形验证码相碰时,重新生成其中任一个图形验证码的运动速度和运动方向,或者重新生成两个图形验证码的运动速度和运动方向。
可选地,重新生成的图形验证码的运动方向与图形验证码原运动方向的夹角大于90度。
根据第二方面,本发明提供了一种基于动态验证码的验证方法,包括如下步骤:接收验证码获取请求;根据验证码获取请求,利用上述第一方面的全部或部分方法生成动态验证码并生成动态验证码中图形验证码的验证顺序;接收用于触发图形验证码的触发信号;图形验证码为动态验证码中位置信息实时变化的验证码;判断接收到的触发信号是否是按照验证顺序依次触发图形验证码;当接收到的触发信号是按照验证顺序依次触发图形验证码时,验证通过。
可选地,接收用于触发图形验证码的触发信号包括:接收位置输入信息;判断位置输入信息是否包含于图形验证码的当前位置信息中;图形验证码为动态验证码中的任一图形验证码;如果位置输入信息包含于图形验证码的当前位置信息中,则确定图形验证码被触发,发送对应的触发信号。
可选地,位置输入信息是指,根据用户点击或者触摸预设验证区域的操作产生的输入坐标点,图形验证码的位置信息是指,图形验证码图形范围内的所有坐标点集合产生的坐标列表;当输入坐标点与图形验证码的当前坐标列表中某一坐标点的坐标值完全相同时,位置输入信息包含于图形验证码的当前位置信息中。
可选地,动态验证码中任意两个图形验证码的当前坐标列表中的所有坐标点均不相同。
根据第三方面,本发明提供了一种动态验证码生成装置,包括:图形验证码生成模块,用于在预设验证区域内生成若干个图形验证码;其中,若干个图形验证码的位置信息在预设验证区域内实时变化;记录模块,用于记录图形验证码的标识信息和实时位置信息;动态验证码生成模块,用于根据图形验证码的标识信息和实时位置信息生成动态验证码。
可选地,图形验证码在预设区域内以一定的运动速度和运动方向运动;当图形验证码与预设验证区域的边缘相碰时,重新生成图形验证码的运动速度和运动方向;当两个图形验证码相碰时,重新生成其中任一个图形验证码的运动速度和运动方向,或者重新生成两个图形验证码的运动速度和运动方向。
根据第四方面,本发明提供了一种基于动态验证码的验证装置,包括:第一接收模块,用于接收验证码获取请求;生成模块,用于根据验证码获取请求,利用上述第一方面的全部或部分方法生成动态验证码并生成动态验证码中图形验证码的验证顺序;第二接收模块,用于接收用于触发图形验证码的触发信号;图形验证码为动态验证码中位置信息实时变化的验证码;判断模块,用于判断接收到的触发信号是否是按照验证顺序依次触发图形验证码。
可选地,第二接收模块包括:接收单元,用于接收位置输入信息;判断单元,用于判断位置输入信息是否包含于图形验证码的当前位置信息中;图形验证码为动态验证码中的任一图形验证码;发送单元,用于确定图形验证码被触发,发送对应的触发信号。
根据第五方面,本发明提供了一种验证码系统,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行上述第一方面的全部或部分方法,或者执行上述第二方面的全部或部分方法。
根据第六方面,本发明提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述第一方面的全部或部分方法的步骤,或者实现上述第二方面的全部或部分方法的步骤。
本发明实施例提供的技术方案,具有如下优点:
1、本发明提供的动态验证码生成方法,包括如下步骤:在预设验证区域内生成若干个图形验证码;其中,若干个图形验证码的位置信息在预设验证区域内实时变化;记录图形验证码的标识信息和实时位置信息;根据图形验证码的标识信息和实时位置信息生成动态验证码。通过生成由若干个位置信息实时变化的图形验证码组成的动态验证码,增加了该动态验证码被基于OCR技术的非法机器人程序识别的难度。
2、本发明提供的动态验证码生成方法,图形验证码在预设区域内以一定的运动速度和运动方向运动;当图形验证码与预设验证区域的边缘相碰时,重新生成图形验证码的运动速度和运动方向;当两个图形验证码相碰时,重新生成其中任一个图形验证码的运动速度和运动方向,或者重新生成两个图形验证码的运动速度和运动方向。通过在图形验证码与预设验证区域的边缘相碰时,重新生成图形验证码的运动速度和运动方向,能够使图形验证码维持在预设验证区域运动的状态;通过在两个图形验证码相碰时,重新生成图形验证码的运动速度和运动方向,使所有图形验证码均能够保持两两不重叠的状态在预设验证区域内运动,能够防止多个图形验证码部分或全部重叠时,区别难度较大的问题。
3、本发明提供的动态验证码生成方法,重新生成的图形验证码的运动方向与图形验证码原运动方向的夹角大于90度。通过控制重新生成的图形验证码的运动方向与原运动方向的夹角,能够防止图形验证码与预设验证区域边缘的连续碰撞,以及两两相碰的图形验证码之间的连续碰撞,减少重新生成图形验证码的运动速度和运动方向的频率,减少该动态验证码生成方法的内存占用量。
4、本发明提供的基于动态验证码的验证方法,包括如下步骤:接收验证码获取请求;根据验证码获取请求,利用上述第一方面的全部或部分方法生成动态验证码并生成动态验证码中图形验证码的验证顺序;接收用于触发图形验证码的触发信号;图形验证码为动态验证码中位置信息实时变化的验证码;判断接收到的触发信号是否是按照验证顺序依次触发图形验证码;当接收到的触发信号是按照验证顺序依次触发图形验证码时,验证通过。通过使用难以被基于OCR技术的非法机器人程序识别的动态验证码进行验证,只有当按照验证顺序依次触发位置信息实时变化的图形验证码时,才能通过验证,能够更全面地阻止非非正常用户的注入,增加了利用非法机器人程序进行自动注册、登录或者灌水等行为的实施难度。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为实施例1提供的一种动态验证码生成方法的方法流程图;
图2a-图2c为一种动态验证码的具体示例图;
图3为实施例2提供的一种基于动态验证码的验证方法的方法流程图;
图4为图3中步骤S30的具体步骤流程图;
图5为图2a-图2c中的动态验证码的验证流程示意图;
图6为实施例3提供的一种动态验证码生成装置的结构示意图;
图7为实施例4提供的一种基于动态验证码的验证装置的结构示意图;
图8为实施例5提供的一种验证码系统的硬件结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
实施例1
本实施例提供了一种动态验证码生成方法,如图1所示。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该流程包括如下步骤:
步骤S1,在预设验证区域内生成若干个图形验证码。在本实施例中,若干个图形验证码的位置信息在预设验证区域内实时变化,其中,图形验证码的位置信息是指,以预设验证区域的上边线为X轴,左边线为Y轴,图形验证码图形范围内的所有坐标点集合产生的坐标列表,具体地,以图形验证码为圆形验证码为例,已知圆形验证码的圆心坐标位置为(a,b),半径为r,圆形验证码图形范围内的每一个坐标点的坐标为可通过公式(a+Math.sin(2*Math.PI/360)*r,b+Math.cos(2*Math.PI/360)*r)计算得到,需要说明的是,上述具体计算公式仅为便于本领域技术人员理解本实施例的方案而举的具体示例,图形验证码为其他形状时,图形范围内的坐标点可以根据其他任意可实现方法得到,不应当被理解为对本实施例技术方案构成的限制。
在具体实施例中,预设验证区域可以为一矩形,菱形、圆形或者其他任意形状的区域,在预设验证区域内生成的图形验证码的数量至少有两个,并且任意两个图形验证码的当前坐标列表中的所有坐标点均不相同。在本实施例中,图形验证码可以为任何形状的平面图形,例如圆形、三角形、四边形等,当然,也可以为其他不规则图形。在本实施例中,所有图形验证码均在预设验证区域内以随机的、可随时变化的运动速度和运动方向自由运动,以使图形验证码的位置信息在预设验证区域内实时变化,需要说明的是,图形验证码的运动速度必须在人体反应的可接受范围内,而可接受速度范围为根据人体眼睛的动态识别内里以及手指反应速度结合得到。
步骤S2,记录图形验证码的标识信息和实时位置信息。在本实施例中,标识信息用以区分预设验证区域内的各个图形验证码,具体地,标识信息可以为任意字符,以3个图形验证码为例,可以将3个图形验证码的标识信息分别设置为“1、2、3”,“a、b、c”或者“红、黄、蓝”等任何可以区分各个图形验证码的信息。在本实施例中,以预设验证区域的上边线为X轴,左边线为Y轴,实时位置信息是指每一个单位时间内图形验证码的图形范围内的所有坐标点集合产生的坐标列表,具体地,单位时间的具体时长可以根据图形验证码的运动速度以及具体应用场景的需要确定。
步骤S3,根据图形验证码的标识信息和实时位置信息生成动态验证码。需要说明的是,区别于现有技术中的常规含义,本实施例中的动态验证码是指,根据上述方法生成的包含若干个位置实时变化的图形验证码的验证码。
本实施例提供的动态验证码生成方法,通过生成由若干个位置信息实时变化的图形验证码组成的动态验证码,增加了该动态验证码被基于OCR技术的非法机器人程序识别的难度。
在可选的实施例中,图形验证码在预设区域内以一定的运动速度和运动方向运动;当图形验证码与预设验证区域的边缘相碰时,重新生成图形验证码的运动速度和运动方向;当两个图形验证码相碰时,重新生成其中任一个图形验证码的运动速度和运动方向,或者重新生成两个图形验证码的运动速度和运动方向。在本实施例中,需要说明的是,图形验证码的运动速度必须在人体反应的可接受范围内,而可接受速度范围为根据人体眼睛的动态识别内里以及手指反应速度结合得到。通过在图形验证码与预设验证区域的边缘相碰时,重新生成图形验证码的运动速度和运动方向,能够使图形验证码维持在预设验证区域运动的状态;通过在两个图形验证码相碰时,重新生成图形验证码的运动速度和运动方向,使所有图形验证码均能够保持两两不重叠的状态在预设验证区域内运动,能够防止多个图形验证码部分或全部重叠时,区别难度较大的问题。
在具体实施例中,以生成的动态验证码为图2a-图2c所示的包括三个标识信息分别为1、2、3的圆形验证码(下文简称为小球1、小球2和小球3)的动态验证码为例:如图2a所示,三个小球在预设验证区域内以随机生成的不同的初始运动方向和初始运动速度运动,需要说明的是,由于运动速度无法直接在附图中示出,图2a-图2c均没有表示小球的运动速度;如图2b所示,当其中的小球3与预设验证区域的边缘相碰时,重新生成小球3的运动速度和运动方向;如图2c所示,当其中的小球1和小球2相碰时,重新生成小球1和小球2的运动速度和运动方向。
在可选的实施例中,重新生成的图形验证码的运动方向与图形验证码原运动方向的夹角大于90度,能够防止图形验证码与预设验证区域边缘的连续碰撞,以及两两相碰的图形验证码之间的连续碰撞,减少重新生成图形验证码的运动速度和运动方向的频率,减少该动态验证码生成方法的内存占用量。
实施例2
本实施例提供了一种基于动态验证码的验证方法,如图3所示。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该流程包括如下步骤:
步骤S10,接收验证码获取请求。在本实施例中,当用户终端接收到第一次注入请求时或者注入请求失败时,发送动态验证码获取请求。
步骤S20,根据验证码获取请求,利用上述实施例1的全部或部分方法生成动态验证码并生成动态验证码中图形验证码的验证顺序。在本实施例中,可以通过增加图形验证码的数量,提高图形验证码的运动速度,改变图形验证码的形状等方式增加验证难度。在具体实施例中,可以在预设验证区域的范围之外设置一提示区域,用以输出提示信息,如图2a-图2c所示,可以在预设验证区域的上方设置一矩形提示区域,用以输出提示信息。在本实施例中,验证顺序为根据图形验证码的标识信息随机生成的顺序,以生成的动态验证码为图2a-图2c所示的动态验证码为例,生成的3个小球的验证顺序可以为1-2-3,1-3-2,2-1-3,2-3-1,3-1-2,3-2-1中的任一种。此外,需要说明的是,区别于现有技术中的常规含义,本实施例中的动态验证码是指,根据上述实施例1中的方法生成的包含若干个位置实时变化的图形验证码的验证码。
步骤S30,接收用于触发图形验证码的触发信号。在本实施例中,图形验证码为动态验证码中位置信息实时变化的验证码,并且各个图形验证码上均标记有用户可见的标识信息,用以使用户能够根据验证顺序触发相应的图形验证码进行验证。
步骤S40,判断接收到的触发信号是否是按照验证顺序依次触发图形验证码。在本实施例中,当接收到的触发信号是按照验证顺序依次触发图形验证码时,执行步骤S50;当接收到的触发信号不是按照验证顺序依次触发图形验证码时,执行步骤S60。在具体实施例中,当验证失败时,可以接收到的重新验证触发信号返回执行步骤S10,从而进行再次验证,其中,重新验证触发信号为用户点击验证页面中的重新验证按钮时发送的信号,具体地,可以将连续可验证次数设置为5次,当然,也可以根据实际应用场景的需要具体设置连续可验证次数。
步骤S50,验证通过。
步骤S60,验证失败。
在具体实施例中,以生成的动态验证码包含3个位置实时变化的图形验证码,生成的验证顺序是2-1-3为例,当触发的第一个图形验证码是标识信息为3的图形验证码时,则验证直接失败,当触发的第一个图形验证码是标识信息为2的图形验证码,但触发的第二个图形验证码是标识信息为3的图形验证码时,验证也失败,必须按照2-1-3的验证顺序依次触发相应的图形验证码,才能通过验证。
本实施例提供的基于动态验证码的验证方法,通过使用难以被基于OCR技术的非法机器人程序识别的动态验证码进行验证,只有当按照验证顺序依次触发位置信息实时变化的图形验证码时,才能通过验证,能够更全面地阻止非非正常用户的注入,增加了利用非法机器人程序进行自动注册、登录或者灌水等行为的实施难度。
在可选的实施例中,如图4所示,步骤S30包括如下步骤:
步骤S31,接收位置输入信息。在本实施例中,位置输入信息是指,根据用户点击或者触摸预设验证区域的操作产生的输入坐标点,具体地,输入坐标点是指以预设验证区域的上边线为X轴,左边线为Y轴的坐标系中的坐标。
步骤S32,判断位置输入信息是否包含于图形验证码的当前位置信息中。在本实施例中,图形验证码为动态验证码中的任一图形验证码,图形验证码的位置信息是指,图形验证码图形范围内的所有坐标点集合产生的坐标列表;当输入坐标点与图形验证码的当前坐标列表中某一坐标点的坐标值完全相同时,位置输入信息包含于图形验证码的当前位置信息中,在具体实施例中,动态验证码中任意两个图形验证码的当前坐标列表中的所有坐标点均不相同。在本实施例中,图形验证码坐标列表中的所有坐标是指,以预设验证区域的上边线为X轴,左边线为Y轴的坐标系中的坐标,当输入坐标点X,Y值和当前坐标列表中某一坐标点的X,Y值完全相同时,位置输入信息包含于图形验证码的当前位置信息中。在本实施例中,如果位置输入信息包含于图形验证码的当前位置信息中,则执行步骤S33,并且被触发的图形验证码在预设验证区域中消失;如果位置输入信息没有包含于图形验证码的当前位置信息中,则继续执行步骤S31。
步骤S33,确定图形验证码被触发,发送对应的触发信号。在本实施例中,所述触发信号中包含被触发的图形验证码的标识信息,用以判断被触发的验证码是否为按照验证顺序应当被触发的图形验证码。
在具体实施例中,以包含3个标识信息分别为1、2、3的图形验证码的动态验证码为例,如果输入坐标点与标识信息为1的图形验证码的坐标列表中的某一坐标点的坐标值完全相同,则发送用于触发标识信息为1的图形验证码的触发信号;如果输入坐标点与标识信息为2的图形验证码的坐标列表中的某一坐标点的坐标值完全相同,则发送用于触发标识信息为2的图形验证码的触发信号;以此类推,应当可以了解发送用于触发标识信息为3的图形验证码的触发信号时的情形。在本实施例中,当输入坐标点与标识信息为1、2和3的图形验证码的坐标列表中的所有坐标点的坐标值均不完全相同,则继续接收位置输入信息。
在具体实施例中,以生成的动态验证码为图2a-图2c所示的动态验证码为例:如图2a所示,三个小球在预设验证区域内以随机生成的不同的初始运动方向和初始运动速度运动,需要说明的是,由于运动速度无法直接在附图中示出,图2a-图2c均没有表示小球的运动速度;如图2b所示,当其中的小球3与预设验证区域的边缘相碰时,重新生成小球3的运动速度和运动方向;如图2c所示,当其中的小球1和小球2相碰时,重新生成小球1和小球2的运动速度和运动方向。
在具体实施例中,以生成的3个小球的验证顺序是2-1-3为例,当触发的第一个图形验证码是小球3时,则验证直接失败;当触发的第一个图形验证码是小球2,但触发的第二个图形验证码是小球3时,验证也失败;如图5所示,必须按照点击小球2-点击小球1-点击小球3的点击顺序,即按照触发小球2-触发小球1-触发小球3的验证顺序依次触发小球,才能通过验证。
实施例3
在本实施例中提供了一种动态验证码生成装置,该装置用于实现上述实施例1及其优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种动态验证码生成装置,如图6所示,包括图形验证码生成模块1,记录模块2和动态验证码生成模块3。
其中,图形验证码生成模块1用于在预设验证区域内生成若干个图形验证码;其中,若干个图形验证码的位置信息在预设验证区域内实时变化;记录模块2用于记录图形验证码的标识信息和实时位置信息;动态验证码生成模块3用于根据图形验证码的标识信息和实时位置信息生成动态验证码。在本实施例中,图形验证码的位置信息包括在图形验证码的图形范围内的所有坐标点信息。
在可选的实施例中,图形验证码在预设区域内以一定的运动速度和运动方向运动;当图形验证码与预设验证区域的边缘相碰时,重新生成图形验证码的运动速度和运动方向;当两个图形验证码相碰时,重新生成其中任一个图形验证码的运动速度和运动方向,或者重新生成两个图形验证码的运动速度和运动方向。在本实施例中,重新生成的图形验证码的运动方向与图形验证码原运动方向的夹角大于90度。
本实施例中的动态验证码生成装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
实施例4
在本实施例中提供了一种动态验证码生成装置,该装置用于实现上述实施例2及其优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种基于动态验证码的验证装置,如图7所示,包括:第一接收模块10,生成模块20,第二接收模块30和判断模块40。
其中,第一接收模块10用于接收验证码获取请求;生成模块20用于根据验证码获取请求,利用上述实施例1的全部或部分方法生成动态验证码并生成动态验证码中图形验证码的验证顺序;第二接收模块30用于接收用于触发图形验证码的触发信号;图形验证码为动态验证码中位置信息实时变化的验证码;判断模块40用于判断接收到的触发信号是否是按照验证顺序依次触发图形验证码。在本实施例中,当接收到的触发信号是按照验证顺序依次触发图形验证码时,验证通过;当接收到的触发信号不是按照验证顺序依次触发图形验证码时,验证失败。
在可选的实施例中,第二接收模块30包括:接收单元,判断单元和发送单元。
其中,接收单元用于接收位置输入信息;判断单元用于判断位置输入信息是否包含于图形验证码的当前位置信息中;图形验证码为动态验证码中的任一图形验证码;发送单元用于确定图形验证码被触发,发送对应的触发信号。在本实施例中,如果位置输入信息包含于图形验证码的当前位置信息中,则发送单元运行,并且被触发的图形验证码在预设验证区域中消失;如果位置输入信息没有包含于图形验证码的当前位置信息中,则继续运行接收单元。
在可选的实施例中,位置输入信息是指,根据用户点击或者触摸预设验证区域的操作产生的输入坐标点,图形验证码的位置信息是指,图形验证码图形范围内的所有坐标点集合产生的坐标列表;当输入坐标点与图形验证码的当前坐标列表中某一坐标点的坐标值完全相同时,位置输入信息包含于图形验证码的当前位置信息中。
在可选的实施例中,动态验证码中任意两个图形验证码的当前坐标列表中的所有坐标点均不相同。
本实施例中的动态验证码生成装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
实施例5
本发明实施例提供了一种验证码系统,如图8所示,该验证码系统可以包括:至少一个处理器801,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口803,存储器804,至少一个通信总线802。其中,通信总线802用于实现这些组件之间的连接通信。其中,通信接口803可以包括显示屏(Display)、键盘(Keyboard),可选通信接口803还可以包括标准的有线接口、无线接口。存储器804可以是高速RAM存储器(Random AccessMemory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器804可选的还可以是至少一个位于远离前述处理器801的存储装置。其中存储器804中存储应用程序,且处理器801调用存储器804中存储的程序代码,以用于执行实施例1或实施例2中的任一方法步骤,即用于执行以下操作:
在预设验证区域内生成若干个图形验证码;其中,若干个图形验证码的位置信息在预设验证区域内实时变化;记录图形验证码的标识信息和实时位置信息;根据图形验证码的标识信息和实时位置信息生成动态验证码。
本发明实施例中,处理器801调用存储器804中的程序代码,还用于执行以下操作:图形验证码在预设区域内以一定的运动速度和运动方向运动;当图形验证码与预设验证区域的边缘相碰时,重新生成图形验证码的运动速度和运动方向;当两个图形验证码相碰时,重新生成其中任一个图形验证码的运动速度和运动方向,或者重新生成两个图形验证码的运动速度和运动方向。
本发明实施例中,处理器801调用存储器804中的程序代码,还用于执行以下操作:重新生成的图形验证码的运动方向与图形验证码原运动方向的夹角大于90度。
本发明实施例中,处理器801调用存储器804中的程序代码,还用于执行以下操作:接收验证码获取请求;根据验证码获取请求,利用上述第一方面的全部或部分方法生成动态验证码并生成动态验证码中图形验证码的验证顺序;接收用于触发图形验证码的触发信号;图形验证码为动态验证码中位置信息实时变化的验证码;判断接收到的触发信号是否是按照验证顺序依次触发图形验证码;当接收到的触发信号是按照验证顺序依次触发图形验证码时,验证通过。
本发明实施例中,处理器801调用存储器804中的程序代码,还用于执行以下操作:接收位置输入信息;判断位置输入信息是否包含于图形验证码的当前位置信息中;图形验证码为动态验证码中的任一图形验证码;如果位置输入信息包含于图形验证码的当前位置信息中,则确定图形验证码被触发,发送对应的触发信号。
其中,通信总线802可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线802可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器804可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flashmemory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器804还可以包括上述种类的存储器的组合。
其中,处理器801可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器801还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
实施例6
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行实施例1或实施例2的任一方法步骤。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (13)
1.一种动态验证码生成方法,其特征在于,包括如下步骤:
在预设验证区域内生成若干个图形验证码;其中,若干个所述图形验证码的位置信息在所述预设验证区域内实时变化;
记录所述图形验证码的标识信息和实时位置信息;
根据所述图形验证码的标识信息和实时位置信息生成所述动态验证码。
2.根据权利要求1所述动态验证码生成方法,其特征在于,所述图形验证码在所述预设区域内以一定的运动速度和运动方向运动;
当所述图形验证码与所述预设验证区域的边缘相碰时,重新生成所述图形验证码的运动速度和运动方向;
当两个所述图形验证码相碰时,重新生成其中任一个所述图形验证码的运动速度和运动方向,或者重新生成两个所述图形验证码的运动速度和运动方向。
3.根据权利要求2所述的动态验证码生成方法,其特征在于,重新生成的所述图形验证码的运动方向与所述图形验证码原运动方向的夹角大于90度。
4.一种基于动态验证码的验证方法,其特征在于,包括如下步骤:
接收验证码获取请求;
根据所述验证码获取请求,利用权利要求1-3任一项所述的方法生成动态验证码并生成所述动态验证码中图形验证码的验证顺序;
接收用于触发所述图形验证码的触发信号;所述图形验证码为所述动态验证码中位置信息实时变化的验证码;
判断接收到的所述触发信号是否是按照所述验证顺序依次触发所述图形验证码;
当接收到的所述触发信号是按照所述验证顺序依次触发所述图形验证码时,验证通过。
5.根据权利要求4所述的基于动态验证码的验证方法,其特征在于,接收用于触发所述图形验证码的触发信号包括:
接收位置输入信息;
判断所述位置输入信息是否包含于所述图形验证码的当前位置信息中;所述图形验证码为所述动态验证码中的任一图形验证码;
如果所述位置输入信息包含于所述图形验证码的当前位置信息中,则确定所述图形验证码被触发,发送对应的触发信号。
6.根据权利要求5所述的基于动态验证码的验证方法,其特征在于,所述位置输入信息是指,根据用户点击或者触摸所述预设验证区域的操作产生的输入坐标点,所述图形验证码的位置信息是指,所述图形验证码图形范围内的所有坐标点集合产生的坐标列表;
当所述输入坐标点与所述图形验证码的当前坐标列表中某一坐标点的坐标值完全相同时,所述位置输入信息包含于所述图形验证码的当前位置信息中。
7.根据权利要求6所述的基于动态验证码的验证方法,其特征在于,所述动态验证码中任意两个图形验证码的当前坐标列表中的所有坐标点均不相同。
8.一种动态验证码生成装置,其特征在于,包括:
图形验证码生成模块,用于在预设验证区域内生成若干个图形验证码;其中,若干个所述图形验证码的位置信息在所述预设验证区域内实时变化;
记录模块,用于记录所述图形验证码的标识信息和实时位置信息;
动态验证码生成模块,用于根据所述图形验证码的标识信息和实时位置信息生成所述动态验证码。
9.根据权利要求8所述的动态验证码生成装置,其特征在于,所述图形验证码在所述预设区域内以一定的运动速度和运动方向运动;
当所述图形验证码与所述预设验证区域的边缘相碰时,重新生成所述图形验证码的运动速度和运动方向;
当两个所述图形验证码相碰时,重新生成其中任一个所述图形验证码的运动速度和运动方向,或者重新生成两个所述图形验证码的运动速度和运动方向。
10.一种基于动态验证码的验证装置,其特征在于,包括:
第一接收模块,用于接收验证码获取请求;
生成模块,用于根据所述验证码获取请求,利用权利要求1-3任一项所述的方法生成动态验证码并生成所述动态验证码中图形验证码的验证顺序;
第二接收模块,用于接收用于触发所述图形验证码的触发信号;所述图形验证码为所述动态验证码中位置信息实时变化的验证码;
判断模块,用于判断接收到的所述触发信号是否是按照所述验证顺序依次触发所述图形验证码。
11.根据权利要求10所述的基于动态验证码的验证装置,其特征在于,所述第二接收模块包括:
接收单元,用于接收位置输入信息;
判断单元,用于判断所述位置输入信息是否包含于所述图形验证码的当前位置信息中;所述图形验证码为所述动态验证码中的任一图形验证码;
发送单元,用于确定所述图形验证码被触发,发送对应的触发信号。
12.一种验证码系统,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述权利要求1-3中任一所述的方法,或者执行上述权利要求4-7中任一所述的方法。
13.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现上述权利要求1-3中任一所述方法的步骤,或者实现上述权利要求4-7中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810714185.0A CN108809654B (zh) | 2018-06-29 | 2018-06-29 | 动态验证码生成方法、基于动态验证码的验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810714185.0A CN108809654B (zh) | 2018-06-29 | 2018-06-29 | 动态验证码生成方法、基于动态验证码的验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108809654A true CN108809654A (zh) | 2018-11-13 |
CN108809654B CN108809654B (zh) | 2021-04-27 |
Family
ID=64074111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810714185.0A Active CN108809654B (zh) | 2018-06-29 | 2018-06-29 | 动态验证码生成方法、基于动态验证码的验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108809654B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378095A (zh) * | 2019-07-17 | 2019-10-25 | 网易(杭州)网络有限公司 | 基于验证码的交互验证方法、装置、介质和计算设备 |
CN113353022A (zh) * | 2020-03-05 | 2021-09-07 | 广州汽车集团股份有限公司 | 车辆防盗方法及其系统、车载设备 |
CN113591062A (zh) * | 2020-05-01 | 2021-11-02 | 易鑫 | 一种滑动拼图类验证码识别方法 |
CN113765898A (zh) * | 2021-08-20 | 2021-12-07 | 北京来也网络科技有限公司 | 基于ai和rpa的登录方法、装置、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183463A (zh) * | 2007-12-19 | 2008-05-21 | 腾讯科技(深圳)有限公司 | 一种图片验证码的生成方法和装置 |
US20120180115A1 (en) * | 2011-01-07 | 2012-07-12 | John Maitland | Method and system for verifying a user for an online service |
CN104346557A (zh) * | 2013-08-06 | 2015-02-11 | 深圳市腾讯计算机系统有限公司 | 验证码的生成方法及装置、验证码的显示控制方法及装置 |
CN104796428A (zh) * | 2015-04-30 | 2015-07-22 | 中国联合网络通信集团有限公司 | 一种动态验证方法、客户端、服务器和系统 |
CN104836778A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 一种验证码的实现方法、装置及系统 |
CN107622194A (zh) * | 2016-12-11 | 2018-01-23 | 卢安迪 | 一种动态遮挡型字符串图形验证码验证方法 |
-
2018
- 2018-06-29 CN CN201810714185.0A patent/CN108809654B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183463A (zh) * | 2007-12-19 | 2008-05-21 | 腾讯科技(深圳)有限公司 | 一种图片验证码的生成方法和装置 |
US20120180115A1 (en) * | 2011-01-07 | 2012-07-12 | John Maitland | Method and system for verifying a user for an online service |
CN104346557A (zh) * | 2013-08-06 | 2015-02-11 | 深圳市腾讯计算机系统有限公司 | 验证码的生成方法及装置、验证码的显示控制方法及装置 |
CN104836778A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 一种验证码的实现方法、装置及系统 |
CN104796428A (zh) * | 2015-04-30 | 2015-07-22 | 中国联合网络通信集团有限公司 | 一种动态验证方法、客户端、服务器和系统 |
CN107622194A (zh) * | 2016-12-11 | 2018-01-23 | 卢安迪 | 一种动态遮挡型字符串图形验证码验证方法 |
Non-Patent Citations (1)
Title |
---|
野比喵: "图像识别练习(flash图形验证码)", 《CSDN》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378095A (zh) * | 2019-07-17 | 2019-10-25 | 网易(杭州)网络有限公司 | 基于验证码的交互验证方法、装置、介质和计算设备 |
CN110378095B (zh) * | 2019-07-17 | 2022-02-25 | 杭州网易智企科技有限公司 | 基于验证码的交互验证方法、装置、介质和计算设备 |
CN113353022A (zh) * | 2020-03-05 | 2021-09-07 | 广州汽车集团股份有限公司 | 车辆防盗方法及其系统、车载设备 |
CN113591062A (zh) * | 2020-05-01 | 2021-11-02 | 易鑫 | 一种滑动拼图类验证码识别方法 |
CN113765898A (zh) * | 2021-08-20 | 2021-12-07 | 北京来也网络科技有限公司 | 基于ai和rpa的登录方法、装置、设备和介质 |
CN113765898B (zh) * | 2021-08-20 | 2023-08-01 | 北京来也网络科技有限公司 | 基于ai和rpa的登录方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108809654B (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809654A (zh) | 动态验证码生成方法、基于动态验证码的验证方法及装置 | |
TWI468978B (zh) | 行動平台的方位感知認證 | |
CN108650226B (zh) | 一种登录验证方法、装置、终端设备及存储介质 | |
US9690923B2 (en) | Method, apparatus and system for verifying terminal | |
KR20210006934A (ko) | 블록 체인 합의 방법, 어카운팅 노드 및 노드 | |
KR20190121777A (ko) | 서비스 실행 방법 및 디바이스 | |
EP3554034A1 (en) | Method and device for authenticating login | |
CN107682368B (zh) | 基于交互操作的验证方法、客户端、服务器及系统 | |
CN106529269A (zh) | 一种安全验证方法及系统 | |
CN104836778B (zh) | 一种验证码的实现方法、装置及系统 | |
CN104796428A (zh) | 一种动态验证方法、客户端、服务器和系统 | |
CN112818319B (zh) | 图形验证码的验证方法、装置、电子设备及存储介质 | |
CN105354481B (zh) | 网络验证方法和网络验证服务器 | |
CN104991716A (zh) | 一种移动终端的解锁方法及装置 | |
CN109726543A (zh) | 一种应用程序的登录方法、装置、终端设备和存储介质 | |
CN110138800A (zh) | 界面交互及其验证方法、登陆请求生成及验证方法和装置 | |
CN113422687B (zh) | 一种验证方法、验证服务器和验证系统 | |
CN104954131A (zh) | 验证码的验证方法和系统 | |
CN112235321A (zh) | 短信验证码防刷方法及装置 | |
CN105245489A (zh) | 验证方法和装置 | |
CN109388934A (zh) | 信息验证方法、装置、计算机设备及存储介质 | |
CN110519269B (zh) | 图文点选数据的验证方法、装置、系统及移动终端 | |
CN110502890B (zh) | 一种验证码的处理方法、装置、电子设备及存储介质 | |
CN109241783A (zh) | 移动终端管控策略的实施方法及装置 | |
CN108460269A (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 |