CN113158167B - 验证码实现方法及电子设备和计算机可读存储介质 - Google Patents
验证码实现方法及电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113158167B CN113158167B CN202110486317.0A CN202110486317A CN113158167B CN 113158167 B CN113158167 B CN 113158167B CN 202110486317 A CN202110486317 A CN 202110486317A CN 113158167 B CN113158167 B CN 113158167B
- Authority
- CN
- China
- Prior art keywords
- verification code
- picture
- sub
- target
- information
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 404
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000000875 corresponding effect Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 11
- 230000002596 correlated effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 239000000463 material Substances 0.000 claims description 4
- 230000036544 posture Effects 0.000 description 50
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000005336 cracking Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000019771 cognition Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种验证码实现方法、装置及一种电子设备和计算机可读存储介质,该方法包括:确定原始验证码图片,并对原始验证码图片进行拆解得到多个尺寸相同的子图;基于原始验证码图片中每个子图的属性信息初始化原始验证码图片序列信息,其中,属性信息包括位置信息和姿态信息;对至少两个子图进行位置互换和/或对至少一个子图的姿态进行调整得到目标验证码图片,基于目标验证码图片中每个子图的属性信息得到标准图片序列信息;将目标验证码图片发送至客户端进行展示;接收客户端发送的待验证图片序列信息;对比待验证图片序列信息与标准图片序列信息以确认验证结果。由此可见,本申请提供的验证码实现方法,提高了验证码的机器突破难度。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及验证码实现方法及电子设备和计算机可读存储介质。
背景技术
在相关技术中,可以通过基于滑块的滑动验证码进行验证码的实现,具体方案为:在服务器上给定一张背景图片,并随机在背景图片中的某个位置抠取特定形状的图像作为可滑动的子图,在客户端上将可滑动的子图随机放置到背景图片的某个起始位置,用户需要根据可滑动的子图,以及被抠取后的原背景图信息,将子图手动滑动到正确的被抠取位置,客户端将用户操作的信息上报到服务器,服务器进行答案和行为的验证。
在上述方案中,由于基于滑块的滑动验证码形状特点十分明显,机器可以通过训练好的图像识别和检测算法,检测识别到抠取的位置,进而直接通过机器模拟人操作子图滑动到正确的位置,机器突破难度较低。
可见,相关技术中的验证码实现方案至少存在如下技术问题:机器突破难度较低。
发明内容
本申请的目的在于提供一种验证码实现方法及一种电子设备和一种计算机可读存储介质,提高了验证码的机器破解难度。
为实现上述目的,本申请第一方面提供了一种验证码实现方法,应用于服务器,包括:
确定原始验证码图片,并对所述原始验证码图片进行拆解得到多个子图,其中,所有所述子图的尺寸相同;
基于所述原始验证码图片中每个所述子图的属性信息初始化原始验证码图片序列信息,其中,所述属性信息包括位置信息和姿态信息;
对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到目标验证码图片,基于所述目标验证码图片中每个子图的属性信息得到标准图片序列信息;
将所述目标验证码图片发送至客户端进行展示;
接收所述客户端发送的待验证图片序列信息,所述客户端根据接收到的调整命令调整初始化的目标验证码图片序列信息,得到所述待验证图片序列信息;
对比所述待验证图片序列信息与所述标准图片序列信息以确认验证结果。
为实现上述目的,本申请第二方面提供了一种验证码实现方法,应用于客户端,包括:
接收服务器发送的目标验证码图片并进行展示;其中,所述目标验证码图片中包括多个尺寸相同的子图;
基于所述目标验证码图片中每个所述子图的属性信息初始化目标验证码图片序列信息;其中,所述属性信息包括位置信息和姿态信息;
根据接收到的调整命令对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到待验证验证码图片,并基于所述待验证验证码图片中每个子图的属性信息得到待验证图片序列信息;
将所述待验证图片序列信息发送至服务器进行验证。
为实现上述目的,本申请第三方面提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述验证码实现方法的步骤。
为实现上述目的,本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述验证码实现方法的步骤。
通过以上方案可知,本申请提供的一种验证码实现方法,包括:确定原始验证码图片,并对所述原始验证码图片进行拆解得到多个子图,其中,所有所述子图的尺寸相同;基于所述原始验证码图片中每个所述子图的属性信息初始化原始验证码图片序列信息,其中,所述属性信息包括位置信息和姿态信息;对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到目标验证码图片,基于所述目标验证码图片中每个子图的属性信息得到标准图片序列信息;将所述目标验证码图片发送至客户端进行展示;接收所述客户端发送的待验证图片序列信息,所述客户端根据接收到的调整命令调整初始化的目标验证码图片序列信息,得到所述待验证图片序列信息;对比所述待验证图片序列信息与所述标准图片序列信息以确认验证结果。
本申请提供的验证码实现方法,将原始验证码图片拆解为多个尺寸相同的子图,任意两个子图可以进行位置互换,任意子图也可以进行姿态的旋转,通过多子图的组合操作将原始验证码图片调整为目标验证码图片,并对应调整原始验证码图片中各子图的属性信息生成标准图片序列信息,客户端展示的为调整后的目标验证码图片。由于每个子图均存在多种不同的属性信息,其中包括位置信息和姿态信息,因此调整后生成的标准图片序列信息存在更多种可能的状态,也即调整方式存在众多的可能性,机器破解原始验证码图片调整为目标验证码图片的调整方式的可能性较低,因此破解得到标准图片序列信息的可能性较低。由此可见,本申请提供的验证码实现方法,摆脱了传统验证码以信息识别、检测、输入的固有模式,引入了更多人类相关的认知和判断知识,借助人类的识别和逻辑判断能力,在不提高真人验证难度的基础上,提高了机器突破难度。本申请还公开了一种验证码实现装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为本申请实施例提供的一种验证码实现系统的架构图;
图2为本申请实施例提供的一种验证码实现方法的流程图;
图3为图2中步骤S101-S104的图文说明图;
图4为图2中步骤S105-S107的图文说明图
图5为本申请实施例提供的另一种验证码实现方法的流程图;
图6为本申请实施例提供的又一种验证码实现方法的流程图;
图7为本申请应用实施例提供的一种客户端展示的目标验证码图片的示意图;
图8为本申请应用实施例提供的另一种客户端展示的目标验证码图片的示意图;
图9为本申请应用实施例提供的一种客户端交换子图位置的示意图;
图10为本申请应用实施例提供的一种客户端调整子图姿态的示意图;
图11为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请提供的验证码实现方法,下面对其使用的系统进行介绍。参见图1,其示出了本申请实施例提供的一种验证码实现系统的架构图,如图1所示,包括服务器10和客户端20。
服务器10用于生成目标验证码和标准图片序列信息,具体的,确定原始验证码图片,并对所述原始验证码图片进行拆解得到多个子图,其中,所有所述子图的尺寸相同;基于所述原始验证码图片中每个所述子图的属性信息初始化原始验证码图片序列信息,其中,所述属性信息包括位置信息和姿态信息;对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到目标验证码图片,基于所述目标验证码图片中每个子图的属性信息得到标准图片序列信息。服务器10将目标验证码图片通过网络发送至客户端20。
客户端20可以包括PC(中文全称:个人计算机,英文全称:Personal Computer)等固定终端和手机等移动终端,客户端20向用户展示目标验证码图片,用户在客户端20上调整目标验证码图片中的子图,客户端根据接收到的调整命令对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到待验证验证码图片,并基于所述待验证验证码图片中每个子图的属性信息得到待验证图片序列信息。客户端20将待验证图片序列信息通过网络发送至服务器10。
服务器10还用于对待验证图片序列信息进行验证,具体的,对比待验证图片序列信息与标准图片序列信息是否一致,若一致,则验证通过,否则验证未通过。服务器10向客户端20返回验证结果,客户端20向用户进行展示。
本申请实施例公开了一种验证码实现方法,提高了验证码的机器破解难度。
参见图2、图3和图4,图2为本申请实施例提供的一种验证码实现方法的流程图,图3为图2中步骤S101-S104的图文说明图,图4为图2中步骤S105-S107的图文说明图。
如图2所示,本申请实施例公开的验证码实现方法包括:
S101:服务器确定原始验证码图片,并对所述原始验证码图片进行拆解得到多个子图;其中,所有所述子图的尺寸相同;
本实施例的执行主体为上述验证码实现系统中的服务器。在本步骤中,服务器首先确定原始验证码图片,作为一种可行的实施方式,所述确定原始验证码图片,包括:从素材库中选择基础图片,并在所述基础图片中裁剪出原始验证码图片。在具体实施中,从素材库中随机选择一张图片作为基础图片,对基础图片随机裁剪一块区域作为原始验证码图片。
其次,根据难度和产品需求将原始验证码图片拆解为多个尺寸相同的子图,使得任意两个子图可以进行位置互换,任意子图也可以进行姿态的旋转,本实施例不对具体的拆解方式进行限定,作为一种可行的实施方式,可以拆解为N行M列,总共的子图数量为N×M个,例如,可以拆解为3×3共9个子图。
S102:服务器基于所述原始验证码图片中每个所述子图的属性信息初始化原始验证码图片序列信息;其中,所述属性信息包括位置信息和姿态信息;
在本步骤中,服务器首先对原始验证码图片中的每个子图进行属性信息的绑定,此处的属性信息可以包括位置信息和姿态信息。其次,基于每个子图绑定的属性信息初始化原始验证码图片序列信息,原始验证码图片序列信息中的各标识与各子图的状态信息一一对应。
在具体实施中,若原始验证码图片拆解为N×M个子图,则可以根据从上至下、从左至右的顺序,依次给子图进行位置信息或者姿态信息的绑定。如果进行位置信息绑定,则原始验证码图片序列信息为1、2、3、…、N、N+1、…、N×M。如果进行姿态信息绑定,可以定义子图的不同姿态对应的标识,例如,不转动使用0标识,顺时针转动90度使用1标识,顺时针转动180度使用2标识,顺时针转动270度使用3标识,则原始验证码图片序列信息为0、0、0、…、0,共N×M维。
S103:服务器对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到目标验证码图片,基于所述目标验证码图片中每个子图的属性信息得到标准图片序列信息;
在本步骤中,服务器按照预设方式调整原始验证码图片中子图的位置或姿态或上述两者,并对应调整原始验证码图片序列信息中的标识。如果子图进行位置信息绑定,则可以进行子图位置的交换,并对应交换原始验证码图片序列信息中表示位置信息的标识。也即,当某两个子图的位置被交换时,它们在原始验证码图片序列信息中对应的标识也会被交换。例如如图3所示,交换第3个子图和第5个子图的位置,则对应的标准图片序列信息为:1、2、5、4、3、6、7、8、9。由于理论上每个子图可以出现在图片序列中的任意一个位置,根据排列组合的数学理论,最多可能出现N×M!种可能的状态,理论上被随机碰撞破解的概率极低。
如果子图进行姿态信息绑定,则可以进行子图姿态的变换,并对应变换原始验证码图片序列信息中表示姿态信息的标识。也即,当某个子图的姿态调整时,其姿态信息也会随之变化。例如如图3所示,将第5个子图顺时针旋转180度,则对应的标准图片序列信息为:0、0、0、0、2、0、0、0、0。在上一步骤举出的定义标识的例子中,理论上每个子图存在四种姿态,因此N×M个子图的图像存在4N×M种可能的状态,理论上被随机碰撞破解的概率极低。
S104:服务器将所述目标验证码图片发送至客户端;
在本步骤中,服务器将生成的目标验证码图片发送至客户端,作为一种可行的实施方式,服务器可以以图片序列的方式向客户端发送目标验证码图片,即服务器将目标验证码图片的各子图按照预设顺序构建为图片序列,并将该图片序列发送至客户端。若原始验证码图片拆解为N×M个子图,则可以按照从上至下、从左至右的顺序构建图片序列。
作为一种优选实施方式,本步骤可以包括:将所述目标验证码图片和提示信息发送至客户端;其中,所述提示信息包括所述目标验证码图片的缩略图。在具体实施中,为了高难度情况下保证用户的体验,可以生成一个目标验证码图片的缩略图,让用户更清楚的知道操作的思路,起到提示作用。更为优选的,将所述目标验证码图片和提示信息发送至客户端,包括:对所述目标验证码图片的缩略图进行干扰处理得到目标缩略图;将所述目标验证码图片和所述目标缩略图发送至客户端。在具体实施中,为了避免被恶意组织通过答案提示缩略图进行机器破解,还需要对目标验证码图片的缩略图进行额外干扰处理,例如旋转、仿射变换、加噪声、模糊等,以降低验证码被破解的风险。
S105:客户端接收服务器发送的目标验证码图片并进行展示;
在本步骤中,客户端对接收到的目标验证码图片进行展示,若接收到的是图片序列,则按照上述预设顺序展示图片序列中的各子图。例如,按照从上至下、从左至右的顺序排列展示图片序列中的各子图。
S106:客户端基于所述目标验证码图片中每个所述子图的属性信息初始化目标验证码图片序列信息;
在本步骤中,客户端基于目标验证码图片中每个子图的属性信息初始化目标验证码图片序列信息。可以理解的是,客户端初始化目标验证码图片对应的图片序列信息与服务器初始化原始验证码图片对应的图片序列信息的过程类似,在此不在赘述。
S107:客户端根据接收到的调整命令对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到待验证验证码图片,并基于所述待验证验证码图片中每个子图的属性信息得到待验证图片序列信息;
在具体实施中,用户可以在客户端上调整目标验证码图片中的子图。对于交换子图位置操作形式的验证码,用户可以拖动任意一个子图与另一个子图进行位置互换,同时客户端对应的将目标验证码图片序列信息中两个子图对应的位置同时进行互换。例如如图4所示,用户拖动第5个子图与第3个子图互换,则此时的图片序列信息为:1、2、5、4、3、6、7、8、9。对于调整子图姿态操作形式的验证码,用户可以任意点击子图进行姿态调整,对于步骤S102中举出的定义标识的例子,每个子图姿态信息的标识包括0、1、2、3中的一种,分别对应顺时针旋转0度、90度、180度和270度。在本步骤中,用户每点击一次子图,子图姿态逆时针旋转90度,对应的标识减1,若标识小于0,则恢复为3。例如,用户点击第2个子图2次、第3个子图1次、第4个子图3次、第5个子图5次,则此时的图片序列信息为:0、2、3、1、3、0、0、0、0。
进一步的,为了提升用户体验,避免用户开始的操作错误导致图片矩阵排列错乱更加严重,还可以需要提供一个一键复原到初始状态的功能,让用户可以从刚开始相对简单的状态开始操作,提升整个验证形式的体验性。即本实施例还包括:若客户端接收到一键复原命令,则将当前显示的验证码图片恢复为所述目标验证码图片。
S108:客户端将所述待验证图片序列信息发送至服务器;
在本步骤中,当用户点击确认以后,客户端将用户操作后的当前图片序列即待验证图片序列信息发送至服务器,等待服务器的验证。
S109:服务器接收所述客户端发送的待验证图片序列信息,并对比所述待验证图片序列信息与所述标准图片序列信息以确认验证结果。
在本步骤中,服务器对比标准图片序列信息与待校验图片序列信息是否一致,若一致,则验证通过,否则验证未通过。服务器10向客户端返回验证结果,客户端向用户进行展示。如果错误次数过多,可以通过客户端提示过一段时间后重试。
在本实施例的基础上,作为一种优选实施方式,所述基于所述目标验证码图片中每个所述子图的属性信息得到标准图片序列信息之后,还包括:将所述标准图片序列信息转换为标准字符串进行存储;相应的,所述接收所述客户端发送的待验证图片序列信息,包括:接收所述客户端发送的待验证字符串,所述客户端将所述待验证图片序列信息转换为所述待验证字符串;相应的,所述对比所述待验证图片序列信息与所述标准图片序列信息以确认验证结果,包括:对比所述待验证字符串与所述标准字符串进行存储以确认验证结果。在具体实施中,由于标准图片序列信息和待验证图片序列信息均为一组N×M维的向量,为了方便验证,可以将N×M维的向量转化为一个长度为N×M个元素的字符串。验证时只需要对比两个字符串即标准字符串和待验证字符串是否完全一致即可,字符串的对比提高了验证效率。
本申请实施例提供的验证码实现方法,将原始验证码图片拆解为多个尺寸相同的子图,任意两个子图可以进行位置互换,任意子图也可以进行姿态的旋转,通过多子图的组合操作将原始验证码图片调整为目标验证码图片,并对应调整原始验证码图片中各子图的属性信息生成标准图片序列信息,客户端展示的为调整后的目标验证码图片。由于每个子图均存在多种不同的属性信息,其中包括位置信息和姿态信息,因此调整后生成的标准图片序列信息存在更多种可能的状态,也即调整方式存在众多的可能性,机器破解原始验证码图片调整为目标验证码图片的调整方式的可能性较低,因此破解得到标准图片序列信息的可能性较低。由此可见,本申请实施例提供的验证码实现方法,摆脱了传统验证码以信息识别、检测、输入的固有模式,引入了更多人类相关的认知和判断知识,借助人类的识别和逻辑判断能力,在不提高真人验证难度的基础上,提高了机器突破难度。
本申请实施例公开了一种验证码实现方法,相对于上述实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图5,本申请实施例提供的另一种验证码实现方法的流程图,如图5所示,包括:
S201:服务器确定原始验证码图片,并对所述原始验证码图片进行拆解得到多个子图;其中,所有所述子图的尺寸相同;
S202:服务器为所述原始验证码图片中的每个子图分配对应的标识作为位置信息,并基于每个所述子图的位置信息初始化原始验证码图片序列信息;
在本实施例中,服务器为原始验证码图片中的不同子图分配不同的标识,用于表示每个子图的位置信息,并基于每个子图的标识初始化原始验证码图片序列信息。例如,原始验证码图片拆解为N×M个子图,则可以根据从上至下、从左至右的顺序,依次给子图分配对应的标识,原始验证码图片序列信息为1、2、3、…、N、N+1、…、N×M。
S203:服务器确定难度等级,基于所述难度等级确定需要进行位置互换的第一子图数量;其中,所述第一子图数量与所述难度等级呈正相关;
在具体实施中,难度等级决定了需要交换的子图的数量。作为一种可行的实施方式,难度等级可以表示需要交换的子图的对数,也即难度等级为1,服务器随机选择一对子图进行位置交换,难度等级为n,服务器随机选择n对子图进行位置交换。例如,难度等级为2,首先交换第2个子图和第4个子图的位置,则对应的图片序列信息调整为:1、4、3、2、…、N、N+1、…、N×M,然后交换当前的第4个子图和第5个子图的位置,得到的标准图片序列信息为:1、4、3、5、2、…、N、N+1、…、N×M。作为一种可行的实施方式,难度等级可以表示需要交换的子图的数量,例如难度等级为3,服务器随机选择三个子图进行位置交换。
S204:根据所述第一子图数量在所述原始验证码图片中选取对应的第一目标子图进行位置互换得到目标验证码图片,并对应调整所述原始验证码图片序列信息中所述第一目标子图的位置信息得到标准图片序列信息;
在本步骤中,服务器在原始验证码图片中选取第一子图数量个子图进行位置交换,并对应交换原始验证码图片序列信息中子图的位置信息。例如,交换第2个子图和第4个子图的位置,则对应的标准图片序列信息为:1、4、3、2、…、N、N+1、…、N×M。
S205:服务器将所述目标验证码图片发送至客户端;
S206:客户端接收服务器发送的目标验证码图片并进行展示;
S207:客户端为所述目标验证码图片中的每个子图分配对应的标识作为位置信息,并基于每个所述子图的位置信息初始化目标验证码图片序列信息;
S208:客户端根据接收到的调整命令交换所述目标验证码图片中两个子图的位置得到待验证验证码图片,并对应交换所述目标验证码图片序列信息中两个子图的位置信息得到待验证图片序列信息;
S209:客户端将所述待验证图片序列信息发送至服务器;
S210:服务器接收所述客户端发送的待验证图片序列信息,并对比所述待验证图片序列信息与所述标准图片序列信息以确认验证结果。
在具体实施中,若待验证图片序列信息与标准图片序列信息不一致,则验证错误,此时需要重新验证,即重新生成目标验证码图片和对应的标准图片序列信息。作为一种优选实施方式,若验证错误的次数达到预设值,则增加位置互换的子图数量,也即增加上述第一子图数量。其中,位置互换的子图数量即第一子图数量与验证错误的次数呈正相关,也即错误次数越多,验证的难度等级越高。例如,最初的难度等级为1,服务器交换原始验证码图片中一对子图的位置得到目标验证码图片,若验证错误次数达到5次,则服务器需要重新交换原始验证码图片中两对子图的位置得到目标验证码图片,若验证错误次数达到6次,则服务器需要重新交换原始验证码图片中三对子图的位置得到目标验证码图片,以此类推。
本申请实施例提供的验证码实现方法,将原始验证码图片拆解为多个尺寸相同的子图,通过多子图的交换操作将原始验证码图片调整为目标验证码图片,并对应调整原始验证码图片中各子图的位置信息生成标准图片序列信息,客户端展示的为调整后的目标验证码图片。由于每个子图可以存在于验证码图片的任意位置,因此调整后生成的标准图片序列信息存在阶乘级的可能性,机器破解得到标准图片序列信息的可能性较低,提高了机器突破难度。
本申请实施例公开了一种验证码实现方法,相对于上述实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图6,本申请实施例提供的又一种验证码实现方法的流程图,如图6所示,包括:
S301:服务器确定原始验证码图片,并对所述原始验证码图片进行拆解得到多个子图;其中,所有所述子图的尺寸相同;
S302:服务器将所述原始验证码图片中的每个子图的姿态信息设置为初始值,并基于每个所述子图的姿态信息初始化原始验证码图片序列信息;
在本实施例中,服务器将原始验证码图片中的每个子图的姿态信息设置为初始值,并基于每个子图的姿态信息初始化原始验证码图片序列信息,例如,初始值为0,原始验证码图片序列信息为0、0、0、…、0,共N×M维。
S303:服务器确定难度等级,基于所述难度等级确定需要进行姿态调整的第二子图数量;其中,所述第二子图数量与所述难度等级呈正相关;
在具体实施中,难度等级决定了需要进行姿态调整的子图的数量,即难度等级为1,服务器随机选择一个子图进行姿态调整,难度等级为n,服务器随机选择n个子图进行姿态调整。
S304:服务器根据所述第二子图数量在所述原始验证码图片中选取对应的第二目标子图进行姿态调整得到目标验证码图片,并对应调整所述原始验证码图片序列信息中所述第二目标子图的姿态信息得到标准图片序列信息;
在本步骤中,服务器在原始验证码图片中选取第二子图数量个子图进行姿态调整,并对应调整原始验证码图片序列信息中子图的姿态信息。
作为一种可行的实施方式,本步骤包括:服务器根据所述第二子图数量在所述原始验证码图片中选取对应的第二目标子图;将所述第二目标子图向第一目标方向旋转目标角度得到目标验证码图片,并对应调整所述图片序列信息中所述第二目标子图的姿态信息得到标准图片序列信息;其中,所述第一目标方向包括顺时针或逆时针,所述目标角度小于360度,所述第二目标子图每旋转预设角度,对应的姿态信息向第二目标方向调整预设幅度,所述第二目标方向包括增加或减少。在具体实施中,服务器将原始验证码图片中的第三子图向第一目标方向旋转目标角度,此处的第一目标方向可以为顺时针或逆时针,即服务器将原始验证码图片中的第三子图顺时针或逆时针旋转目标角度,此处的目标角度需要小于360度。对应的,服务器需要对初始化图片序列中第三子图的姿态信息进行调整,每旋转预设角度,对应的姿态信息向第二目标方向调整预设幅度,此处的第二目标方向可以为增加或减少,例如每顺时针旋转90度,对应的姿态信息增加1,也即,顺时针转动90度使用1标识,顺时针转动180度使用2标识,顺时针转动270度使用3标识,将第2个子图顺时针旋转180度,将第4个子图顺时针旋转270度,则对应的标准图片序列信息为:0、2、0、3、…、0,共N×M维。
S305:服务器将所述目标验证码图片发送至客户端;
S306:客户端接收服务器发送的目标验证码图片并进行展示;
S307:客户端将所述目标验证码图片中的每个子图的姿态信息设置为初始值,并基于每个所述子图的姿态信息初始化目标验证码图片序列信息;
S308:客户端根据接收到的调整命令确定需要旋转的第三目标子图,并将所述目标验证码图片中的第三目标子图向第一目标方向的相反方向旋转预设角度得到待验证验证码图片,并将所述目标验证码图片序列信息中所述第三目标子图的姿态信息向第二目标方向的相反方向调整预设幅度得到待验证图片序列信息;
在本步骤中,客户端每接收到一次调整命令,将需要旋转的第三目标子图向第一目标方向的相反方向旋转预设角度,对应的,将图片序列信息中第三目标子图的姿态信息向第二目标方向的相反方向调整预设幅度。在步骤S303举出的例子中,客户端每接收到一次调整命令,将需要旋转的第三目标子图逆时针旋转90度,对应的姿态信息减1,若姿态信息小于0,则恢复为3。
S309:客户端将所述待验证图片序列信息发送至服务器;
S310:服务器接收所述客户端发送的待验证图片序列信息,并对比所述待验证图片序列信息与所述标准图片序列信息以确认验证结果。
在具体实施中,若待验证图片序列信息与标准图片序列信息不一致,则验证错误,此时需要重新验证,即重新生成目标验证码图片和对应的标准图片序列信息。作为一种优选实施方式,若验证错误的次数达到预设值,则增加姿态调整的子图数量,也即增加上述第二子图数量。其中,姿态调整的子图数量即第二子图数量与验证错误的次数呈正相关,也即错误次数越多,验证的难度等级越高。例如,最初的难度等级为1,服务器选择原始验证码图片中的一个子图进行旋转得到目标验证码图片,若验证错误次数达到5次,则服务器需要重新选择原始验证码图片中的两个子图进行旋转得到目标验证码图片,若验证错误次数达到6次,则服务器需要重新选择原始验证码图片中的三个子图进行旋转得到目标验证码图片,以此类推。
本申请实施例提供的验证码实现方法,将原始验证码图片拆解为多个子图,通过子图的姿态的调整操作将原始验证码图片调整为目标验证码图片,并对应调整原始验证码图片中各子图的姿态信息生成标准图片序列信息,客户端展示的为调整后的目标验证码图片。由于每个子图均存在多种不同的姿态,因此调整后生成的标准图片序列信息存在指数级的可能性,机器破解得到标准图片序列信息的可能性较低,提高了机器突破难度。
当然,还可以将上述两个实施例进行结合,即子图的属性信息同时包括位置信息和姿态信息,图片序列信息同时包括各子图的位置信息和姿态信息。例如,初始化的图片序列信息可以为1/0、2/0、3/0、4/0、5/0、6/0、7/0、8/0、9/0,“/”的前和后分别对应同一子图的位置信息和姿态信息。
在生成目标验证码图片和标准图片序列信息的过程中,既对原始验证码图片中的若干对子图进行交换操作,也对若干个子图的姿态进行变换。例如,将第5个子图的姿态顺时针旋转180度,图片序列信息为1/0、2/0、3/0、4/0、5/2、6/0、7/0、8/0、9/0,交换第3个子图和第5个后,图片序列信息为1/0、2/0、5/2、4/0、3/0、6/0、7/0、8/0、9/0。也就是说,在交换图片序列信息中某对子图的属性信息时,需要对位置信息和姿态信息进行同步交换,保证同一“/”的前和后始终对应同一子图的位置信息和姿态信息。
用户在操作目标验证码图片中各个子图的过程中,通过第一预设方式对某两个子图进行位置交换,通过第二预设方式对某个子图进行姿态变换。例如,可以通过拖动某一子图与另一子图进行位置交换,通过点击某个子图进行姿态变换。
为了便于理解,结合本申请的一种应用场景进行介绍。具体的,用户触发验证码服务后,验证码的实现方法包括以下步骤:
步骤1:服务器基于原始验证码图片生成某种难度等级的目标验证码图片,并生成标准图片序列信息。
步骤2:客户端展示目标验证码图片。
以最低难度等级1为例,对于交换子图位置的形式,初始化的图片序列信息为1、2、3、4、5、6、7、8、9,服务器选择第3个子图与第5个子图进行位置互换,标准图片序列信息为1、2、5、4、3、6、7、8、9,客户端展示的目标验证码图片如图7所示。对于调整子图角度姿态的形式,初始化的图片序列信息为0、0、0、0、0、0、0、0、0,顺时针旋转90度,对应的姿态信息调整为1,顺时针旋转180度,对应的姿态信息调整为2,顺时针旋转270度,对应的姿态信息调整为3。服务器将第5个子图的姿态顺时针旋转180度,标准图片序列信息为0、0、0、0、2、0、0、0、0,客户端展示的目标验证码图片如图8所示。
步骤3:客户端初始化图片序列信息。
对于交换子图位置的形式,初始化的图片序列信息为1、2、3、4、5、6、7、8、9。对于调整子图角度姿态的形式,初始化的图片序列信息为0、0、0、0、0、0、0、0、0。
步骤4:用户在客户端调整目标验证码图片中的子图,客户端对应调整图片序列信息得到待校验图片序列信息。
对于交换子图位置的形式,如图9所示,用户拖动第3个子图与第5个子图进行位置互换,待校验图片序列信息为1、2、5、4、3、6、7、8、9。
对于调整子图角度姿态的形式,用户每次点击一个子图,将其逆时针旋转90度,对应的姿态信息减1,若姿态信息小于0,则将其恢复为3。如图10所示,用户点击两次第5个子图,第5个子图逆时针旋转180度,对应的姿态信息由0变为2,即待校验图片序列信息为0、0、0、0、2、0、0、0、0。
步骤5:服务器对比标准图片序列信息与待校验图片序列信息是否一致,若一致,则验证通过,否则验证未通过。如果错误次数过多,可以提示过一段时间后重试。
下面对本申请实施例提供的一种验证码实现装置进行介绍,下文描述的一种验证码实现装置应用于服务器,与上文描述的一种验证码实现方法可以相互参照。
具体的,本申请实施例提供的验证码实现装置包括:
拆解模块,用于确定原始验证码图片,并对所述原始验证码图片进行拆解得到多个子图;其中,所有所述子图的尺寸相同;
第一初始化模块,用于基于所述原始验证码图片中每个所述子图的属性信息初始化原始验证码图片序列信息;其中,所述属性信息包括位置信息和姿态信息;
第一调整模块,用于对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到目标验证码图片,基于所述目标验证码图片中每个子图的属性信息得到标准图片序列信息;
第一发送模块,用于将所述目标验证码图片发送至客户端进行展示;
接收模块,用于接收所述客户端发送的待验证图片序列信息,所述客户端根据接收到的调整命令调整初始化的目标验证码图片序列信息,得到所述待验证图片序列信息;
对比模块,用于对比所述待验证图片序列信息与所述标准图片序列信息以确认验证结果。
本申请实施例提供的验证码实现装置,将原始验证码图片拆解为尺寸相同的子图,任意两个子图可以进行位置互换,任意子图也可以进行姿态的旋转,通过多子图的组合操作将原始验证码图片调整为目标验证码图片,并对应调整原始验证码图片中各子图的属性信息生成标准图片序列信息,客户端展示的为调整后的目标验证码图片。由于每个子图均存在多种不同的属性信息,其中包括位置信息和姿态信息,因此调整后生成的标准图片序列信息存在更多种可能的状态,也即调整方式存在众多的可能性,机器破解原始验证码图片调整为目标验证码图片的调整方式的可能性较低,因此破解得到标准图片序列信息的可能性较低。由此可见,本申请实施例提供的验证码实现装置,摆脱了传统验证码以信息识别、检测、输入的固有模式,引入了更多人类相关的认知和判断知识,借助人类的识别和逻辑判断能力,在不提高真人验证难度的基础上,提高了机器突破难度。
在上述实施例的基础上,作为一种优选实施方式,还包括:
存储模块,用于将所述标准图片序列信息转换为标准字符串进行存储;
相应的,所述接收模块具体为接收所述客户端发送的待验证字符串的模块,所述客户端将所述待验证图片序列信息转换为所述待验证字符串;所述对比模块具体为对比所述待验证字符串与所述标准字符串进行存储以确认验证结果的模块。
在上述实施例的基础上,作为一种优选实施方式,所述第一发送模块具体为将所述目标验证码图片和提示信息发送至客户端进行展示的模块;其中,所述提示信息包括所述目标验证码图片的缩略图。
在上述实施例的基础上,作为一种优选实施方式,所述第一发送模块具体为对所述目标验证码图片的缩略图进行干扰处理得到目标缩略图,并将所述目标验证码图片和所述目标缩略图发送至客户端进行展示的模块。
在上述实施例的基础上,作为一种优选实施方式,所述拆解模块包括:
裁剪单元,用于从素材库中选择基础图片,并在所述基础图片中裁剪出原始验证码图片;
拆解单元,用于对所述原始验证码图片进行拆解得到多个子图。
在上述实施例的基础上,作为一种优选实施方式,若所述属性信息包括位置信息,则所述第一调整模块包括:
第一确定单元,用于确定难度等级,基于所述难度等级确定需要进行位置互换的第一子图数量;其中,所述第一子图数量与所述难度等级呈正相关;
位置交换单元,用于根据所述第一子图数量在所述原始验证码图片中选取对应的第一目标子图进行位置互换得到目标验证码图片,并对应调整所述原始验证码图片序列信息中所述第一目标子图的位置信息得到标准图片序列信息。
在上述实施例的基础上,作为一种优选实施方式,所述第一初始化模块具体为为所述原始验证码图片中的每个子图分配对应的标识作为位置信息,并基于每个所述子图的位置信息初始化原始验证码图片序列信息的模块。
在上述实施例的基础上,作为一种优选实施方式,若所述属性信息包括姿态信息,则所述第一初始化模块具体为将所述原始验证码图片中的每个子图的姿态信息设置为初始值,并基于每个所述子图的姿态信息初始化原始验证码图片序列信息的模块;
相应的,所述第一调整模块包括:
第二确定单元,用于确定难度等级,基于所述难度等级确定需要进行姿态调整的第二子图数量;其中,所述第二子图数量与所述难度等级呈正相关;
姿态调整单元,用于根据所述第二子图数量在所述原始验证码图片中选取对应的第二目标子图进行姿态调整得到目标验证码图片,并对应调整所述原始验证码图片序列信息中所述第二目标子图的姿态信息得到标准图片序列信息。
在上述实施例的基础上,作为一种优选实施方式,所述姿态调整单元包括:
选取子单元,用于根据所述第二子图数量在所述原始验证码图片中选取对应的第二目标子图;
旋转子单元,用于将所述第二目标子图向第一目标方向旋转目标角度得到目标验证码图片,并对应调整所述图片序列信息中所述第二目标子图的姿态信息得到标准图片序列信息;其中,所述第一目标方向包括顺时针或逆时针,所述目标角度小于360度,所述第二目标子图每旋转预设角度,对应的姿态信息向第二目标方向调整预设幅度,所述第二目标方向包括增加或减少。
在上述实施例的基础上,作为一种优选实施方式,还包括:
增加模块,用于若验证错误的次数达到预设值,则增加位置互换和/或姿态调整的子图数量;其中,位置互换和/或姿态调整的子图数量与验证错误的次数呈正相关。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
下面对本申请实施例提供的一种验证码实现装置进行介绍,下文描述的一种验证码实现装置应用于客户端,与上文描述的一种验证码实现方法可以相互参照。
具体的,本申请实施例提供的验证码实现装置包括:
接收模块,用于接收服务器发送的目标验证码图片并进行展示;其中,所述目标验证码图片中包括多个尺寸相同的子图;
第二初始化模块,用于基于所述目标验证码图片中每个所述子图的属性信息初始化目标验证码图片序列信息;其中,所述属性信息包括位置信息和姿态信息;
第二调整模块,用于根据接收到的调整命令对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到待验证验证码图片,并基于所述待验证验证码图片中每个子图的属性信息得到待验证图片序列信息;
第二发送模块,用于将所述待验证图片序列信息发送至服务器进行验证。
在上述实施例的基础上,作为一种优选实施方式,若所述属性信息包括位置信息,则所述第二调整模块具体为根据接收到的调整命令交换所述目标验证码图片中两个子图的位置得到待验证验证码图片,并对应交换所述目标验证码图片序列信息中两个子图的位置信息得到待验证图片序列信息的模块。
在上述实施例的基础上,作为一种优选实施方式,若所述属性信息包括姿态信息,则所述第二初始化模块具体为将所述目标验证码图片中的每个子图的姿态信息设置为初始值,并基于每个所述子图的姿态信息初始化目标验证码图片序列信息的模块;
相应的,所述第二调整模块包括:
第三确定单元,用于根据接收到的调整命令确定需要旋转的第三目标子图;
旋转单元,用于将所述目标验证码图片中的第三目标子图向第一目标方向的相反方向旋转预设角度得到待验证验证码图片,并将所述目标验证码图片序列信息中所述第三目标子图的姿态信息向第二目标方向的相反方向调整预设幅度得到待验证图片序列信息。
在上述实施例的基础上,作为一种优选实施方式,还包括:
恢复模块,用于若接收到一键复原命令,则将当前显示的验证码图片恢复为所述目标验证码图片。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请还提供了一种电子设备,参见图11,本申请实施例提供的一种电子设备的结构图,如图11所示,可以包括处理器1和存储器2。
其中,处理器1可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器2可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器2还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器2至少用于存储以下计算机程序21,其中,该计算机程序被处理器1加载并执行之后,能够实现前述任一实施例公开的由服务器或客户端侧执行的验证码实现方法中的相关步骤。另外,存储器2所存储的资源还可以包括操作系统22和数据23等,存储方式可以是短暂存储或者永久存储。其中,操作系统22可以包括Windows、Unix、Linux等。
在一些实施例中,电子设备还可包括有显示屏3、输入输出接口4、通信接口5、传感器6、电源7以及通信总线8。
当然,图11所示的电子设备的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图11所示的更多或更少的部件,或者组合某些部件。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述任一实施例服务器或客户端所执行的验证码实现方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (16)
1.一种验证码实现方法,其特征在于,应用于服务器,包括:
确定原始验证码图片,并对所述原始验证码图片进行拆解得到多个子图,其中,所有所述子图的尺寸相同;
基于所述原始验证码图片中每个所述子图的属性信息初始化原始验证码图片序列信息,其中,所述属性信息包括位置信息和姿态信息;
对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到目标验证码图片,基于所述目标验证码图片中每个子图的属性信息得到标准图片序列信息;
将所述目标验证码图片发送至客户端进行展示;
接收所述客户端发送的待验证图片序列信息,所述客户端根据接收到的调整命令调整初始化的目标验证码图片序列信息,得到所述待验证图片序列信息;
对比所述待验证图片序列信息与所述标准图片序列信息以确认验证结果。
2.根据权利要求1所述验证码实现方法,其特征在于,所述基于所述目标验证码图片中每个所述子图的属性信息得到标准图片序列信息之后,还包括:
将所述标准图片序列信息转换为标准字符串进行存储;
相应的,所述接收所述客户端发送的待验证图片序列信息,包括:
接收所述客户端发送的待验证字符串,所述客户端将所述待验证图片序列信息转换为所述待验证字符串;
相应的,所述对比所述待验证图片序列信息与所述标准图片序列信息以确认验证结果,包括:
对比所述待验证字符串与所述标准字符串进行存储以确认验证结果。
3.根据权利要求1所述验证码实现方法,其特征在于,将所述目标验证码图片发送至客户端进行展示,包括:
将所述目标验证码图片和提示信息发送至客户端进行展示;其中,所述提示信息包括所述目标验证码图片的缩略图。
4.根据权利要求3所述验证码实现方法,其特征在于,将所述目标验证码图片和提示信息发送至客户端进行展示,包括:
对所述目标验证码图片的缩略图进行干扰处理得到目标缩略图;
将所述目标验证码图片和所述目标缩略图发送至客户端进行展示。
5.根据权利要求1所述验证码实现方法,其特征在于,所述确定原始验证码图片,包括:
从素材库中选择基础图片,并在所述基础图片中裁剪出原始验证码图片。
6.根据权利要求1至5中任一项所述验证码实现方法,其特征在于,若所述属性信息包括位置信息,则对至少两个所述子图进行位置互换得到目标验证码图片,并基于所述目标验证码图片中每个子图的属性信息得到标准图片序列信息,包括:
确定难度等级,基于所述难度等级确定需要进行位置互换的第一子图数量;其中,所述第一子图数量与所述难度等级呈正相关;
根据所述第一子图数量在所述原始验证码图片中选取对应的第一目标子图进行位置互换得到目标验证码图片,并对应调整所述原始验证码图片序列信息中所述第一目标子图的位置信息得到标准图片序列信息。
7.根据权利要求6所述验证码实现方法,其特征在于,所述基于所述原始验证码图片中每个所述子图的属性信息初始化原始验证码图片序列信息,包括:
为所述原始验证码图片中的每个子图分配对应的标识作为位置信息,并基于每个所述子图的位置信息初始化原始验证码图片序列信息。
8.根据权利要求1至5中任一项所述验证码实现方法,其特征在于,若所述属性信息包括姿态信息,则所述基于所述原始验证码图片中每个所述子图的属性信息初始化原始验证码图片序列信息,包括:
将所述原始验证码图片中的每个子图的姿态信息设置为初始值,并基于每个所述子图的姿态信息初始化原始验证码图片序列信息;
相应的,对至少一个所述子图的姿态进行调整得到目标验证码图片,并基于所述目标验证码图片中每个子图的属性信息得到标准图片序列信息,包括:
确定难度等级,基于所述难度等级确定需要进行姿态调整的第二子图数量;其中,所述第二子图数量与所述难度等级呈正相关;
根据所述第二子图数量在所述原始验证码图片中选取对应的第二目标子图进行姿态调整得到目标验证码图片,并对应调整所述原始验证码图片序列信息中所述第二目标子图的姿态信息得到标准图片序列信息。
9.根据权利要求8所述验证码实现方法,其特征在于,所述根据所述第二子图数量在所述原始验证码图片中选取对应的第二目标子图进行姿态调整得到目标验证码图片,并对应调整所述图片序列信息中所述第二目标子图的姿态信息得到标准图片序列信息,包括:
根据所述第二子图数量在所述原始验证码图片中选取对应的第二目标子图;
将所述第二目标子图向第一目标方向旋转目标角度得到目标验证码图片,并对应调整所述图片序列信息中所述第二目标子图的姿态信息得到标准图片序列信息;其中,所述第一目标方向包括顺时针或逆时针,所述目标角度小于360度,所述第二目标子图每旋转预设角度,对应的姿态信息向第二目标方向调整预设幅度,所述第二目标方向包括增加或减少。
10.根据权利要求1所述验证码实现方法,其特征在于,还包括:
若验证错误的次数达到预设值,则增加位置互换和/或姿态调整的子图数量;其中,位置互换和/或姿态调整的子图数量与验证错误的次数呈正相关。
11.一种验证码实现方法,其特征在于,应用于客户端,包括:
接收服务器发送的目标验证码图片并进行展示;其中,所述目标验证码图片中包括多个尺寸相同的子图;
基于所述目标验证码图片中每个所述子图的属性信息初始化目标验证码图片序列信息;其中,所述属性信息包括位置信息和姿态信息;
根据接收到的调整命令对至少两个所述子图进行位置互换和/或对至少一个所述子图的姿态进行调整得到待验证验证码图片,并基于所述待验证验证码图片中每个子图的属性信息得到待验证图片序列信息;
将所述待验证图片序列信息发送至服务器进行验证。
12.根据权利要求11所述验证码实现方法,其特征在于,若所述属性信息包括位置信息,则根据接收到的调整命令对至少两个所述子图进行位置互换得到待验证验证码图片,并基于所述待验证验证码图片中每个子图的属性信息得到待验证图片序列信息,包括:
根据接收到的调整命令交换所述目标验证码图片中两个子图的位置得到待验证验证码图片,并对应交换所述目标验证码图片序列信息中两个子图的位置信息得到待验证图片序列信息。
13.根据权利要求11所述验证码实现方法,其特征在于,若所述属性信息包括姿态信息,则所述基于所述目标验证码图片中每个所述子图的属性信息初始化图片序列信息,包括:
将所述目标验证码图片中的每个子图的姿态信息设置为初始值,并基于每个所述子图的姿态信息初始化目标验证码图片序列信息;
相应的,根据接收到的调整命令对至少一个所述子图的姿态进行调整得到待验证验证码图片,并基于所述待验证验证码图片中每个子图的属性信息得到待验证图片序列信息,包括:
根据接收到的调整命令确定需要旋转的第三目标子图;
将所述目标验证码图片中的第三目标子图向第一目标方向的相反方向旋转预设角度得到待验证验证码图片,并将所述目标验证码图片序列信息中所述第三目标子图的姿态信息向第二目标方向的相反方向调整预设幅度得到待验证图片序列信息。
14.根据权利要求11所述验证码实现方法,其特征在于,还包括:
若接收到一键复原命令,则将当前显示的验证码图片恢复为所述目标验证码图片。
15.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至14任一项所述验证码实现方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至14任一项所述验证码实现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110486317.0A CN113158167B (zh) | 2021-04-30 | 2021-04-30 | 验证码实现方法及电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110486317.0A CN113158167B (zh) | 2021-04-30 | 2021-04-30 | 验证码实现方法及电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113158167A CN113158167A (zh) | 2021-07-23 |
CN113158167B true CN113158167B (zh) | 2024-02-23 |
Family
ID=76873231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110486317.0A Active CN113158167B (zh) | 2021-04-30 | 2021-04-30 | 验证码实现方法及电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113158167B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115842634B (zh) * | 2023-02-20 | 2023-07-28 | 卓望数码技术(深圳)有限公司 | 验证方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059033A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 一种验证方法、服务器和系统 |
CN108159700A (zh) * | 2018-01-23 | 2018-06-15 | 网易(杭州)网络有限公司 | 生成验证码的方法、装置、存储介质、处理器及终端 |
CN108846274A (zh) * | 2018-04-09 | 2018-11-20 | 腾讯科技(深圳)有限公司 | 一种安全验证方法、装置及终端 |
CN111447207A (zh) * | 2020-03-24 | 2020-07-24 | 咪咕文化科技有限公司 | 验证码验证方法、电子设备及存储介质 |
CN111860482A (zh) * | 2020-07-20 | 2020-10-30 | 中移(杭州)信息技术有限公司 | 动态图形码验证方法及装置、电子设备和存储介质 |
-
2021
- 2021-04-30 CN CN202110486317.0A patent/CN113158167B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059033A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 一种验证方法、服务器和系统 |
CN108159700A (zh) * | 2018-01-23 | 2018-06-15 | 网易(杭州)网络有限公司 | 生成验证码的方法、装置、存储介质、处理器及终端 |
CN108846274A (zh) * | 2018-04-09 | 2018-11-20 | 腾讯科技(深圳)有限公司 | 一种安全验证方法、装置及终端 |
CN111447207A (zh) * | 2020-03-24 | 2020-07-24 | 咪咕文化科技有限公司 | 验证码验证方法、电子设备及存储介质 |
CN111860482A (zh) * | 2020-07-20 | 2020-10-30 | 中移(杭州)信息技术有限公司 | 动态图形码验证方法及装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
子图验证码;何培舟;温向明;郑伟;;计算机系统应用(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113158167A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11860989B2 (en) | Verification method and device | |
US8990959B2 (en) | Manipulable human interactive proofs | |
CN104618350B (zh) | 一种图片验证码的生成方法 | |
CN108269062B (zh) | 基于h5的电子合同制作方法、装置、设备及介质 | |
CN106462713B (zh) | 终端的界面显示方法和终端 | |
US20110197268A1 (en) | Captchas that include overlapped characters, projections on virtual 3d surfaces, and/or virtual 3d objects | |
JP2015115079A (ja) | 認証入力方法および装置 | |
CN108989269A (zh) | 获取验证码的方法、装置和系统 | |
CN111447207A (zh) | 验证码验证方法、电子设备及存储介质 | |
TW201734891A (zh) | 基於驗證碼的驗證處理方法及裝置 | |
CN113158167B (zh) | 验证码实现方法及电子设备和计算机可读存储介质 | |
US10003462B2 (en) | Key generating method and apparatus | |
CN108875502A (zh) | 人脸识别方法和装置 | |
CN107844696B (zh) | 一种验证码干扰方法及服务器 | |
CN111859322A (zh) | 身份验证方法、装置和电子设备 | |
CN111860482A (zh) | 动态图形码验证方法及装置、电子设备和存储介质 | |
CN105243315B (zh) | 用于单一型图片验证码输入的方法、装置及系统 | |
JP2014160413A (ja) | データ処理装置、データ処理システム及びプログラム | |
Zhou et al. | Deep learning based attack on social authentication system | |
Jin et al. | Ar captcha: Recognizing robot by augmented reality | |
CN108304104A (zh) | 一种数据获取方法及其设备、存储介质、终端 | |
CN111491195B (zh) | 一种在线视频展示的方法及装置 | |
US20120023549A1 (en) | CAPTCHA AND reCAPTCHA WITH SINOGRAPHS | |
CN107272920B (zh) | 变更按键与字符的对应关系的方法及装置 | |
CN117608405A (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 |