一种验证码生成验证的方法和装置与流程

文档序号:12604383阅读:175来源:国知局
一种验证码生成验证的方法和装置与流程

本发明涉及通信技术领域,具体涉及一种验证码生成验证的方法和装置。



背景技术:

随着网络通信技术的发展,可以通过终端设备链接网络进行聊天、购物、支付、访问论坛等,为了保证终端设备和网络服务的安全,常常会通过验证码对用户进行验证。目前安全性比较高的一种验证码是文字和干扰图形组合成的图形验证码。

上述图形验证码的生成验证过程如下:从预设图形文字库中随机选取文字和干扰图形,将选取的文字和干扰图形进行组合得到图形文字验证码;展示图形文字验证码;获取原生键盘激活指令,激活原生键盘;获取通过原生键盘输入的文字,对输入的文字进行验证。

现有生成的图形验证码,当干扰图形很多时,干扰很大,用户不易识别验证码中的文字,浪费时间;且现有的图形验证码验证时,需要激活原生键盘,通过原生键盘输入文字,验证过程繁琐。



技术实现要素:

为了解决现有技术的问题,本发明提供了一种验证码生成验证的方法和装置,将预设个图形与预设个字符图形进行组合,得到完形验证码,方便用户识别验证码中的图形,可以节约时间;且用户通过绘制所识别的图形进行绘制输入,不需要激活原生键盘,验证过程简单快捷。

为了解决上述问题,本发明公开了一种验证码生成验证的方法,所述方法包括:

从预设图形库中选取预设个图形,从预设字符图形库中选取预设个字符图形;

将所述预设个图形与所述预设个字符图形进行组合,得到完形验证码;

展示所述完形验证码,获取用户通过触摸方式绘制输入的图形;

根据所述完形验证码中所含有的图形,对所述用户绘制输入的图形进行验证。

进一步地,从预设图形库中选取预设个图形,从预设字符图形库中选取预设个字符图形;将所述预设个图形与所述预设个字符图形进行组合,得到完形验证码,包括:

从所述预设图形库中随机选取所述预设个图形,将所述预设个图形中每个图形设置为预设颜色预设大小的图形;

按照所述每个图形的像素不触碰预设画布的边缘、所述每个图形相互不叠加的规定,将所述预设个图形设置在所述预设画布内;

从所述预设字符图形库中选取所述预设个字符图形,将所述预设个字符图形中每个字符图形设置为预设颜色预设大小的字符图形;

将所述预设个字符图形设置在所述预设个图形的上层,与所述预设个图形进行叠加,得到所述完形验证码。

进一步地,所述预设画布为设置的所述完形验证码在终端设备中的最大边界区域。

进一步地,将所述预设个字符图形设置在所述预设个图形的上层,与所述预设个图形进行叠加时,所述预设个字符图形与所述预设个图形的叠加区域的大小小于等于预设叠加阈值。

进一步地,展示所述完形验证码,获取用户通过触摸方式绘制输入的图形,包括:

在终端设备的触摸屏的预设展示位置展示所述完形验证码;

获取所述用户在所述终端设备的触摸屏的预设输入位置绘制输入的图形;

或,展示所述完形验证码,获取用户通过触摸方式绘制输入的图形,包括:

在终端设备的屏幕的预设展示位置展示所述完形验证码;

获取所述用户通过所述终端设备的触摸板或触摸鼠标,在所述终端设备的屏幕的预设输入位置绘制输入的图形。

进一步地,根据所述完形验证码中所含有的图形,对所述用户绘制输入的图形进行验证,包括:

将所述完形验证码中所含有的图形与所述用户绘制输入的图形进行比对;

当所述用户绘制输入的图形包含所述完形验证码中所含有的所有图形时,验证成功;

当所述用户绘制输入的图形没有包含所述完形验证码中所含有的所有图形时,验证失败。

