CN117349817A - 验证码生成及验证方法、装置及电子设备 - Google Patents

验证码生成及验证方法、装置及电子设备 Download PDF

Info

Publication number
CN117349817A
CN117349817A CN202311378714.1A CN202311378714A CN117349817A CN 117349817 A CN117349817 A CN 117349817A CN 202311378714 A CN202311378714 A CN 202311378714A CN 117349817 A CN117349817 A CN 117349817A
Authority
CN
China
Prior art keywords
verification
graph
target
pattern
determining
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.)
Pending
Application number
CN202311378714.1A
Other languages
English (en)
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202311378714.1A priority Critical patent/CN117349817A/zh
Publication of CN117349817A publication Critical patent/CN117349817A/zh
Pending legal-status Critical Current

Links

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种验证码生成及验证方法、装置及电子设备。其中,该方法包括:随机获取与难度等级参数对应的目标数量的目标图形;确定与难度等级参数对应的干扰项参数,并依据干扰项参数和目标图形,生成干扰图形;将目标图形和干扰图形组成验证图形集合,并将验证图形集合发送至前端交互界面进行显示;响应于前端交互界面的目标操作指令,确定目标操作指令所对应的圈选图形,并依据圈选图形和目标图形来判断是否验证通过,其中,圈选图形为验证图形集合中的图形,目标操作指令为目标对象在前端交互界面圈选验证图形集合中图形的指令。本申请解决了由于相关技术中的验证码技术易被破解,造成的系统安全性差的技术问题。

Description

