CN114282198A - 验证码实现方法及电子设备和计算机可读存储介质 - Google Patents
验证码实现方法及电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN114282198A CN114282198A CN202111630667.6A CN202111630667A CN114282198A CN 114282198 A CN114282198 A CN 114282198A CN 202111630667 A CN202111630667 A CN 202111630667A CN 114282198 A CN114282198 A CN 114282198A
- Authority
- CN
- China
- Prior art keywords
- target
- maze
- verification code
- picture
- position 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.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种验证码实现方法、一种电子设备和计算机可读存储介质,该方法包括:生成包括多个迷宫的迷宫图片;确定目标对象所在的目标迷宫、目标物品和干扰物品;在目标迷宫中放置目标对象对应的图标、目标物品对应的图标和干扰物品对应的图标,在其他迷宫中放置目标物品对应的图标和干扰物品对应的图标,生成验证码图片;记录目标迷宫中所有目标物品对应的图标的位置坐标,生成目标位置信息;将验证码图片和目标物品对应的图标发送至客户端进行展示;接收客户端发送的待验证位置信息;客户端根据接收到的触屏命令对应的位置坐标生成待验证位置信息;对比待验证位置信息与目标位置信息以确认验证结果。本申请提高了验证码的机器突破难度。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及验证码实现方法及电子设备和计算机可读存储介质。
背景技术
在相关技术中,服务器选择一张图片,并随机在图片中选择子图案,记录该子图案的位置作为答案,客户端展示该图片和子图案,用户在客户端上点击某个位置作为验证信息,服务器对比用户点击的位置与选择的子图案的位置是否一致,从而进行验证。
在上述方案中,机器可以通过训练好的图像识别和检测算法,检测识别到子图案的位置,进而直接通过机器模拟点击到正确的位置,机器突破难度较低。
可见,相关技术中的验证码实现方案至少存在如下技术问题:机器突破难度较低。
发明内容
本申请的目的在于提供一种验证码实现方法及一种电子设备和一种计算机可读存储介质,提高了验证码的机器破解难度。
为实现上述目的,本申请第一方面提供了一种验证码实现方法,应用于服务器,包括:
生成迷宫图片;其中,所述迷宫图片包括多个迷宫;
确定目标对象所在的目标迷宫、目标物品和干扰物品;
在所述目标迷宫中放置所述目标对象对应的图标、所述目标物品对应的图标和所述干扰物品对应的图标,在其他迷宫中放置所述目标物品对应的图标和所述干扰物品对应的图标,以生成验证码图片;
记录所述目标迷宫中所有所述目标物品对应的图标的位置坐标,生成目标位置信息;
将所述验证码图片和所述目标物品对应的图标发送至客户端进行展示;
接收所述客户端发送的待验证位置信息;其中,所述客户端根据接收到的触屏命令对应的位置坐标生成所述待验证位置信息;
对比所述待验证位置信息与所述目标位置信息以确认验证结果。
为实现上述目的,本申请第二方面提供了一种验证码实现方法,应用于客户端,包括:
接收服务器发送的验证码图片和目标物品对应的图标并进行展示;其中,所述验证码图片包含多个迷宫,目标对象所在的目标迷宫中包含所述目标对象对应的图标、所述目标物品对应的图标和所述干扰物品对应的图标,其他迷宫中包含所述目标物品对应的图标和所述干扰物品对应的图标;
接收所述验证码图片中目标位置对应的触屏命令,在所述目标位置显示触屏图标;
当接收到提交命令时,根据所述验证码图片中所有所述触屏图标的位置坐标生成待验证位置信息;
将所述待验证位置信息发送至服务器进行验证。
为实现上述目的,本申请第三方面提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述验证码实现方法的步骤。
为实现上述目的,本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述验证码实现方法的步骤。
通过以上方案可知,本申请提供的一种验证码实现方法,包括:生成迷宫图片;其中,所述迷宫图片包括多个迷宫;确定目标对象所在的目标迷宫、目标物品和干扰物品;在所述目标迷宫中放置所述目标对象对应的图标、目标物品对应的图标和干扰物品对应的图标,在其他迷宫中放置所述目标物品对应的图标和所述干扰物品对应的图标,以生成验证码图片;记录所述目标迷宫中所有所述目标物品对应的图标的位置坐标,生成目标位置信息;将所述验证码图片和所述目标物品对应的图标发送至客户端进行展示;接收所述客户端发送的待验证位置信息;其中,所述客户端根据接收到的触屏命令对应的位置坐标生成所述待验证位置信息;对比所述待验证位置信息与所述目标位置信息以确认验证结果。
本申请提供的验证码实现方法,验证码图片中包含多个迷宫,在目标对象所在的目标迷宫和其他迷宫中均放置目标物品和干扰物品对应的图标,也即其他迷宫中放置的目标物品对应的图标、目标迷宫中放置的干扰物品对应的图标和其他迷宫中放置的干扰物品对应的图标均作为机器识别的干扰,不仅需要识别目标物品所在的位置,还需要对验证码图片中的迷宫进行分析,以确定目标对象所在的迷宫区域,机器破解难度较大。由此可见,本申请提供的验证码实现方法,摆脱了传统验证码以信息识别、检测、输入的固有模式,引入了更多人类相关的认知和判断知识,借助人类的识别和逻辑判断能力,在不提高真人验证难度的基础上,提高了机器突破难度。本申请还公开了一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为本申请实施例提供的一种验证码实现系统的架构图;
图2为本申请实施例提供的一种验证码实现方法的流程图;
图3为本申请实施例提供的一种迷宫图片的示意图;
图4为本申请实施例提供的一种初始网格图片的示意图;
图5a-5e为本申请实施例提供的一种生成初始迷宫图片的过程的示意图;
图6a、6b和6c分别为本申请实施例提供的一种简单迷宫、中等迷宫和困难迷宫的示意图;
图7a为本申请实施例提供的一种选择起始点和终止点的示意图;
图7b为本申请实施例提供的一种在起始点和终止点之间搜索最短通路的示意图;
图7c为本申请实施例提供的一种在最短通路中放置墙体的示意图;
图8为本申请应用实施例提供的一种客户端展示的内容的示意图;
图9为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请提供的验证码实现方法,下面对其使用的系统进行介绍。参见图1,其示出了本申请实施例提供的一种验证码实现系统的架构图,如图1所示,包括服务器10和客户端20。
服务器10用于生成验证码图片和目标位置信息,具体的,生成迷宫图片;其中,所述迷宫图片包括多个迷宫;确定目标对象所在的目标迷宫、目标物品和干扰物品;在所述目标迷宫中放置所述目标对象对应的图标、所述目标物品对应的图标和所述干扰物品对应的图标,在其他迷宫中放置所述目标物品对应的图标和所述干扰物品对应的图标,以生成验证码图片;记录所述目标迷宫中所有所述目标物品对应的图标的位置坐标,生成目标位置信息。服务器10将验证码图片和目标物品对应的图标通过网络发送至客户端20。
客户端20可以包括PC(中文全称:个人计算机,英文全称:Personal Computer)等固定终端和手机等移动终端,客户端20向用户展示验证码图片和目标物品对应的图像,当然,客户端20还可以展示提示信息,具体为:依次点击目标对象所在的目标迷宫中的目标物品。用户在客户端20上点击目标对象所在的目标迷宫中的目标物品,客户端根据接收到的触屏命令对应的位置坐标生成所述待验证位置信息。客户端20将待验证位置信息通过网络发送至服务器10。
服务器10还用于对待验证位置信息进行验证,具体的,对比所述待验证位置信息与所述目标位置信息以确认验证结果。服务器10向客户端20返回验证结果,客户端20向用户进行展示。
本申请实施例公开了一种验证码实现方法,提高了验证码的机器破解难度。
参见图2,图2为本申请实施例提供的一种验证码实现方法的流程图,如图2所示,本申请实施例公开的验证码实现方法包括:
S101:服务器生成迷宫图片;其中,所述迷宫图片包括多个迷宫;
本实施例的执行主体为上述验证码实现系统中的服务器。在本步骤中,服务器生成包含多个迷宫的迷宫图片,该迷宫图片中包括迷宫通路单元和迷宫墙体单元,例如如图3所示,图3中阴影为迷宫墙体单元,空白为迷宫通路单元,图3中包括3个迷宫。对于每个迷宫来说,包括一个或多个迷宫通路单元,若包括多个迷宫通路单元,其中的任意两个迷宫通路单元均存在迷宫通路。
作为一种可行的实施方式,所述生成迷宫图片,包括:生成初始迷宫图片;其中,所述初始迷宫图片包括迷宫通路单元和迷宫墙体单元,任意两个迷宫通路单元均存在迷宫通路;选择迷宫通路单元放置墙体,将所述初始迷宫图片中的迷宫通路单元划分为多个迷宫。
在具体实施中,首先随机生成仅包括一个迷宫的初始迷宫图片,即在该初始迷宫图片中,任意两个迷宫通路单元均存在迷宫通路,然后在初始迷宫图片中选择一个或多个迷宫通路单元放置墙体,即将一个或多个迷宫通路单元更改为迷宫通路单元,将初始迷宫图片中的迷宫通路单元划分为多个迷宫。
作为一种可行的实施方式,所述生成初始迷宫图片,包括:生成目标尺寸的初始网格图片;其中,所述初始网格图片包括2X+1行、2Y+1列的多个单元,第2x行、第2y列的单元为迷宫通路单元,其余单元为迷宫墙体单元,1≤x≤X,1≤y≤Y;选择起始迷宫通路单元,将所述起始迷宫通路单元加入检查列表中,并将所述起始迷宫通路单元标记为已访问;在所述检查列表中选择目标迷宫通路单元,并判断所述目标迷宫通路单元是否存在未访问的相邻迷宫通路单元;若是,则选择目标相邻迷宫通路单元,去除所述目标迷宫通路单元与所述目标相邻迷宫通路单元之间的墙体,将所述目标相邻迷宫通路单元标记为已访问,并将所述目标相邻迷宫通路单元加入所述检查列表;若否,则将所述目标迷宫通路单元从所述检查列表中删除;重新进入在所述检查列表中选择目标迷宫通路单元的步骤,直至所述检查列表为空,生成初始迷宫图片。
在具体实施中,首先生成初始网格图片,初始网格图片包含2X+1行、2Y+1列,即目标尺寸为(2X+1)×(2Y+1),也即长度和宽度均为奇数。初始网格图片的最外围为墙体,即迷宫墙体单元,第2x行、第2y列的单元为迷宫通路单元,其余单元为迷宫墙体单元,1≤x≤X,1≤y≤Y。例如,如图4所示,图4的尺寸为11行、11列,第2、4、6、8、10行第2、4、6、8、10列的元素为迷宫墙体单元。若以从0开始的位置坐标进行表示,那么横坐标和纵坐标均为奇数的单元为迷宫通路单元,其余单元为迷宫墙体单元,在图4中,位置坐标为(2x+1,2y+1)的单元为迷宫通路单元,y的取值范围为0、1、2、3、4,x的取值范围为0、1、2、3、4。
其次,随机选择一个迷宫通路单元为起始迷宫通路单元,将其加入检查列表中并标记为已访问。判断检查列表是否为非空,若是,则在检查列表中随机选择一个目标迷宫通路单元,判断目标迷宫通路单元是否存在未访问的相邻迷宫通路单元,若存在,则随机选择一个目标通路单元的相邻迷宫通路单元作为目标相邻迷宫通路单元,去除目标迷宫通路单元与目标相邻迷宫通路单元之间的墙体,即将目标迷宫通路单元与目标相邻迷宫通路单元之间的迷宫墙体单元更改为迷宫通路单元,将目标相邻迷宫通路单元标记为已访问,并将其加入检查列表。若目标迷宫通路单元不存在未访问的相邻迷宫通路单元,则将目标迷宫通路单元从检查列表中删除,并重新进入判断检查列表是否为非空的步骤。检查列表为空时生成包含一个迷宫的初始迷宫图片,上述过程可参见图5a-5e,在图5a中选择1为起始迷宫通路单元。
需要说明的是,可以根据验证码的难度等级确定初始网格图片的目标尺寸,目标尺寸与难度等级呈正相关。也即,验证码的难度等级越高,生成的初始迷宫图片的尺寸越大,例如,简单迷宫如图6a所示,尺寸为11×11,中等迷宫如图6b所示,尺寸为15×15,困难迷宫如图6c所示,尺寸为21×21。
进一步的,作为一种可行的实施方式,所述选择迷宫通路单元放置墙体,将所述初始迷宫图片中的迷宫通路单元划分为多个迷宫,包括:选择第一迷宫通路单元为起始点,选择第二迷宫通路单元为终止点;搜索所述起止点至所述终止点的最短通路,在所述最短通路中放置墙体,将所述初始迷宫图片中的迷宫通路单元划分为多个迷宫。
在具体实施中,可以在初始迷宫图片的最左列中选择第一迷宫通路单元为起始点,在初始迷宫图片的最右列中选择第二迷宫通路单元为终止点,例如如图7a所示,以圆圈表示。在起始点和终止点之间搜索最短通路,例如如图7b所示,以×表示。在最短通路中放置墙体,即在最短通路中选择一个或多个迷宫通路单元将其更改为迷宫墙体单元,以将初始迷宫图片中的一个迷宫划分为多个迷宫,例如如图7c所示,放置的墙体以方形表示,图7c中包含3个迷宫。
需要说明的是,可以根据验证码的难度等级确定在最短通路中放置墙体的数量,放置墙体的数量与难度等级呈正相关。也即,难度等级越高,放置墙体的数量越多,初始迷宫图片中包含的迷宫数量越多。
S102:服务器确定目标对象所在的目标迷宫、目标物品和干扰物品;
在具体实施中,服务器可以将生成的迷宫图片叠加到背景素材中,也即以不同的元素表示迷宫墙体和迷宫通路。在本步骤中,服务器选择目标对象所在的目标迷宫,选择目标物品和干扰物品。具体的,首先可以随机选择一个迷宫作为目标对象所在的目标迷宫,优选的,为了确保目标迷宫能够容纳更多的图标,可以将包含迷宫通路单元最多的迷宫确定为目标对象所在的目标迷宫。其次在所有可选物品中选择一个或多个物品为目标物品,再选择一个或多个物品为干扰物品。
需要说明的是,可以根据验证码的难度等级确定选择的目标物品的数量、干扰物品的数量,目标物品的数量与难度等级呈正相关,干扰物品的数量与难度等级呈正相关。也即,验证码的难度等级越高,选择的目标物品或干扰物品的数量越多,举例说明,验证码的难度等级为简单时,选择一个目标物品、一个干扰物品,例如选择aa为目标物品,选择bb为干扰物品,难度等级为中等时,选择两个目标物品、一个干扰物品,例如选择aa、bb为目标物品,选择cc为干扰物品,难度等级困难时,选择两个目标物品、两个个干扰物品,例如选择aa、bb为目标物品,选择cc、dd为干扰物品。
S103:服务器在所述目标迷宫中放置所述目标对象对应的图标、目标物品对应的图标和干扰物品对应的图标,在其他迷宫中放置所述目标物品对应的图标和所述干扰物品对应的图标,以生成验证码图片;
在本步骤中,服务器在目标迷宫中放置目标对象对应的图标、目标物品对应的图标和干扰物品对应的图标,在其他迷宫中放置目标物品对应的图标和干扰物品对应的图标,生成验证码图片。本实施例不对放置的目标物品对应的图标数量和干扰物品对应的图标数量进行限定,以目标迷宫进行举例说明,可以在目标迷宫中放置目标对象A对应的图标、一个目标物品aa和一个目标物品bb对应的图标、两个干扰物品cc对应的图标,还可以在目标迷宫中放置目标对象A对应的图标、两个目标物品aa的图标、一个干扰物品cc和一个干扰物品dd对应的图标。优选的,可以根据验证码的难度等级确定相同的目标物品在目标迷宫和其他迷宫中放置的图标数量,和/或相同的干扰物品在目标迷宫和其他迷宫中放置的图标数量;其中,相同的目标物品在目标迷宫和其他迷宫中放置的图标数量与难度等级呈正相关,相同的干扰物品在目标迷宫和其他迷宫中放置的图标数量与难度等级呈正相关。也即,验证码的难度等级越高,目标迷宫和其他迷宫中放置的目标物品或干扰物品对应的图标数量越多。举例说明,验证码的难度等级为简单时,在目标迷宫中放置目标对象A对应的图标、一个目标物品aa和一个干扰物品bb对应的图标,在其他迷宫中放置一个目标物品aa和一个干扰物品bb对应的图标,难度等级为中等时,在目标迷宫中放置目标对象A对应的图标、一个目标物品aa和两个干扰物品bb对应的图标,在其他迷宫中放置一个目标物品aa和两个干扰物品bb对应的图标,难度等级困难时,在目标迷宫中放置目标对象A对应的图标、两个目标物品aa和两个干扰物品bb对应的图标,在其他迷宫中放置两个目标物品aa和两个干扰物品bb对应的图标。
可以理解的是,其他迷宫中放置的目标物品对应的图标作为机器识别的强干扰,目标迷宫中放置的干扰物品对应的图标作为机器识别的主要干扰,其他迷宫中放置的干扰物品对应的图标作为机器识别的其他干扰。
作为一种优选实施方式,本步骤之前还包括:对所述目标对象对应的图标和/或所述目标物品对应的图标和/或所述干扰物品对应的图标进行预处理操作;其中,预处理操作包括旋转、扭曲、缩放中任一项或任几项的组合。在具体实施中,在放置各种图标时,可以对其进行预处理操作,以对放置的图标进行一定的变化,进一步干扰机器识别,预处理操作可以包括旋转、扭曲、缩放等。
S104:服务器记录所述目标迷宫中所有所述目标物品对应的图标的位置坐标,生成目标位置信息;
S105:服务器将所述验证码图片和所述目标物品对应的图标发送至客户端;
S106:客户端展示所述验证码图片和所述目标物品对应的图标;
在具体实施中,服务器记录目标迷宫中所有目标物品对应的图标的位置坐标作为目标位置信息,然后将验证码图片和目标物品对应的图标发送至客户端进行展示。当然,客户端还可以展示提示信息,例如“请根据子图中的图案,依次点击目标对象所在连通迷宫范围内的对应图案”。
需要说明的是,若服务器选择了多个目标物品,则在目标位置信息中需要按照各目标物品对应的图标的展示顺序记录各目标物品对应的图标的位置坐标。例如,目标迷宫中放置了目标物品aa和bb对应的图标,客户端依次展示验证码图片、目标物品aa和bb对应的图标,那么目标位置信息依次记录了目标物品aa和bb对应的图标的位置坐标。
S107:客户端接收所述验证码图片中目标位置对应的触屏命令,在所述目标位置显示触屏图标;
S108:当客户端接收到提交命令时,根据所述验证码图片中所有所述触屏图标的位置坐标生成待验证位置信息;
S109:客户端将所述待验证位置信息发送至服务器;
在具体实施中,用户可以在验证码图片中的任意位置进行点击,触屏位置展示触屏图标。如果用户想要删除展示的触屏图标,则重复点击该触屏图标即可,也即当客户端接收到目标触屏图标对应的触屏命令时,删除显示的所述目标触屏图标。用户点击提交后,客户端接收到提交命令,基于验证码图片中当前显示的所有触屏图标的坐标位置生成待验证位置信息。需要说明的是,待验证位置信息中的各坐标位置可以按照用户的点击顺序进行排序,生成的待验证位置信息发送至服务器进行验证。
S110:服务器对比所述待验证位置信息与所述目标位置信息以确认验证结果。
在本步骤中,服务器通过对比客户端发送的待验证位置信息与自身存储的目标位置信息,得到验证结果。
作为一种可行的实施方式,若所述目标迷宫中放置多个相同的目标物品对应的图标,则本步骤包括:若所述待验证位置信息与所述目标位置信息包含的位置坐标数量相同,且所述待验证位置信息包含的位置坐标均存在于所述目标位置信息中,则判定验证成功。在具体实施中,若服务器选择了一个目标物品,但在目标迷宫中放置了多个该目标物品对应的图标,则在验证位置坐标时不限制各位置坐标的顺序,也即只要待验证位置信息与目标位置信息包含的位置坐标数量相同且待验证位置信息包含的位置坐标均存在于目标位置信息中,即验证成功。例如,目标迷宫中放置了两个目标物品aa对应的图标,位置坐标分别为(1,1)和(1,3),也即目标位置信息具体为{(1,1),(1,3)},那么待验证位置信息为{(1,1),(1,3)}和{(1,3),(1,1)}均可验证成功。
作为另一种可行的实施方式,若所述目标迷宫中放置多个不同的目标物品对应的图标,则本步骤包括:若所述待验证位置信息与所述目标位置信息完全一致,则判定验证成功。在具体实施中,若服务器选择了多个目标物品,且目标迷宫中每个目标物品放置一个图标,则在验证位置坐标时需要验证各目标物品对应的图标的点击顺序,也即只有待验证位置信息与目标位置信息完全一致时验证成功。例如,目标迷宫中放置了一个目标物品aa、一个目标物品bb对应的图标,位置坐标分别为(1,1)和(1,3),客户端依次展示目标物品aa、目标物品bb对应的图标,也即目标位置信息具体为{(1,1),(1,3)},那么只有待验证位置信息为{(1,1),(1,3)}时验证成功,待验证位置信息为时{(1,3),(1,1)}验证失败。
本申请实施例提供的验证码实现方法,验证码图片中包含多个迷宫,在目标对象所在的目标迷宫和其他迷宫中均放置目标物品和干扰物品对应的图标,也即其他迷宫中放置的目标物品对应的图标、目标迷宫中放置的干扰物品对应的图标和其他迷宫中放置的干扰物品对应的图标均作为机器识别的干扰,不仅需要识别目标物品所在的位置,还需要对验证码图片中的迷宫进行分析,以确定目标对象所在的迷宫区域,机器破解难度较大。由此可见,本申请实施例提供的验证码实现方法,摆脱了传统验证码以信息识别、检测、输入的固有模式,引入了更多人类相关的认知和判断知识,借助人类的识别和逻辑判断能力,在不提高真人验证难度的基础上,提高了机器突破难度。
为了便于理解,结合本申请的一种应用场景进行介绍。具体的,用户触发验证码服务后,验证码的实现方法包括以下步骤:
步骤1:服务器生成迷宫图片,其中包含迷宫A、B和C;
步骤2:服务器将迷宫图片叠加到背景素材中,选择目标对象为扑通小子,选择迷宫A为目标对象(扑通小子)所在的迷宫,选择目标物品aa、bb和干扰物品cc、dd,在迷宫A中放置一个目标物品aa、一个目标物品bb、两个干扰物品cc和一个干扰物品dd对应的图标,在迷宫B中放置两个目标物品aa和一个目标物品bb对应的图标,在迷宫C中放置和一个干扰物品dd对应的图标;
步骤3:服务器依次记录迷宫A中目标物品aa和目标物品bb的位置坐标生成目标位置信息;
步骤4:客户端展示验证码图片、目标物品aa、bb对应的图标和提示信息,提示信息为:请根据子图中图案,依次点击扑通小子所在连通迷宫范围内的对应图案;客户端展示的内容如图8所示,其中,扑通小子为目标对象,aa和bb为目标物品对应的图标,cc和dd为干扰物品对应的图标,A为目标对象所在的迷宫,B和C为其他迷宫;
步骤5:用户在验证码图片中依次点击目标物品aa、bb对应的图标,点击位置以方框表示;
步骤6:客户端根据用户的点击顺序,记录各点击位置的位置坐标,用户点击提交后,生成待验证位置信息,发送至服务器进行验证。
步骤7:服务器对比待验证位置信息与目标位置信息,若完全一致,则验证成功,否则验证失败。
下面对本申请实施例提供的一种验证码实现装置进行介绍,下文描述的一种验证码实现装置应用于服务器,与上文描述的一种验证码实现方法可以相互参照。
具体的,本申请实施例提供的验证码实现装置包括:
第一生成模块,用于生成迷宫图片;其中,所述迷宫图片包括多个迷宫;
选择模块,用于确定目标对象所在的目标迷宫,选择目标物品和干扰物品;
放置模块,用于在所述目标迷宫中放置所述目标对象对应的图标、所述目标物品对应的图标和所述干扰物品对应的图标,在其他迷宫中放置所述目标物品对应的图标和所述干扰物品对应的图标,以生成验证码图片;
记录模块,用于记录所述目标迷宫中所有所述目标物品对应的图标的位置坐标,生成目标位置信息;
第一发送模块,用于将所述验证码图片和所述目标物品对应的图标发送至客户端进行展示;
第一接收模块,用于接收所述客户端发送的待验证位置信息;其中,所述客户端根据接收到的触屏命令对应的位置坐标生成所述待验证位置信息;
对比模块,用于对比所述待验证位置信息与所述目标位置信息以确认验证结果。
本申请实施例提供的验证码实现装置,验证码图片中包含多个迷宫,在目标对象所在的目标迷宫和其他迷宫中均放置目标物品和干扰物品对应的图标,也即其他迷宫中放置的目标物品对应的图标、目标迷宫中放置的干扰物品对应的图标和其他迷宫中放置的干扰物品对应的图标均作为机器识别的干扰,不仅需要识别目标物品所在的位置,还需要对验证码图片中的迷宫进行分析,以确定目标对象所在的迷宫区域,机器破解难度较大。由此可见,本申请实施例提供的验证码实现装置,摆脱了传统验证码以信息识别、检测、输入的固有模式,引入了更多人类相关的认知和判断知识,借助人类的识别和逻辑判断能力,在不提高真人验证难度的基础上,提高了机器突破难度。
在上述实施例的基础上,作为一种优选实施方式,所述第一生成模块包括:
生成子模块,用于生成初始迷宫图片;其中,所述初始迷宫图片包括迷宫通路单元和迷宫墙体单元,任意两个迷宫通路单元均存在迷宫通路;
划分子模块,用于选择迷宫通路单元放置墙体,将所述初始迷宫图片中的迷宫通路单元划分为多个迷宫。
在上述实施例的基础上,作为一种优选实施方式,所述生成子模块具体用于:
生成目标尺寸的初始网格图片;其中,所述初始网格图片包括2X+1行、2Y+1列的多个单元,第2x行、第2y列的单元为迷宫通路单元,其余单元为迷宫墙体单元,1≤x≤X,1≤y≤Y;
选择起始迷宫通路单元,将所述起始迷宫通路单元加入检查列表中,并将所述起始迷宫通路单元标记为已访问;
在所述检查列表中选择目标迷宫通路单元,并判断所述目标迷宫通路单元是否存在未访问的相邻迷宫通路单元;
若是,则选择目标相邻迷宫通路单元,去除所述目标迷宫通路单元与所述目标相邻迷宫通路单元之间的墙体,将所述目标相邻迷宫通路单元标记为已访问,并将所述目标相邻迷宫通路单元加入所述检查列表;
若否,则将所述目标迷宫通路单元从所述检查列表中删除;
重新进入在所述检查列表中选择目标迷宫通路单元的步骤,直至所述检查列表为空,生成初始迷宫图片。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第一确定模块,用于根据验证码的难度等级确定所述目标尺寸;其中,所述目标尺寸与所述难度等级呈正相关。
在上述实施例的基础上,作为一种优选实施方式,所述划分子模块具体为选择第一迷宫通路单元为起始点,选择第二迷宫通路单元为终止点;搜索所述起止点至所述终止点的最短通路,在所述最短通路中放置墙体,将所述初始迷宫图片中的迷宫通路单元划分为多个迷宫的模块。
在上述实施例的基础上,作为一种优选实施方式,所述划分子模块具体为在所述初始迷宫图片的最左列中选择第一迷宫通路单元为起始点,在所述初始迷宫图片的最右列中选择第二迷宫通路单元为终止点;搜索所述起止点至所述终止点的最短通路,在所述最短通路中放置墙体,将所述初始迷宫图片中的迷宫通路单元划分为多个迷宫的模块。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第二确定模块,用于根据验证码的难度等级确定在所述最短通路中放置墙体的数量;其中,在所述最短通路中放置墙体的数量与所述难度等级呈正相关。
在上述实施例的基础上,作为一种优选实施方式,所述选择模块具体为将包含迷宫通路单元最多的迷宫确定为目标对象所在的目标迷宫,选择目标物品和干扰物品的模块。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第三确定模块,用于根据验证码的难度等级确定选择的所述目标物品的数量和/或选择的所述干扰物品的数量;其中,所述目标物品的数量与所述难度等级呈正相关,所述干扰物品的数量与所述难度等级呈正相关。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第四确定模块,用于根据验证码的难度等级确定相同的目标物品在所述目标迷宫和所述其他迷宫中放置的图标数量,和/或相同的干扰物品在所述目标迷宫和所述其他迷宫中放置的图标数量;其中,相同的目标物品在所述目标迷宫和所述其他迷宫中放置的图标数量与所述难度等级呈正相关,相同的干扰物品在所述目标迷宫和所述其他迷宫中放置的图标数量与所述难度等级呈正相关。
在上述实施例的基础上,作为一种优选实施方式,若所述目标迷宫中放置多个相同的目标物品对应的图标,则所述对比模块具体为若所述待验证位置信息与所述目标位置信息包含的位置坐标数量相同,且所述待验证位置信息包含的位置坐标均存在于所述目标位置信息中,则判定验证成功的模块。
在上述实施例的基础上,作为一种优选实施方式,若所述目标迷宫中放置多个不同的目标物品对应的图标,则所述对比模块具体为若所述待验证位置信息与所述目标位置信息完全一致,则判定验证成功的模块。
在上述实施例的基础上,作为一种优选实施方式,还包括:
预处理模块,用于对所述目标对象对应的图标和/或所述目标物品对应的图标和/或所述干扰物品对应的图标进行预处理操作;其中,预处理操作包括旋转、扭曲、缩放中任一项或任几项的组合。
下面对本申请实施例提供的一种验证码实现装置进行介绍,下文描述的一种验证码实现装置应用于客户端,与上文描述的一种验证码实现方法可以相互参照。
具体的,本申请实施例提供的验证码实现装置包括:
展示模块,用于接收服务器发送的验证码图片和目标物品对应的图标并进行展示;其中,所述验证码图片包含多个迷宫,目标对象所在的目标迷宫中包含所述目标对象对应的图标、所述目标物品对应的图标和所述干扰物品对应的图标,其他迷宫中包含所述目标物品对应的图标和所述干扰物品对应的图标;
第二接收模块,用于接收所述验证码图片中目标位置对应的触屏命令,在所述目标位置显示触屏图标;
第二生成模块,用于当接收到提交命令时,根据所述验证码图片中所有所述触屏图标的位置坐标生成待验证位置信息;
第二发送模块,用于将所述待验证位置信息发送至服务器进行验证。
在本实施例的基础上,作为一种优选实施方式,还包括:
删除模块,用于当接收到目标触屏图标对应的触屏命令时,删除显示的所述目标触屏图标。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请还提供了一种电子设备,参见图9,本申请实施例提供的一种电子设备的结构图,如图9所示,可以包括处理器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。
当然,图9所示的电子设备的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图9所示的更多或更少的部件,或者组合某些部件。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述任一实施例服务器或客户端所执行的验证码实现方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (17)
1.一种验证码实现方法,其特征在于,应用于服务器,包括:
生成迷宫图片;其中,所述迷宫图片包括多个迷宫;
确定目标对象所在的目标迷宫、目标物品和干扰物品;
在所述目标迷宫中放置所述目标对象对应的图标、所述目标物品对应的图标和所述干扰物品对应的图标,在其他迷宫中放置所述目标物品对应的图标和所述干扰物品对应的图标,以生成验证码图片;
记录所述目标迷宫中所有所述目标物品对应的图标的位置坐标,生成目标位置信息;
将所述验证码图片和所述目标物品对应的图标发送至客户端进行展示;
接收所述客户端发送的待验证位置信息;其中,所述客户端根据接收到的触屏命令对应的位置坐标生成所述待验证位置信息;
对比所述待验证位置信息与所述目标位置信息以确认验证结果。
2.根据权利要求1所述验证码实现方法,其特征在于,所述生成迷宫图片,包括:
生成初始迷宫图片;其中,所述初始迷宫图片包括迷宫通路单元和迷宫墙体单元,任意两个迷宫通路单元均存在迷宫通路;
选择迷宫通路单元放置墙体,将所述初始迷宫图片中的迷宫通路单元划分为多个迷宫。
3.根据权利要求2所述验证码实现方法,其特征在于,所述生成初始迷宫图片,包括:
生成目标尺寸的初始网格图片;其中,所述初始网格图片包括2X+1行、2Y+1列的多个单元,第2x行、第2y列的单元为迷宫通路单元,其余单元为迷宫墙体单元,1≤x≤X,1≤y≤Y;
选择起始迷宫通路单元,将所述起始迷宫通路单元加入检查列表中,并将所述起始迷宫通路单元标记为已访问;
在所述检查列表中选择目标迷宫通路单元,并判断所述目标迷宫通路单元是否存在未访问的相邻迷宫通路单元;
若是,则选择目标相邻迷宫通路单元,去除所述目标迷宫通路单元与所述目标相邻迷宫通路单元之间的墙体,将所述目标相邻迷宫通路单元标记为已访问,并将所述目标相邻迷宫通路单元加入所述检查列表;
若否,则将所述目标迷宫通路单元从所述检查列表中删除;
重新进入在所述检查列表中选择目标迷宫通路单元的步骤,直至所述检查列表为空,生成初始迷宫图片。
4.根据权利要求3所述验证码实现方法,其特征在于,还包括:
根据验证码的难度等级确定所述目标尺寸;其中,所述目标尺寸与所述难度等级呈正相关。
5.根据权利要求2所述验证码实现方法,其特征在于,所述选择迷宫通路单元放置墙体,将所述初始迷宫图片中的迷宫通路单元划分为多个迷宫,包括:
选择第一迷宫通路单元为起始点,选择第二迷宫通路单元为终止点;
搜索所述起止点至所述终止点的最短通路,在所述最短通路中放置墙体,将所述初始迷宫图片中的迷宫通路单元划分为多个迷宫。
6.根据权利要求5所述验证码实现方法,其特征在于,所述选择第一迷宫通路单元为起始点,选择第二迷宫通路单元为终止点,包括:
在所述初始迷宫图片的最左列中选择第一迷宫通路单元为起始点,在所述初始迷宫图片的最右列中选择第二迷宫通路单元为终止点。
7.根据权利要求5所述验证码实现方法,其特征在于,还包括:
根据验证码的难度等级确定在所述最短通路中放置墙体的数量;其中,在所述最短通路中放置墙体的数量与所述难度等级呈正相关。
8.根据权利要求1所述验证码实现方法,其特征在于,所述确定目标对象所在的目标迷宫,包括:
将包含迷宫通路单元最多的迷宫确定为目标对象所在的目标迷宫。
9.根据权利要求1所述验证码实现方法,其特征在于,还包括:
根据验证码的难度等级确定选择的所述目标物品的数量和/或选择的所述干扰物品的数量;其中,所述目标物品的数量与所述难度等级呈正相关,所述干扰物品的数量与所述难度等级呈正相关。
10.根据权利要求1所述验证码实现方法,其特征在于,还包括:
根据验证码的难度等级确定相同的目标物品在所述目标迷宫和所述其他迷宫中放置的图标数量,和/或相同的干扰物品在所述目标迷宫和所述其他迷宫中放置的图标数量;其中,相同的目标物品在所述目标迷宫和所述其他迷宫中放置的图标数量与所述难度等级呈正相关,相同的干扰物品在所述目标迷宫和所述其他迷宫中放置的图标数量与所述难度等级呈正相关。
11.根据权利要求1所述验证码实现方法,其特征在于,若所述目标迷宫中放置多个相同的目标物品对应的图标,则对比所述待验证位置信息与所述目标位置信息以确认验证结果,包括:
若所述待验证位置信息与所述目标位置信息包含的位置坐标数量相同,且所述待验证位置信息包含的位置坐标均存在于所述目标位置信息中,则判定验证成功。
12.根据权利要求1所述验证码实现方法,其特征在于,若所述目标迷宫中放置多个不同的目标物品对应的图标,则对比所述待验证位置信息与所述目标位置信息以确认验证结果,包括:
若所述待验证位置信息与所述目标位置信息完全一致,则判定验证成功。
13.根据权利要求1所述验证码实现方法,其特征在于,在所述目标迷宫中放置所述目标对象对应的图标、目标物品对应的图标和干扰物品对应的图标,在其他迷宫中放置所述目标物品对应的图标和所述干扰物品对应的图标之前,还包括:
对所述目标对象对应的图标和/或所述目标物品对应的图标和/或所述干扰物品对应的图标进行预处理操作;其中,预处理操作包括旋转、扭曲、缩放中任一项或任几项的组合。
14.一种验证码实现方法,其特征在于,应用于客户端,包括:
接收服务器发送的验证码图片和目标物品对应的图标并进行展示;其中,所述验证码图片包含多个迷宫,目标对象所在的目标迷宫中包含所述目标对象对应的图标、所述目标物品对应的图标和所述干扰物品对应的图标,其他迷宫中包含所述目标物品对应的图标和所述干扰物品对应的图标;
接收所述验证码图片中目标位置对应的触屏命令,在所述目标位置显示触屏图标;
当接收到提交命令时,根据所述验证码图片中所有所述触屏图标的位置坐标生成待验证位置信息;
将所述待验证位置信息发送至服务器进行验证。
15.根据权利要求14所述验证码实现方法,其特征在于,还包括:
当接收到目标触屏图标对应的触屏命令时,删除显示的所述目标触屏图标。
16.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至15任一项所述验证码实现方法的步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至15任一项所述验证码实现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111630667.6A CN114282198A (zh) | 2021-12-28 | 2021-12-28 | 验证码实现方法及电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111630667.6A CN114282198A (zh) | 2021-12-28 | 2021-12-28 | 验证码实现方法及电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114282198A true CN114282198A (zh) | 2022-04-05 |
Family
ID=80877381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111630667.6A Pending CN114282198A (zh) | 2021-12-28 | 2021-12-28 | 验证码实现方法及电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114282198A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118627050A (zh) * | 2024-08-12 | 2024-09-10 | 成都赛力斯科技有限公司 | 图片交互验证方法、电子设备及存储介质 |
-
2021
- 2021-12-28 CN CN202111630667.6A patent/CN114282198A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118627050A (zh) * | 2024-08-12 | 2024-09-10 | 成都赛力斯科技有限公司 | 图片交互验证方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104823198B (zh) | 计算装置的安全识别装置和安全识别方法 | |
CN104618350B (zh) | 一种图片验证码的生成方法 | |
CN109033772B (zh) | 一种验证信息的输入方法及装置 | |
US20120272302A1 (en) | Human User Verification | |
CN106034029A (zh) | 基于图片验证码的验证方法和装置 | |
CN111580730B (zh) | 应用程序的后台显示方法、电子设备及存储介质 | |
CN106341403A (zh) | 一种验证码防刷的方法 | |
CN105989256A (zh) | 基于用户行为的数据验证方法及装置 | |
CN107766106B (zh) | 生成配置文件的方法和装置 | |
WO2024159943A1 (zh) | 图纸表格区域检测方法、装置、存储介质和电子设备 | |
CN111857704A (zh) | 一种布局关系的代码生成方法及装置 | |
CN112988557A (zh) | 一种搜索框定位方法、数据采集方法、装置及介质 | |
CN113918898A (zh) | 基于轨迹绘制交互的安全验证码生成方法、系统及介质 | |
CN114282198A (zh) | 验证码实现方法及电子设备和计算机可读存储介质 | |
CN108470126A (zh) | 数据处理方法、装置及存储介质 | |
CN114282258A (zh) | 截屏数据脱敏方法、装置、计算机设备及存储介质 | |
CN110795706B (zh) | 基于哈希的验证方法、设备、存储介质及装置 | |
CN109741420B (zh) | 一种区域填充方法、装置、电子设备及存储介质 | |
US20230297661A1 (en) | Computer challenge systems based on shape combinations | |
CN113158167B (zh) | 验证码实现方法及电子设备和计算机可读存储介质 | |
CN106161338A (zh) | 用于验证用户身份的方法及装置 | |
US20120023549A1 (en) | CAPTCHA AND reCAPTCHA WITH SINOGRAPHS | |
Payal et al. | JigCAPTCHA: An Advanced Image-Based CAPTCHA Integrated with Jigsaw Piece Puzzle using AJAX | |
CN114281224A (zh) | 一种基于滑块的校验方法及装置 | |
CN107272920B (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 |