为了解决上述问题,本发明还公开了一种验证码生成验证的装置,所述装置包括:

处理模块,用于从预设图形库中选取预设个图形,从预设字符图形库中选取预设个字符图形;将所述预设个图形与所述预设个字符图形进行组合,得到完形验证码;

获取模块,用于展示所述完形验证码,获取用户通过触摸方式绘制输入的图形;

验证模块,用于根据所述完形验证码中所含有的图形,对所述用户绘制输入的图形进行验证。

进一步地,所述处理模块包括:

选取单元,用于从所述预设图形库中随机选取所述预设个图形,将所述预设个图形中每个图形设置为预设颜色预设大小的图形;

第一设置单元,用于按照所述每个图形的像素不触碰预设画布的边缘、所述每个图形相互不叠加的规定,将所述预设个图形设置在所述预设画布 内;

第二设置单元,用于从所述预设字符图形库中选取所述预设个字符图形,将所述预设个字符图形中每个字符图形设置为预设颜色预设大小的字符图形;

叠加单元,用于将所述预设个字符图形设置在所述预设个图形的上层,与所述预设个图形进行叠加,得到所述完形验证码。

进一步地,所述预设画布为设置的所述完形验证码在终端设备中的最大边界区域。

进一步地,将所述预设个字符图形设置在所述预设个图形的上层,与所述预设个图形进行叠加时,所述预设个字符图形与所述预设个图形的叠加区域的大小小于等于预设叠加阈值。

进一步地,所述获取模块包括:

第一展示单元,用于在终端设备的触摸屏的预设展示位置展示所述完形验证码;

第一获取单元,用于获取所述用户在所述终端设备的触摸屏的预设输入位置绘制输入的图形;

或,所述获取模块包括:

第二展示单元,用于在终端设备的屏幕的预设展示位置展示所述完形验证码;

第二获取单元,用于获取所述用户通过所述终端设备的触摸板或触摸鼠标,在所述终端设备的屏幕的预设输入位置绘制输入的图形。

进一步地,所述验证模块包括:

比对单元,用于将所述完形验证码中所含有的图形与所述用户绘制输入的图形进行比对;

第一验证单元,用于当所述用户绘制输入的图形包含所述完形验证码中所含有的所有图形时,验证成功;

第二验证单元,用于当所述用户绘制输入的图形没有包含所述完形验证 码中所含有的所有图形时,验证失败。

与现有技术相比,本发明可以获得包括以下技术效果:

1)将预设个图形与预设个字符图形进行组合,得到完形验证码,方便用户识别验证码中的图形,可以节约时间;且用户通过绘制所识别的图形进行绘制输入,不需要激活原生键盘,验证过程简单快捷。

2)预设个字符图形与预设个图形的叠加区域的大小最多不超过预设叠加阈值,可以避免预设个字符图形与预设个图形重叠的部分太多,无法辨识图形。

当然,实施本发明的任一产品必不一定需要同时达到以上所述的所有技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的第一种验证码生成验证的方法流程图;

图2是本发明实施例的第二种验证码生成验证的方法流程图;

图3是本发明实施例的第三种验证码生成验证的方法流程图;

图4是本发明实施例的一种预设图形库的示意图;

图5是本发明实施例的一种预设字符图形库的示意图;

图6是本发明实施例的第四种验证码生成验证的方法流程图;

图7是本发明实施例的第一种验证码的示意图;

图8是本发明实施例的第二种验证码的示意图;

图9是本发明实施例的第三种验证码的示意图;

图10是本发明实施例的第四种验证码的示意图;

图11是本发明实施例的第五种验证码的示意图;

图12是本发明实施例的第六种验证码的示意图;

图13是本发明实施例的第七种验证码的示意图;

图14是本发明实施例的手机中的验证码生成验证的方法流程图;

图15是本发明实施例的一种验证码生成验证的装置结构示意图。

具体实施方式

以下将配合附图及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收 的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