验证码生成及验证方法、装置及电子设备
技术领域
本申请涉及计算机技术与软件开发技术领域,具体而言,涉及一种验证码生成及验证方法、装置及电子设备。
背景技术
验证码是一种用于验证用户身份或防止恶意行为的技术手段,通常以图像、文字、音频等形式呈现给用户,要求用户根据提示进行识别或输入。通过要求用户完成这些任务,来实现区分人类用户和自动化程序(如机器人)的目的。
然而,相关技术中的验证码技术大多数都存在着较容易被机器破解的风险,导致系统的安全性和可靠性差。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种验证码生成及验证方法、装置及电子设备,以至少解决由于相关技术中的验证码技术易被破解,造成的系统安全性差的技术问题。
根据本申请实施例的一个方面,提供了一种验证码生成及验证方法,包括:随机获取与难度等级参数对应的目标数量的目标图形,其中,难度等级参数用于表征验证的难易程度;确定与难度等级参数对应的干扰项参数,并依据干扰项参数和目标图形,生成干扰图形;将目标图形和干扰图形组成验证图形集合,并将验证图形集合发送至前端交互界面进行显示;响应于前端交互界面的目标操作指令,确定目标操作指令所对应的圈选图形,并依据圈选图形和目标图形来判断是否验证通过,其中,圈选图形为验证图形集合中的图形,目标操作指令为目标对象在前端交互界面圈选验证图形集合中图形的指令。
可选地,确定目标操作指令所对应的圈选图形包括:获取目标操作指令在前端交互界面所对应的圈选轨迹;采用射线法,确定前端交互界面中显示的验证图形集合中位于圈选轨迹内的图形,并将位于圈选轨迹内的图形确定为圈选图形。
可选地,获取目标操作指令在前端交互界面所对应的圈选轨迹包括:在监测到第一事件操作的情况下,开始实时记录操作光标的坐标位置信息,其中,第一事件操作是在检测到鼠标按下或者手指触碰触摸屏时生成的;并,在监测到第二事件操作的情况下,停止实时记录操作光标的坐标位置信息,其中,第二事件操作是在检测到鼠标抬起或者手指离开触摸屏时生成的;在第一光标位置信息与第二光标位置信息一致的情况下,依据光标位置信息,确定圈选轨迹。
可选地,确定前端交互界面中显示的验证图形集合中位于圈选轨迹内的图形,并将位于圈选轨迹内的图形确定为圈选图形包括:遍历前端交互界面中验证图形集合中每个图形的像素点,并确定每个像素点是否位于圈选轨迹的内部;确定验证图形集合中每个图形中位于圈选轨迹内部的像素点的数量占该图形的全部像素点的数量的目标比例;在目标比例大于难度等级所对应的比例阈值的情况下,将图形确定为圈选图形。
可选地,确定每个像素点是否位于圈选轨迹的内部包括:以像素点为端点向任意发送一条射线,获取射线与圈选轨迹的交点数量;在交点数量为奇数的情况下,判定像素点位于圈选轨迹的内部,以及在交点数量为偶数的情况下,判定像素点位于圈选轨迹的外部。
可选地,依据圈选图形和目标图形来判断是否验证通过包括:在圈选图形的数量与目标图形的数量不相同的情况下,判定验证失败;在圈选图形的数量与目标图形的数量相同的情况下,判定圈选图形对应的编号与目标图形对应的编号是否完全一致,并在编号完全一致的情况下,判定验证通过;统计验证通过的成功率,并在成功率大于预设成功率阈值的情况下,增大难度等级参数。
可选地,干扰项参数包括以下至少之一:噪点数量、图形颜色、图形扭曲度、图形分布疏密度;依据干扰项参数和目标图形,生成干扰图形包括:依据噪点数量和图形扭曲度,对目标图形进行变形调整,得到干扰图形;以及,依据图形颜色,对目标图形的颜色进行变换,得到干扰图形;以及,按照图形分布疏密度,设置目标图形和干扰图形的排布位置。
根据本申请实施例的另一个方面,还提供了一种验证码生成及验证装置,包括:目标图形选择模块,用于随机获取与难度等级参数对应的目标数量的目标图形,其中,难度等级参数用于表征验证的难易程度;干扰图形生成模块,用于确定与难度等级参数对应的干扰项参数,并依据干扰项参数和目标图形,生成干扰图形;验证码显示模块,用于将目标图形和干扰图形组成验证图形集合,并将验证图形集合发送至前端交互界面进行显示;验证判断模块,用于响应于前端交互界面的目标操作指令,确定目标操作指令所对应的圈选图形,并依据圈选图形和目标图形来判断是否验证通过,其中,圈选图形为验证图形集合中的图形,目标操作指令为目标对象在前端交互界面圈选验证图形集合中图形的指令。
根据本申请实施例的又一方面,还提供了一种电子设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行验证码生成及验证方法。
根据本申请实施例的再一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的计算机程序,其中,非易失性存储介质所在设备通过运行计算机程序执行验证码生成及验证方法。
在本申请实施例中,采用随机获取与难度等级参数对应的目标数量的目标图形,其中,难度等级参数用于表征验证的难易程度;确定与难度等级参数对应的干扰项参数,并依据干扰项参数和目标图形,生成干扰图形;将目标图形和干扰图形组成验证图形集合,并将验证图形集合发送至前端交互界面进行显示;响应于前端交互界面的目标操作指令,确定目标操作指令所对应的圈选图形,并依据圈选图形和目标图形来判断是否验证通过,其中,圈选图形为验证图形集合中的图形,目标操作指令为目标对象在前端交互界面圈选验证图形集合中图形的指令的方式,通过使用圈选的方式进行验证码的验证,达到了有效防止目前大多数技术去识别破解验证码的目的,进而解决了由于相关技术中的验证码技术易被破解,造成的系统安全性差技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种用于实现验证码生成及验证的方法的计算机终端(或电子设备)的硬件结构框图;
图2是根据本申请实施例提供的一种验证码生成及验证的方法流程的示意图;
图3是根据本申请实施例提供的一种验证码生成的流程的示意图;
图4是根据本申请实施例提供的一种难度调节模块的示意图;
图5是根据本申请实施例提供的一种各个模块之间的调用流程的示意图;
图6是根据本申请实施例提供的一种验证码验证的流程的示意图;
图7是根据本申请实施例提供的一种射线法说明的示意图;
图8是根据本申请实施例提供的另一种射线法说明的示意图;
图9是根据本申请实施例提供的又一种射线法说明的示意图;
图10是根据本申请实施例提供的一种验证码生成及验证装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了保护用户的账号安全性,在当前互联网环境中,存在多种验证码技术。目前常见的验证码验证方式有如下几种方式:1)图像验证码:由随机的的数字和字母组成,以图像的形式呈现出来,用户输入图像中的字母和数字进行验证。2)数学验证码:将数学问题和验证码结合在一起的方式进行验证,页面上显示一道简单的数学题,用户通过计算并输入答案进行验证。3)拼图验证码:将图片切割出一部分,用户通过拖动切割出的这部分对图片进行还原的方式进行验证。类似的方法还有滑块验证码,用户将指定图标拖动到正确位置进行验证。4)声音验证码:通过语音提示要求用户读出对应的提示内容进行验证。局限性较大,受周围环境及设备的影响。
然而上述验证方式大多容易被机器破解,例如方式1)、方式2)、方式3),或者需要某些特定条件导致使用条件受到很大的限制,例如方式4)。
为了解决上述问题,本申请实施例中提供了相关的解决方案,以下详细说明。
根据本申请实施例,提供了一种验证码生成及验证的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现验证码生成及验证方法的计算机终端(或电子设备)的硬件结构框图。如图1所示,计算机终端10(或电子设备)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或电子设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的验证码生成及验证方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述验证码生成及验证方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或电子设备)的用户界面进行交互。
在上述运行环境下,本申请实施例提供了一种验证码生成及验证方法,图2是根据本申请实施例提供的一种验证码生成及验证的方法流程的示意图,如图2所示,该方法包括如下步骤:
步骤S202,随机获取与难度等级参数对应的目标数量的目标图形,其中,难度等级参数用于表征验证的难易程度;
步骤S204,确定与难度等级参数对应的干扰项参数,并依据干扰项参数和目标图形,生成干扰图形;
步骤S206,将目标图形和干扰图形组成验证图形集合,并将验证图形集合发送至前端交互界面进行显示;
步骤S208,响应于前端交互界面的目标操作指令,确定目标操作指令所对应的圈选图形,并依据圈选图形和目标图形来判断是否验证通过,其中,圈选图形为验证图形集合中的图形,目标操作指令为目标对象在前端交互界面圈选验证图形集合中图形的指令。
通过上述步骤,通过使用圈选的方式进行验证码的验证,达到了有效防止目前大多数技术去识别破解验证码的目的,进而解决了由于相关技术中的验证码技术易被破解,造成的系统安全性差技术问题。
本申请方案需先设置验证码的难度等级参数,根据难度等级参数获取编号,查询图形库(图形存储模块)中的图形在页面展示出来。用户在进行验证码检验时,检验圈选的图形否在范围内,同时收集用户的验证行为习惯,后续根据收集的用户习惯动态调整验证码难度。下面对本申请实施例的步骤S202至步骤S208中验证码生成及验证方法进一步进行介绍。
首先对验证码生成的流程步骤做进一步介绍,图3是根据本申请实施例提供的一种验证码生成的流程的示意图,如图3所示。
首先需要设置验证码的难度等级参数,在本实施例中,难度等级参数可以由管理员通过调用难度调节模块进行设置,例如,难度等级参数的范围可以取1-100,然后由难度调节参数依据管理员设置的难度等级参数,确定该难度等级对应的各项参数,包括:随机选取的目标图像的目标数量、干扰图形的数量、圈选区域的精确度(例如,位于圈选轨迹内部的像素点的数量占该图形的全部像素点的数量的比例阈值)、干扰项参数等,如图4所示,另外,还可以通过难度调节模块来选择图形存储模块中已有的图形种类来规定验证码图像的图形种类,其中,图形存储模块中按照编号存储有各种验证码图形及干扰项,管理员可以项图形存储模块中添加自定义的图形类型。
在依据难度等级参数生成验证码时,可以先通过编号生成模块依据难度调节模块中设置的难度等级参数随机生成对应的目标数量个编号,然后由验证码生成模块依据编号生成模块随机生成的目标数量个编号在图像存储模块中获取各个编号对应的目标图形;
具体地,图5是根据本申请实施例提供的一种各个模块之间的调用流程的示意图,如图5所示,编号生成模块调用难度调节模块中设置的难度等级参数对应的目标数量,从而获取需要生成编号的个数。编号生成模块生成对应的目标数量个编号,将编号存入缓存中,验证码生成模块调用编号生成模块获取编号,调用图形存储模块获取编号对应的目标图形,并依据与难度等级参数对应的干扰项参数和目标图形,生成干扰图形,给验证码中在验证码中加入干扰项,具体步骤如下。
在本申请的一些实施例中,干扰项参数包括以下至少之一:噪点数量、图形颜色、图形扭曲度、图形分布疏密度;依据干扰项参数和目标图形,生成干扰图形包括以下步骤:依据噪点数量和图形扭曲度,对目标图形进行变形调整,得到干扰图形;以及,依据图形颜色,对目标图形的颜色进行变换,得到干扰图形;以及,按照图形分布疏密度,设置目标图形和干扰图形的排布位置。
作为一种可选的实施方式,还可以根据难度等级参数可随机抽取图形存储模块中的图形作为干扰图形,若难度等级参数较低,可抽取完全不相同的图形,若难度等级参数较高,则可抽取颜色不同但种类一致的图形或抽取颜色相同但图形略微不一致的图形作为干扰图形。
然后,由验证码生成模块依据获取到的目标图形和干扰图形在页面上绘制出对应的最终的验证码,并给出正确的图形,具体地,将目标图形和干扰图形组成验证图形集合,并将验证图形集合作为验证码图形发送至前端交互界面进行显示。
在验证码生成并显示在前端交互界面之后,需要判断用户是否通过验证,图6是根据本申请实施例提供的一种验证码验证的流程的示意图,如图6所示,下面对验证码的验证过程做进一步介绍。
首先,响应于前端交互界面的目标操作指令,确定目标操作指令所对应的圈选图形,具体步骤如下。
在本申请的一些实施例中,确定目标操作指令所对应的圈选图形包括以下步骤:获取目标操作指令在前端交互界面所对应的圈选轨迹;采用射线法,确定前端交互界面中显示的验证图形集合中位于圈选轨迹内的图形,并将位于圈选轨迹内的图形确定为圈选图形。
具体地,在验证码生成并显示在前端交互界面之后,有用户使用手指或鼠标在前端交互界面上圈选出正确的图形,即上述目标图像,此时验证模型需要先确定用户的圈选轨迹,然后将圈选轨迹内的图像确定为用户所选择的圈选图形,其中,确定圈选轨迹的具体步骤如下。
在本申请的一些实施例中,获取目标操作指令在前端交互界面所对应的圈选轨迹包括以下步骤:在监测到第一事件操作的情况下,开始实时记录操作光标的坐标位置信息,其中,第一事件操作是在检测到鼠标按下或者手指触碰触摸屏时生成的;并,在监测到第二事件操作的情况下,停止实时记录操作光标的坐标位置信息,其中,第二事件操作是在检测到鼠标抬起或者手指离开触摸屏时生成的;在第一光标位置信息与第二光标位置信息一致的情况下,依据光标位置信息,确定圈选轨迹。
在本实施例中,上述第一事件操作以mousedown事件为例进行说明,上述第二事件操作以mouseup事件为例进行说明,其中,mousedown事件在鼠标按下时触发mouseup事件在松开鼠标时触发。
具体地,在用户进行圈选操作时可以使用jquery的mousedown事件、mousemove事件和mouseup事件监听器来监听用户的圈选操作,在在监测到第一事件操作的情况下,即用户按下鼠标时触发mousedown事件时,开始准备记录光标的坐标位置信息,用户在按下鼠标后进行鼠标拖动触发mousemove事件,此时实时记录光标的坐标位置信息,并在页面上绘制鼠标拖动的轨迹,直至用户完成圈选轨迹绘制,松开鼠标触发mouseup事件,判断初始位置坐标(即上述第一光标位置信息)和结束位置坐标(即上述第二光标位置信息)是否相同,若相同则判定用户绘制的是完整的封闭图形,即可依据光标位置信息,确定圈选轨迹。
在确定用户绘制的圈选轨迹之后,可以使用射线法来确定位于圈选轨迹范围的图像,以确定圈选图形及其编号,具体步骤如下。
在本申请的一些实施例中,确定前端交互界面中显示的验证图形集合中位于圈选轨迹内的图形,并将位于圈选轨迹内的图形确定为圈选图形包括以下步骤:遍历前端交互界面中验证图形集合中每个图形的像素点,并确定每个像素点是否位于圈选轨迹的内部;确定验证图形集合中每个图形中位于圈选轨迹内部的像素点的数量占该图形的全部像素点的数量的目标比例;在目标比例大于难度等级所对应的比例阈值的情况下,将图形确定为圈选图形。
其中,射线法一种判断一个点是否在多边形内部的方法,从该点发出一条射线与多边形的边相交,若点在多边形内部,发出的射线与多边形的边会有奇数个交点,若点在多边形内部则有偶数个交点,具体步骤如下。
在本申请的一些实施例中,确定每个像素点是否位于圈选轨迹的内部包括以下步骤:以像素点为端点向任意发送一条射线,获取射线与圈选轨迹的交点数量;在交点数量为奇数的情况下,判定像素点位于圈选轨迹的内部,以及在交点数量为偶数的情况下,判定像素点位于圈选轨迹的外部。
举例说明,假设用户画了一个三角形的圈选轨迹,分别记录了三角形的三个顶点ABC,点P是用户圈选出的图形中的一个像素点,则判断点P是否在三角形ABC的范围内的过程如下。
若P的坐标为(x,y),可以从P点沿着X轴正方向发出一条射线,计算射线和三角形AB、BC、CA的交点,若交点的数量为奇数,那么点P就在三角形内部,如图7所示,若交点数量为偶数,那么点P就在三角形外部,如图8所示。若用户所圈选的圈选轨迹为其他复杂图形,在在图形内部的点所发射的射线与圈选轨迹的交点同样永远都为奇数个,如图9所示。
在确定出用户选择的圈选图形之后,需要通过比较圈选图形和目标图形来判断是否验证通过,具体步骤如下。
在本申请的一些实施例中,依据圈选图形和目标图形来判断是否验证通过包括以下步骤:在圈选图形的数量与目标图形的数量不相同的情况下,判定验证失败;在圈选图形的数量与目标图形的数量相同的情况下,判定圈选图形对应的编号与目标图形对应的编号是否完全一致,并在编号完全一致的情况下,判定验证通过;统计验证通过的成功率,并在成功率大于预设成功率阈值的情况下,增大难度等级参数。
具体地,将在用户圈选轨迹范围内的圈选图形对应的编号和缓存中目标图形对应的编号进行比对,可以先比对圈选图形的编号的数量与目标图像的编号数量,若编号数量不一致,即圈选图形的数量与目标图形的数量不相同的情况下,判定验证失败,若编号数量一致,则比对编号是否一致,若编号一致,则判定验证通过。
作为一种可选的实施方式,在用户每次圈选完验证码之后,还可以通过调用用户行为收集模块来记录用户输入的验证码信息验证通过的成功率,并调用难度调节模块依据该成功率动态调整验证码的难度等级参数,例如,难度调节模块根据用户输入验证码验证通过的成功率自动调整难度参数,若用户多次验证通过,可以逐渐增加难度等级参数,提高验证的难度。
本申请方案可应用于各类系统的登录界面,通过圈选的方式增加了验证的复杂度和难度使得验证码更难以被机器破解,提高了系统安全性,降低了被破解的风险;将验证码和用户的实际操作相结合增加了验证的趣味性,可配置化图形的验证码显示方式给用户提供了新颖且有趣的验证体验,增加了趣味性,通过圈选这种简单的手势操作来完成验证,更加的直观便捷,提高了用户的使用体验。
根据本申请实施例,还提供了一种验证码生成及验证装置的实施例。图10是根据本申请实施例提供的一种验证码生成及验证装置的结构示意图。如图10所示,该装置包括:
目标图形选择模块100,用于随机获取与难度等级参数对应的目标数量的目标图形,其中,难度等级参数用于表征验证的难易程度;
干扰图形生成模块102,用于确定与难度等级参数对应的干扰项参数,并依据干扰项参数和目标图形,生成干扰图形;
可选地,干扰项参数包括以下至少之一:噪点数量、图形颜色、图形扭曲度、图形分布疏密度;依据干扰项参数和目标图形,生成干扰图形包括:依据噪点数量和图形扭曲度,对目标图形进行变形调整,得到干扰图形;以及,依据图形颜色,对目标图形的颜色进行变换,得到干扰图形;以及,按照图形分布疏密度,设置目标图形和干扰图形的排布位置。
验证码显示模块104,用于将目标图形和干扰图形组成验证图形集合,并将验证图形集合发送至前端交互界面进行显示;
验证判断模块106,用于响应于前端交互界面的目标操作指令,确定目标操作指令所对应的圈选图形,并依据圈选图形和目标图形来判断是否验证通过,其中,圈选图形为验证图形集合中的图形,目标操作指令为目标对象在前端交互界面圈选验证图形集合中图形的指令。
可选地,确定目标操作指令所对应的圈选图形包括:获取目标操作指令在前端交互界面所对应的圈选轨迹;采用射线法,确定前端交互界面中显示的验证图形集合中位于圈选轨迹内的图形,并将位于圈选轨迹内的图形确定为圈选图形。
可选地,获取目标操作指令在前端交互界面所对应的圈选轨迹包括:在监测到第一事件操作的情况下,开始实时记录操作光标的坐标位置信息,其中,第一事件操作是在检测到鼠标按下或者手指触碰触摸屏时生成的;并,在监测到第二事件操作的情况下,停止实时记录操作光标的坐标位置信息,其中,第二事件操作是在检测到鼠标抬起或者手指离开触摸屏时生成的;在第一光标位置信息与第二光标位置信息一致的情况下,依据光标位置信息,确定圈选轨迹。
可选地,确定前端交互界面中显示的验证图形集合中位于圈选轨迹内的图形,并将位于圈选轨迹内的图形确定为圈选图形包括:遍历前端交互界面中验证图形集合中每个图形的像素点,并确定每个像素点是否位于圈选轨迹的内部;确定验证图形集合中每个图形中位于圈选轨迹内部的像素点的数量占该图形的全部像素点的数量的目标比例;在目标比例大于难度等级所对应的比例阈值的情况下,将图形确定为圈选图形。
可选地,确定每个像素点是否位于圈选轨迹的内部包括:以像素点为端点向任意发送一条射线,获取射线与圈选轨迹的交点数量;在交点数量为奇数的情况下,判定像素点位于圈选轨迹的内部,以及在交点数量为偶数的情况下,判定像素点位于圈选轨迹的外部。
可选地,依据圈选图形和目标图形来判断是否验证通过包括:在圈选图形的数量与目标图形的数量不相同的情况下,判定验证失败;在圈选图形的数量与目标图形的数量相同的情况下,判定圈选图形对应的编号与目标图形对应的编号是否完全一致,并在编号完全一致的情况下,判定验证通过;统计验证通过的成功率,并在成功率大于预设成功率阈值的情况下,增大难度等级参数。
本申请方案适用于目前大多数的应用场景,采用可动态调节难度的方式生成验证码。用户通过圈选页面上展示出的图形中正确的图形进行验证。相较于相关技术中的验证方式,趣味性较高且难以被机器破解,提高了系统的安全性。
需要说明的是,上述验证码生成及验证装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
需要说明的是,本实施例中所提供的验证码生成及验证装置可用于执行图2所示的验证码生成及验证方法,因此,对上述验证码生成及验证方法的相关解释说明也适用于本申请实施例中,在此不再赘述。
本申请实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的计算机程序,其中,非易失性存储介质所在设备通过运行计算机程序执行以下验证码生成及验证方法:随机获取与难度等级参数对应的目标数量的目标图形,其中,难度等级参数用于表征验证的难易程度;确定与难度等级参数对应的干扰项参数,并依据干扰项参数和目标图形,生成干扰图形;将目标图形和干扰图形组成验证图形集合,并将验证图形集合发送至前端交互界面进行显示;响应于前端交互界面的目标操作指令,确定目标操作指令所对应的圈选图形,并依据圈选图形和目标图形来判断是否验证通过,其中,圈选图形为验证图形集合中的图形,目标操作指令为目标对象在前端交互界面圈选验证图形集合中图形的指令。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种验证码生成及验证方法,其特征在于,包括:
随机获取与难度等级参数对应的目标数量的目标图形,其中,所述难度等级参数用于表征验证的难易程度;
确定与所述难度等级参数对应的干扰项参数,并依据所述干扰项参数和所述目标图形,生成干扰图形;
将所述目标图形和所述干扰图形组成验证图形集合,并将所述验证图形集合发送至前端交互界面进行显示;
响应于所述前端交互界面的目标操作指令,确定所述目标操作指令所对应的圈选图形,并依据所述圈选图形和所述目标图形来判断是否验证通过,其中,所述圈选图形为所述验证图形集合中的图形,所述目标操作指令为目标对象在所述前端交互界面圈选所述验证图形集合中图形的指令。
2.根据权利要求1所述的验证码生成及验证方法,其特征在于,确定所述目标操作指令所对应的圈选图形包括:
获取所述目标操作指令在所述前端交互界面所对应的圈选轨迹;
采用射线法,确定所述前端交互界面中显示的所述验证图形集合中位于所述圈选轨迹内的图形,并将位于所述圈选轨迹内的图形确定为所述圈选图形。
3.根据权利要求2所述的验证码生成及验证方法,其特征在于,获取所述目标操作指令在所述前端交互界面所对应的圈选轨迹包括:
在监测到第一事件操作的情况下,开始实时记录操作光标的坐标位置信息,其中,所述第一事件操作是在检测到鼠标按下或者手指触碰触摸屏时生成的;并,
在监测到第二事件操作的情况下,停止实时记录操作光标的坐标位置信息,其中,所述第二事件操作是在检测到鼠标抬起或者手指离开触摸屏时生成的;
在第一光标位置信息与第二光标位置信息一致的情况下,依据所述光标位置信息,确定所述圈选轨迹。
4.根据权利要求2所述的验证码生成及验证方法,其特征在于,确定所述前端交互界面中显示的所述验证图形集合中位于所述圈选轨迹内的图形,并将位于所述圈选轨迹内的图形确定为所述圈选图形包括:
遍历所述前端交互界面中所述验证图形集合中每个图形的像素点,并确定每个所述像素点是否位于所述圈选轨迹的内部;
确定所述验证图形集合中每个图形中位于所述圈选轨迹内部的像素点的数量占该图形的全部像素点的数量的目标比例;
在所述目标比例大于所述难度等级所对应的比例阈值的情况下,将所述图形确定为所述圈选图形。
5.根据权利要求4所述的验证码生成及验证方法,其特征在于,确定每个所述像素点是否位于所述圈选轨迹的内部包括:
以所述像素点为端点向任意发送一条射线,获取所述射线与所述圈选轨迹的交点数量;
在所述交点数量为奇数的情况下,判定所述像素点位于所述圈选轨迹的内部,以及在所述交点数量为偶数的情况下,判定所述像素点位于所述圈选轨迹的外部。
6.根据权利要求1所述的验证码生成及验证方法,其特征在于,依据所述圈选图形和所述目标图形来判断是否验证通过包括:
在所述圈选图形的数量与所述目标图形的数量不相同的情况下,判定验证失败;
在所述圈选图形的数量与所述目标图形的数量相同的情况下,判定所述圈选图形对应的编号与所述目标图形对应的编号是否完全一致,并在所述编号完全一致的情况下,判定验证通过;
统计验证通过的成功率,并在所述成功率大于预设成功率阈值的情况下,增大所述难度等级参数。
7.根据权利要求6所述的验证码生成及验证方法,其特征在于,所述干扰项参数包括以下至少之一:噪点数量、图形颜色、图形扭曲度、图形分布疏密度;依据所述干扰项参数和所述目标图形,生成干扰图形包括:
依据所述噪点数量和所述图形扭曲度,对所述目标图形进行变形调整,得到所述干扰图形;以及,
依据所述图形颜色,对所述目标图形的颜色进行变换,得到所述干扰图形;以及,
按照所述图形分布疏密度,设置所述目标图形和所述干扰图形的排布位置。
8.一种验证码生成及验证装置,其特征在于,包括:
目标图形选择模块,用于随机获取与难度等级参数对应的目标数量的目标图形,其中,所述难度等级参数用于表征验证的难易程度;
干扰图形生成模块,用于确定与所述难度等级参数对应的干扰项参数,并依据所述干扰项参数和所述目标图形,生成干扰图形;
验证码显示模块,用于将所述目标图形和所述干扰图形组成验证图形集合,并将所述验证图形集合发送至前端交互界面进行显示;
验证判断模块,用于响应于所述前端交互界面的目标操作指令,确定所述目标操作指令所对应的圈选图形,并依据所述圈选图形和所述目标图形来判断是否验证通过,其中,所述圈选图形为所述验证图形集合中的图形,所述目标操作指令为目标对象在所述前端交互界面圈选所述验证图形集合中图形的指令。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的验证码生成及验证方法。
10.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的计算机程序,其中,所述非易失性存储介质所在设备通过运行所述计算机程序执行权利要求1至7中任意一项所述验证码生成及验证方法。
CN202311378714.1A 2023-10-23 2023-10-23 验证码生成及验证方法、装置及电子设备 Pending CN117349817A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311378714.1A CN117349817A (zh) 2023-10-23 2023-10-23 验证码生成及验证方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311378714.1A CN117349817A (zh) 2023-10-23 2023-10-23 验证码生成及验证方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN117349817A true CN117349817A (zh) 2024-01-05