实施例描述

下面以一实施例对本发明方法的实现作进一步说明。如图1所示,为本发明实施例的一种验证码生成验证的方法流程图,该方法包括:

S101:从预设图形库中选取预设个图形,从预设字符图形库中选取预设个字符图形。

具体地,预先设置一个图形库和字符图形库,预设图形库中包括圆形、方形、三角形、多边形、星形等。预设字符图形库中包括圆形、方形、三角形、文字、字母等,预设字符图形库中的字符图形优选为SVG(Scalable Vector Graphics,可伸缩矢量图形)矢量图形。

S102:将预设个图形与预设个字符图形进行组合,得到完形验证码。

具体地,本实施例的验证码将图形与字符图形进行组合得到,在验证时,用户识别验证码中包含的图形,并绘制输入,当用户绘制了验证码中包含的所有图形时,验证通过。本实施例的验证码生成验证过程,适于人类识别却不利于计算机程序(AI)识别,本实施例的验证码生成验证过程符合完行心理学的理论,因此可以将本实施例的验证码称为完形验证码。

S103:展示完形验证码,获取用户通过触摸方式绘制输入的图形。

具体地,本实施例的方法可以用于具有触摸屏的移动终端、或计算机等终端设备。当用于具有触摸屏的移动终端等终端设备时,在终端设备的触摸屏的预设展示位置展示完形验证码,获取用户在终端设备的触摸屏的预设输入位置绘制输入的图形。当用于计算机等终端设备时,在终端设备的屏幕的预设展示位置展示完形验证码;获取用户通过终端设备的触摸板或触摸鼠标,在终端设备的屏幕的预设输入位置绘制输入的图形。

具体地,用户识别完形验证码中包含的图形,将完形验证码中包含的所有图形一一绘制输入,需要说明的是,在绘制输入时可以不设定绘制输入的顺序,只要最终绘制输入了完形验证码中包含的所有图形即验证成功;如果来自预设图形库和预设字符图形库中的图形可以区分开(如通过分层的方式或颜色的方式等)也可以设定绘制输入的顺序,如先输入来自预设图形库的图形,再输入来自预设字符图形库中的图形等,只有用户按照顺序输入了完形验证码中包含的所有图形才验证成功。

S104:根据完形验证码中所含有的图形,对用户绘制输入的图形进行验证。

具体地,如果用户绘制输入了完形验证码中所含有的所有图形,则验证成功;如果用户没有绘制输入完形验证码中所含有的所有图形(包含没有输入或虽输入但图形错误等),则验证失败。

其中,在本实施例的一优选实施例中,参见图2,从预设图形库中选取预设个图形,从预设字符图形库中选取预设个字符图形;将预设个图形与预设个字符图形进行组合,得到完形验证码,包括:

S101a:从预设图形库中随机选取预设个图形,将预设个图形中每个图形设置为预设颜色预设大小的图形。

其中,预设个可以是1个、2个等,并且,可以设置每次生成完形验证码时,预设个图形的数量是固定的,或随机改变的,可以根据实际应用状况进行设置,对此不做具体限定。

其中,预设颜色可以是满色黑色等颜色,预设大小可以根据终端设备和实际应用情况进行设置。

S101b:按照预设个图形中每个图形的像素不触碰预设画布的边缘、预设个图形中每个图形相互不叠加的规定,将预设个图形设置在预设画布内。

其中,预设画布为生成完形验证码的最大边界区域。预设画布的颜色可以设置为白色、黑色等,可以根据实际应用状况进行设置。

并且,每个图形相互不叠加是为了便于用户识别图形,实际应用中,在用户能够识别出图形的前提下,也可以部分叠加。

S101c:从预设字符图形库中选取预设个字符图形,将预设个字符图形中每个字符图形设置为预设颜色预设大小的字符图形。

其中,预设个可以是1个、2个等,并且,可以设置每次生成完形验证码时,预设个字符图形的数量是固定的,或随机改变的,可以根据实际应用状况进行设置,对此不做具体限定。并且,预设个字符图形的个数一般小于预设个图形的个数。

其中,预设颜色可以是白色等颜色,预设大小可以根据终端设备、预设个图形的大小等进行设置。

S101d:将预设个字符图形设置在预设个图形的上层,与预设个图形进行叠加,得到完形验证码。

具体地,为了防止预设个字符图形与预设个图形重叠的部分太多,无法辨识图形,将预设个字符图形设置在预设个图形的上层,与预设个图形进行叠加时,预设个字符图形与预设个图形的叠加区域的大小最多不超过预设叠加阈值,其中,预设叠加阈值可以设置为50%、60%等,可以根据实际应用状况进行设置,对此不做限定。

其中,在本实施例的一优选实施例中,参见图3,根据完形验证码中所含有的图形,对用户绘制输入的图形进行验证,包括:

S104a:将完形验证码中所含有的图形与用户绘制输入的图形进行比对。

具体地,用户每绘制输入一个图形,就与完形验证码中所含有的图形进 行比对;判断完形验证码中是否存在一图形与用户绘制输入的图形的相似度满足预设相似度阈值;如果存在,则将完形验证码中与用户绘制输入的图形的相似度满足预设相似度阈值的同一类图形标为已验证;如果不存在,则提示绘制输入错误。

其中,预设相似度阈值可以是70%、80%等,可以根据实际应用状况进行设置。

S104b:当用户绘制输入的图形包含完形验证码中所含有的所有图形时,验证成功,然后结束。

S104c:当用户绘制输入的图形没有包含完形验证码中所含有的所有图形时,验证失败,然后结束。

本实施例所述的验证码生成验证的方法,将预设个图形与预设个字符图形进行组合,得到完形验证码,方便用户识别验证码中的图形,可以节约时间;且用户通过绘制所识别的图形进行绘制输入,不需要激活原生键盘,验证过程简单快捷。预设个字符图形与预设个图形的叠加区域的大小最多不超过预设叠加阈值,可以避免预设个字符图形与预设个图形重叠的部分太多,无法辨识图形。

为了便于理解,下面列举具体的验证码生成验证的例子,参见图4,本实施例中预设图形库中包括圆形、方形和三角形。参见图5,本实施例中预设字符图形库中包括圆形、方形、三角形、英语字母的SVG矢量图形。参见图6,验证码生成验证的方法如下:

S201:从预设图形库中选取1个图形(圆形),将圆形设置为100px*100px大小的满色(黑色)。

具体地,圆形如图7中的所示。

S202:按照圆形的像素不触碰预设画布的边缘、圆形相互不叠加的规定,将圆形设置在预设画布内。

其中,本实施例中预设画布的大小为800px*800px,预设画布的颜色为白色,预设画布如图7中的所示。

需要说明的是,为了美观、增加辨识度,可将选取的图形进行复制,增加图形数量,以叠满预设个字符图形的外框,如图7所示,将圆形复制为多个。

S203:从预设字符图形库中选取1个字符图形(三角形),将三角形设置为600px*600px大小的满色(白色)。

S204:将600px*600px大小的三角形叠加在100px*100px大小的圆形的上层,得到完形验证码。

具体地,得到的完形验证码如图7所示。本实施例中设置预设叠加阈值为50%,即600px*600px大小的三角形与100px*100px大小的圆形的叠加区域的大小最多不超过50%。

具体地,参见图8、9和10,为选择不同图形和字符图形时,得到的完形验证码。并且,参见图11和12,实际应用中字符图形还可以是文字或企业logo等,增加完形验证码的意义,

需要说明的是,本实施例中字符图形的个数是1个,实际应用中字符图形的个数也可以是多个,例如:当字符图形的个数是2个(三角形和圆形)时,得到的完形验证码如图13。