Family

ID=89357254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311378714.1A Pending CN117349817A (zh) 2023-10-23 2023-10-23 验证码生成及验证方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN117349817A (zh)

Similar Documents

Publication Publication Date Title
CN108881126B (zh) 验证验证码的方法、装置、系统、存储介质和计算机终端
CN109782989B (zh) 安全验证方法及相关装置
CN111957040A (zh) 遮挡位置的检测方法、装置、处理器及电子装置
CN107682368B (zh) 基于交互操作的验证方法、客户端、服务器及系统
CN109316747B (zh) 游戏辅助信息提示方法、装置及电子设备
CN103873455B (zh) 一种信息校验的方法及装置
EP3230920B1 (en) Method for recognizing if a user of an electronic terminal is a human or a robot
CN111241517A (zh) 一种生物特征验证问答库的构建方法和装置
CN113190109A (zh) 头戴式显示设备的输入控制方法、装置及头戴式显示设备
CN109933971A (zh) 一种基于验证码的验证方法、装置、电子设备及存储介质
CN113918898A (zh) 基于轨迹绘制交互的安全验证码生成方法、系统及介质
CN106504001A (zh) 一种vr环境中的支付方法及装置
CN111367402B (zh) 任务触发方法、交互设备及计算机设备
CN111090849A (zh) 存储器、验证码实现方法、装置和设备
CN111966268B (zh) 界面显示方法、装置及电子设备
CN109413004B (zh) 验证方法、装置及设备
CN111859322A (zh) 身份验证方法、装置和电子设备
CN112818319A (zh) 图形验证码的验证方法、装置、电子设备及存储介质
CN117349817A (zh) 验证码生成及验证方法、装置及电子设备
CN107562346A (zh) 终端控制方法、装置、终端及计算机可读存储介质
US11803630B2 (en) Method and apparatus for providing CAPTCHA system
CN115906028A (zh) 用户身份验证方法、装置和自助服务终端
CN110087235B (zh) 一种身份认证、认证方式调整的方法及装置
CN110322289A (zh) 一种反作弊检测方法、装置、服务器、终端和存储介质
CN111625805A (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