S205:在终端设备的触摸屏的预设展示位置展示完形验证码。

具体地,参见图14,终端设备为手机,预设展示位置在终端设备的触摸屏上部分。

S206:获取用户在终端设备的触摸屏的预设输入位置绘制输入的图形。

具体地,参见图14,终端设备为手机,预设输入位置在终端设备的触摸屏下部分。

S207:根据完形验证码中所含有的图形,对用户绘制输入的图形进行验证。

具体地,当用户输入一个三角形,三角形是完形验证码中所含有的图形,则对完形验证码中的三角形验证完成。用户再次输入一个方形,方形是完形验证码中所没有含有的图形,则错误。用户再次输入一个圆形,圆形是完形验证码中所含有的图形,且完形验证码中包含的所有图形为三角形和圆形, 因此验证成功。需要说明的是,实际应用中,可以在验证过程中在预设提示位置通过预设提示信息(如文字、声音或图像等)提示当前用户绘制输入的图形是否验证通过,在验证成功后,用户进入相应的功能,在验证失败后,通过预设提示信息(如文字、声音或图像等)提示用户验证失败。

如图15所示,是本发明实施例的一种验证码生成验证的装置结构图,该装置包括:

处理模块301,用于从预设图形库中选取预设个图形,从预设字符图形库中选取预设个字符图形;将预设个图形与预设个字符图形进行组合,得到完形验证码;

获取模块302,用于展示完形验证码,获取用户通过触摸方式绘制输入的图形;

验证模块303,用于根据完形验证码中所含有的图形,对用户绘制输入的图形进行验证。

进一步地,处理模块301包括:

选取单元,用于从预设图形库中随机选取预设个图形,将预设个图形中每个图形设置为预设颜色预设大小的图形;

第一设置单元,用于按照每个图形的像素不触碰预设画布的边缘、每个图形相互不叠加的规定,将预设个图形设置在预设画布内;

第二设置单元,用于从预设字符图形库中选取预设个字符图形,将预设个字符图形中每个字符图形设置为预设颜色预设大小的字符图形;

叠加单元,用于将预设个字符图形设置在预设个图形的上层,与预设个图形进行叠加,得到完形验证码。

进一步地,预设画布为设置的完形验证码在终端设备中的最大边界区域。

进一步地,将预设个字符图形设置在预设个图形的上层,与预设个图形进行叠加时,预设个字符图形与预设个图形的叠加区域的大小小于等于预设叠加阈值。

进一步地,获取模块302包括:

第一展示单元,用于在终端设备的触摸屏的预设展示位置展示完形验证码;

第一获取单元,用于获取用户在所述终端设备的触摸屏的预设输入位置绘制输入的图形;

或,获取模块302包括:

第二展示单元,用于在终端设备的屏幕的预设展示位置展示完形验证码;

第二获取单元,用于获取用户通过所述终端设备的触摸板或触摸鼠标,在所述终端设备的屏幕的预设输入位置绘制输入的图形。

进一步地,验证模块303包括:

比对单元,用于将完形验证码中所含有的图形与用户绘制输入的图形进行比对;

第一验证单元,用于当用户绘制输入的图形包含完形验证码中所含有的所有图形时,验证成功;

第二验证单元,用于当用户绘制输入的图形没有包含完形验证码中所含有的所有图形时,验证失败。

本实施例所述的验证码生成验证的装置,将预设个图形与预设个字符图形进行组合,得到完形验证码,方便用户识别验证码中的图形,可以节约时间;且用户通过绘制所识别的图形进行绘制输入,不需要激活原生键盘,验证过程简单快捷。预设个字符图形与预设个图形的叠加区域的大小最多不超过预设叠加阈值,可以避免预设个字符图形与预设个图形重叠的部分太多,无法辨识图形。

所述装置与前述的方法流程描述对应,不足之处参考上述方法流程的叙述,不再一一赘述。

上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除, 而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1