CN104065666B - 一种生成图片验证码的方法及装置 - Google Patents

一种生成图片验证码的方法及装置 Download PDF

Info

Publication number
CN104065666B
CN104065666B CN201410314504.0A CN201410314504A CN104065666B CN 104065666 B CN104065666 B CN 104065666B CN 201410314504 A CN201410314504 A CN 201410314504A CN 104065666 B CN104065666 B CN 104065666B
Authority
CN
China
Prior art keywords
code
interference strength
checking
picture validation
strength rank
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
Application number
CN201410314504.0A
Other languages
English (en)
Other versions
CN104065666A (zh
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.)
Beijing Cheerbright Technologies Co Ltd
Original Assignee
Beijing Cheerbright Technologies Co 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 Beijing Cheerbright Technologies Co Ltd filed Critical Beijing Cheerbright Technologies Co Ltd
Priority to CN201410314504.0A priority Critical patent/CN104065666B/zh
Publication of CN104065666A publication Critical patent/CN104065666A/zh
Priority to HK15100779.0A priority patent/HK1200614A1/zh
Application granted granted Critical
Publication of CN104065666B publication Critical patent/CN104065666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种生成图片验证码的方法及装置。所述装置包括:验证码生成器,适于根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码;验证码识别器,适于对所述预定数目个图片验证码进行识别;识别率计算单元,适于计算验证码识别器对预定数目个图片验证码进行识别的验证码识别正确率;设置单元,适于输出预定干扰强度级别到验证码生成器,并在识别率计算单元计算得到的验证码识别正确率低于预设门限时,将当前预定干扰强度级别设置为生效干扰强度级别,以供验证码生成器生成具有该生效干扰强度级别的图片验证码提供给客户端。本发明实现了在保证用户使用方便的前提下,降低图片验证码被验证码识别软件破解的概率。

Description

一种生成图片验证码的方法及装置
技术领域
本发明涉及互联网技术领域,具体涉及一种生成图片验证码的方法及装置。
背景技术
随着互联网的高速发展,在网络给人们提供了丰富资源的同时,网络的安全问题也日渐突出,验证码技术便应运而生。网站图片验证码的设计目的是通过利用人脑的不可模拟性,来防止恶意软件对网站进行大量的恶意自动操作。但是一个比较简单的图片验证码很容易会被验证码识别软件所破解。对于有经验的黑客来说,简单的图片验证码技术除了增加网站的流量以外,就形同虚设。所以只有设计出较复杂的不易被破解的图片验证码才能真正有效地保证网络站点的安全。
但是,如果图片验证码设计的太复杂,会加大人眼识别的难度,在用户的友好性上做的不好。因此,如何兼顾用户使用的方便和降低图片验证码被验证码识别软件破解的概率,就成为亟待解决的技术问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的生成图片验证码的方法及装置。
根据本发明的一个方面,提供了一种生成图片验证码的装置,所述装置包括:
验证码生成器,适于根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码;
验证码识别器,适于对验证码生成器生成的预定数目个图片验证码进行识别;
识别率计算单元,适于计算验证码识别器对预定数目个图片验证码进行识别的验证码识别正确率;以及
设置单元,适于输出预定干扰强度级别到验证码生成器,并接收识别率计算单元计算得到的验证码识别正确率,并在识别率计算单元计算得到的验证码识别正确率低于预设门限时,将当前预定干扰强度级别设置为验证码生成器的生效干扰强度级别,以供验证码生成器生成具有该生效干扰强度级别的图片验证码提供给客户端。
可选地,所述验证码生成器进一步适于:
根据输入的干扰强度级别确定与该干扰强度级别对应的干扰因素;
根据所确定的干扰因素生成图片验证码。
可选地,所述干扰因素包括如下的一个或一个以上的组合:
验证字符数目、噪声点数目、噪声线数目、字符随机角度旋转的最大角度值、字符扭曲变形的程度和字符间的粘连程度。
可选地,所述识别率计算单元进一步适于:
获取验证码识别器所识别出的预定数目个验证字符串;
将识别出的每个验证字符串与对应的原始验证字符串进行比较,确定该验证字符串是否正确;
根据正确的字符串数目和所述预定数目之间的比率,得到验证码识别正确率。
可选地,所述预设门限为15%~25%。
根据本发明的另一方面,提供了一种生成图片验证码的方法,所述方法包括:
设置预定干扰强度级别并输入到验证码生成器;
由验证码生成器根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码;
由验证码识别器对验证码生成器生成的预定数目个图片验证码进行识别;
计算验证码识别器对预定数目个图片验证码进行识别的验证码识别正确率;以及
当计算得到的验证码识别正确率低于预设门限时,将当前干扰强度级别设置为验证码生成器的生效干扰强度级别,以供验证码生成器生成具有该生效干扰强度级别的图片验证码提供给客户端;
当计算得到的验证码识别正确率不低于上述预设门限时,增加所述预定干扰强度级别,并输入到验证码生成器。
可选地,所述根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码,包括:
根据输入的干扰强度级别确定与该干扰强度级别对应的干扰因素;
根据所确定的干扰因素生成图片验证码。
可选地,所述干扰因素包括如下的一个或一个以上的组合:
验证字符数目、噪声点数目、噪声线数目、字符随机角度旋转的最大角度值、字符扭曲变形的程度和字符间的粘连程度。
可选地,所述计算验证码识别器对预定数目个图片验证码进行识别的验证码识别正确率,包括:
获取验证码识别器所识别出的预定数目个验证字符串;
将识别出的每个验证字符串与对应的原始验证字符串进行比较,确定该验证字符串是否正确;
根据正确的字符串数目和所述预定数目之间的比率,得到验证码识别正确率。
可选地,所述预设门限为15%~25%
根据本发明的生成图片验证码的方案,按照预定干扰强度级别来生成预定数目个图片验证码,采用验证码识别软件对生成的图片验证码进行自动识别,并计算各干扰强度级别下的验证码识别正确率,当验证码识别正确率低于预设门限时,将当前干扰强度级别设置为生效干扰强度级别,当验证码识别正确率不低于上述预设门限时,增加所述预定干扰强度级别,如此,即能够保证根据该生效干扰强度级别生成的图片验证码容易被人眼识别,从而提升用户体验,也能够降低图片验证码被验证码识别软件破解的概率,从而提高网络安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的生成图片验证码的系统的结构图;
图2示出了根据本发明一个实施例的生成图片验证码的装置的结构图;以及
图3示出了根据本发明一个实施例的生成图片验证码的方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的生成图片验证码的系统的结构图。如图1所示,生成图片验证码的系统包括多个客户端110(图中示出了3个)、为这些客户端110提供各种网络资源的服务器端120,客户端110和服务器端120经由互联网络而相互通信。
在本发明实施例中,客户端110可以是本领域任何可以呈现从服务器端120获取的网络资源的设备,包括但不限于桌面型计算机、笔记本式计算机、个人数字助理、智能移动终端和平板电脑等。客户端110具有操作系统,利用操作系统来管理客户端110中的硬件资源,操作系统上运行有浏览器,所述浏览器能够呈现从服务器端120获取的网络资源。
服务器端120包括但不限于网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
服务器端120具有生成图片验证码的装置200。服务器端120获取到用户通过客户端110在访问页面中提交的验证请求时,由所述生成图片验证码的装置200根据所述验证请求生成图片验证码,并将所生成的图片验证码提供至客户端110上的所述访问页面。
生成图片验证码的装置200可以生成不同干扰强度级别的图片验证码,干扰强度级别越高,生成的图片验证码被自动破解的难度级别就越高,但是,如果图片验证码设计的太复杂,会加大人眼识别的难度,在用户的友好性上做的不好。因此,为兼顾用户使用的方便和降低图片验证码被验证码识别软件破解的概率,本发明实施例的生成图片验证码的装置200会根据预定干扰强度级别来生成预定数目个图片验证码,采用验证码识别软件对生成的图片验证码进行自动识别,并计算各干扰强度级别下的验证码识别正确率,当验证码识别正确率低于预设门限时,将当前干扰强度级别设置为生效干扰强度级别,当验证码识别正确率不低于上述预设门限时,增加所述预定干扰强度级别,如此,即能够保证根据该生效干扰强度级别生成的图片验证码容易被人眼识别,从而提升用户体验,也能够降低图片验证码被验证码识别软件破解的概率,从而提高网络安全性。
图2示出了根据本发明一个实施例的生成图片验证码的装置200的结构图。所述生成图片验证码的装置200设置在服务器端120中,适于根据客户端110在访问页面中提交的验证请求生成图片验证码,并将所生成的图片验证码提供至客户端110上的所述访问页面。
参照图2,所述生成图片验证码的装置包括验证码生成器210、验证码识别器220、识别率计算单元230和设置单元240。
验证码生成器210适于根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码。其中,所述干扰强度级别由设置单元240输出到验证码生成器210。
验证码生成器210首先根据输入的干扰强度级别确定与该干扰强度级别对应的干扰因素,然后根据所确定的干扰因素来生成图片验证码。其中,影响图片验证码的复杂度的干扰因素主要包括:验证字符数目、噪声点数目、噪声线数目、字符随机角度旋转的最大角度值、字符扭曲变形的程度和字符间的粘连程度。当然,除了以上所列举的干扰因素之外,还有一些干扰因素也会影响到图片验证码的复杂度,本发明实施例对具体采用的干扰因素不做限制。
验证码生成器210会根据验证字符集随机产生一个验证字符串,并将产生的验证字符串保存在例如内存中。验证字符数目是所述验证字符串中所包括的验证字符的数目,所述验证字符可以是数字、字母,甚至是汉字等。后续,会根据所产生的验证字符串以及其他干扰因素来生成图片验证码。验证字符数目越大,则所生成的图片验证码的复杂度越高。
在生成图片验证码时,可以在图片中添加一些噪声点,噪声点的位置在图片中随机分布。噪声点数目越大,则所生成的图片验证码的复杂度越高。
在生成图片验证码时,可以在图片中添加一些噪声线,噪声线的位置在图片中随机分布。噪声线数目越大,则所生成的图片验证码的复杂度越高。
在生成图片验证码时,可以对图片中的各验证字符进行旋转,旋转的角度可以随机产生,但不大于所设置的最大角度值。字符随机角度旋转的最大角度值越大,则所生成的图片验证码的复杂度越高。
在生成图片验证码时,可以对图片中的各验证字符进行扭曲变形,字符扭曲变形的程度可以为一般、较大、严重。字符扭曲变形的程度越大,则所生成的图片验证码的复杂度越高。
在生成图片验证码时,可以使得图片中的各验证字符进行粘连,字符间的粘连程度可以为一般、较大、严重。字符间的粘连程度越大,则所生成的图片验证码的复杂度越高。
在本发明实施例中,会预先建立干扰强度级别与干扰因素组合的映射关系,即一种级别的干扰强度级别对应一种干扰因素组合,且干扰强度级别越高,所生成的图片验证码的复杂度也越高,也就越不容易被验证码识别软件所破解。例如,干扰强度级别1对应的干扰因素组合为{验证字符数目为4,噪声点数目为30,字符扭曲变形的程度为一般},干扰强度级别2对应的干扰因素组合为{验证字符数目为4,噪声点数目为50,字符随机角度旋转的最大角度值为30度,字符扭曲变形的程度为一般},干扰强度级别3对应的干扰因素组合为{验证字符数目为4,噪声点数目为50,噪声线数目为4,字符随机角度旋转的最大角度值为45度,字符扭曲变形的程度为较大,字符间的粘连程度为一般},……,。需要说明的是,本发明实施例对干扰强度级别与干扰因素组合的具体映射关系不做限制,本领域技术人员可以根据经验或者需要合理设置。
验证码生成器210生成图片验证码的示例性代码如下:
可以看出,根据上述代码,其用于生成图片验证码的干扰因素包括:数目为length的验证字符,最大角度值为45度的字符随机角度旋转,数目为50的噪声点,以及随机字符大小、随机字体、随机字符颜色、字符部分重叠。
在验证码生成器210根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码之后,由验证码识别器220对这些图片验证码进行识别。所述预定数目可以根据需要进行设定,例如,所述预定数目为100。
在一种实现方式中,对于每个图片验证码,验证码识别器220可以按照如下方式对其进行识别:
首先,获取图片验证码;
其次,对该图片验证码进行预处理,主要包括去除图片验证码中的各种噪声(例如噪声点和噪声线等)和对图片验证码进行黑白化处理以提高对比度;
然后,对图片验证码中的字符进行分割;
最后,对分割得到的字符进行识别,识别出其中包括的验证字符串。可以采用各种字符识别软件进行字符识别,例如可以调用Tesseract的tessnet2_32.dll类库进行所述字符识别。
字符识别的示例性代码如下:
在验证码识别器220对验证码生成器210生成的预定数目个图片验证码进行识别后,识别率计算单元230根据识别结果,计算验证码识别正确率。
识别率计算单元230首先获取验证码识别器220所识别出的预定数目个验证字符串,然后,将识别出的每个验证字符串与对应的原始验证字符串(即验证码生成器210在生成图片验证码的过程中,随机产生并保存在内存中的字符串)进行比较,确定该验证字符串是否正确,最后,根据正确的字符串数目和所述预定数目之间的比率,得到验证码识别正确率。
设置单元240适于输出预定干扰强度级别到验证码生成器(初始时,采用级别最低的干扰强度级别),并接收识别率计算单元230计算得到的验证码识别正确率,并在识别率计算单元230计算得到的验证码识别正确率低于预设门限时,将当前预定干扰强度级别设置为验证码生成器210的生效干扰强度级别,以供验证码生成器210生成具有该生效干扰强度级别的图片验证码提供给客户端110。其中,设置单元240可以按照干扰强度级别由低到高的顺序输出该干扰强度级别到验证码生成器210。
其中,所述预设门限可以根据本领域技术人员的经验或者根据实验确定,一般可以将所述预设门限设置为15%~25%,例如,将其设置为20%。
假设干扰强度级别共有10个级别,设置单元240首先输出干扰强度级别1到验证码生成器210,验证码生成器210生成了100个图片验证码,验证码识别器220正确识别出了其中的60个,则识别率计算单元230计算出的验证码识别正确率为70%,大于预设门限20%,需要提高干扰强度级别。
下一步,设置单元240输出干扰强度级别2到验证码生成器210,验证码生成器210生成了100个图片验证码,验证码识别器220正确识别出了其中的36个,则识别率计算单元230计算出的验证码识别正确率为36%,大于预设门限20%,需要提高干扰强度级别。
下一步,设置单元240输出干扰强度级别3到验证码生成器210,验证码生成器210生成了100个图片验证码,验证码识别器220正确识别出了其中的18个,则识别率计算单元230计算出的验证码识别正确率为18%,小于预设门限20%,不需要再提高干扰强度级别。于是,将干扰强度级别3设置为验证码生成器210的生效干扰强度级别。
之后,服务器端120获取到用户通过客户端110在访问页面中提交的验证请求时,所述验证码生成器210根据该生效干扰强度级别生成具有该生效干扰强度级别的图片验证码提供给客户端110。如此,即能够保证根据该生效干扰强度级别生成的图片验证码容易被人眼识别,从而提升用户体验,也能够降低图片验证码被验证码识别软件破解的概率,从而提高网络安全性。
图3示出了根据本发明一个实施例的生成图片验证码的方法的流程图,该方法由服务器端120执行。
参照图3,该方法起始于步骤S302。在步骤S302中,设置预定干扰强度级别(初始时,采用级别最低的干扰强度级别)并输入到验证码生成器。
在步骤S304中,由验证码生成器根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码。首先根据输入的干扰强度级别确定与该干扰强度级别对应的干扰因素,然后根据所确定的干扰因素来生成图片验证码。其中,影响图片验证码的复杂度的干扰因素主要包括:验证字符数目、噪声点数目、噪声线数目、字符随机角度旋转的最大角度值、字符扭曲变形的程度和字符间的粘连程度。当然,除了以上所列举的干扰因素之外,还有一些干扰因素也会影响到图片验证码的复杂度,本发明实施例对具体采用的干扰因素不做限制。
验证码生成器会根据验证字符集随机产生一个验证字符串,并将产生的验证字符串保存在例如内存中。验证字符数目是所述验证字符串中所包括的验证字符的数目,所述验证字符可以是数字、字母,甚至是汉字等。后续,会根据所产生的验证字符串以及其他干扰因素来生成图片验证码。验证字符数目越大,则所生成的图片验证码的复杂度越高。
在生成图片验证码时,可以在图片中添加一些噪声点,噪声点的位置在图片中随机分布。噪声点数目越大,则所生成的图片验证码的复杂度越高。
在生成图片验证码时,可以在图片中添加一些噪声线,噪声线的位置在图片中随机分布。噪声线数目越大,则所生成的图片验证码的复杂度越高。
在生成图片验证码时,可以对图片中的各验证字符进行旋转,旋转的角度可以随机产生,但不大于所设置的最大角度值。字符随机角度旋转的最大角度值越大,则所生成的图片验证码的复杂度越高。
在生成图片验证码时,可以对图片中的各验证字符进行扭曲变形,字符扭曲变形的程度可以为一般、较大、严重。字符扭曲变形的程度越大,则所生成的图片验证码的复杂度越高。
在生成图片验证码时,可以使得图片中的各验证字符进行粘连,字符间的粘连程度可以为一般、较大、严重。字符间的粘连程度越大,则所生成的图片验证码的复杂度越高。
在本发明实施例中,会预先建立干扰强度级别与干扰因素组合的映射关系,即一种级别的干扰强度级别对应一种干扰因素组合,且干扰强度级别越高,所生成的图片验证码的复杂度也越高,也就越不容易被验证码识别软件所破解。例如,干扰强度级别1对应的干扰因素组合为{验证字符数目为4,噪声点数目为30,字符扭曲变形的程度为一般},干扰强度级别2对应的干扰因素组合为{验证字符数目为4,噪声点数目为50,字符随机角度旋转的最大角度值为30度,字符扭曲变形的程度为一般},干扰强度级别3对应的干扰因素组合为{验证字符数目为4,噪声点数目为50,噪声线数目为4,字符随机角度旋转的最大角度值为45度,字符扭曲变形的程度为较大,字符间的粘连程度为一般},……,。需要说明的是,本发明实施例对干扰强度级别与干扰因素组合的具体映射关系不做限制,本领域技术人员可以根据经验或者需要合理设置。
在验证码生成器根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码之后,方法进入步骤S306。在步骤S306中,由验证码识别器对这些图片验证码进行识别。所述预定数目可以根据需要进行设定,例如,所述预定数目为100。
对于每个图片验证码,可以按照如下方式对其进行识别:
首先,获取图片验证码;
其次,对该图片验证码进行预处理,主要包括去除图片验证码中的各种噪声(例如噪声点和噪声线等)和对图片验证码进行黑白化处理以提高对比度;
然后,对图片验证码中的字符进行分割;
最后,对分割得到的字符进行识别,识别出其中包括的验证字符串。可以采用各种字符识别软件进行字符识别,例如可以调用Tesseract的tessnet2_32.dll类库进行所述字符识别。
在验证码识别器对验证码生成器生成的预定数目个图片验证码进行识别后,方法进入步骤S308。在步骤S308中,根据验证码识别器的识别结果,计算验证码识别正确率。首先获取验证码识别器所识别出的预定数目个验证字符串,然后,将识别出的每个验证字符串与对应的原始验证字符串(即验证码生成器在生成图片验证码的过程中,随机产生并保存在内存中的字符串)进行比较,确定该验证字符串是否正确,最后,根据正确的字符串数目和所述预定数目的比率,得到验证码识别正确率。
当验证码识别正确率低于预设门限时,方法进入步骤S310。在步骤S310中,将当前干扰强度级别设置为验证码生成器的生效干扰强度级别,以供验证码生成器生成具有该生效干扰强度级别的图片验证码提供给客户端。
其中,所述预设门限可以根据本领域技术人员的经验或者根据实验确定,一般可以将所述预设门限设置为15%~25%,例如,将其设置为20%。
当验证码识别正确率不低于预设门限时,方法进入步骤S312。在步骤S312中,增加所述预定干扰强度级别,并输入到验证码生成器,并重新执行从步骤S304开始的流程。
根据本发明实施例的生成图片验证码的方案,按照干扰强度级别由低到高的顺序来生成预定数目个图片验证码,采用验证码识别软件对生成的图片验证码进行自动识别,并计算各干扰强度级别下的验证码识别正确率,当验证码识别正确率低于预设门限时,将当前干扰强度级别设置为生效干扰强度级别,如此,即能够保证根据该生效干扰强度级别生成的图片验证码容易被人眼识别,从而提升用户体验,也能够降低图片验证码被验证码识别软件破解的概率,从而提高网络安全性。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的生成图片验证码的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (8)

1.一种生成图片验证码的装置,包括:
验证码生成器,适于根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码;
验证码识别器,适于对验证码生成器生成的预定数目个图片验证码进行识别,得到预定数目个验证字符串;
识别率计算单元,适于获取验证码识别器所识别出的预定数目个验证字符串;将识别出的每个验证字符串与对应的原始验证字符串进行比较,确定该验证字符串是否正确;根据正确的字符串数目和所述预定数目之间的比率,得到验证码识别正确率;以及
设置单元,适于输出预定干扰强度级别到验证码生成器,并接收识别率计算单元计算得到的验证码识别正确率,在识别率计算单元计算得到的验证码识别正确率低于预设门限时,将当前预定干扰强度级别设置为验证码生成器的生效干扰强度级别,以供验证码生成器生成具有该生效干扰强度级别的图片验证码提供给客户端。
2.如权利要求1所述的装置,其中,所述验证码生成器进一步适于:
根据输入的干扰强度级别确定与该干扰强度级别对应的干扰因素;
根据所确定的干扰因素生成图片验证码。
3.如权利要求2所述的装置,其中,所述干扰因素包括如下的一个或一个以上的组合:
验证字符数目、噪声点数目、噪声线数目、字符随机角度旋转的最大角度值、字符扭曲变形的程度和字符间的粘连程度。
4.如权利要求1所述的装置,其中,所述预设门限为15%~25%。
5.一种生成图片验证码的方法,包括:
设置预定干扰强度级别并输入到验证码生成器;
由验证码生成器根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码;
由验证码识别器对验证码生成器生成的预定数目个图片验证码进行识别,得到预定数目个验证字符串;
由识别率计算单元获取验证码识别器所识别出的预定数目个验证字符串;将识别出的每个验证字符串与对应的原始验证字符串进行比较,确定该验证字符串是否正确;根据正确的字符串数目和所述预定数目之间的比率,得到验证码识别正确率;以及
当计算得到的验证码识别正确率低于预设门限时,将当前干扰强度级别设置为验证码生成器的生效干扰强度级别,以供验证码生成器生成具有该生效干扰强度级别的图片验证码提供给客户端;
当计算得到的验证码识别正确率不低于上述预设门限时,增加所述预定干扰强度级别,并输入到验证码生成器。
6.如权利要求5所述的方法,其中,所述根据输入的干扰强度级别生成预定数目个具有该干扰强度级别的图片验证码,包括:
根据输入的干扰强度级别确定与该干扰强度级别对应的干扰因素;
根据所确定的干扰因素生成图片验证码。
7.如权利要求6所述的方法,其中,所述干扰因素包括如下的一个或一个以上的组合:
验证字符数目、噪声点数目、噪声线数目、字符随机角度旋转的最大角度值、字符扭曲变形的程度和字符间的粘连程度。
8.如权利要求5所述的方法,其中,所述预设门限为15%~25%。
CN201410314504.0A 2014-07-03 2014-07-03 一种生成图片验证码的方法及装置 Active CN104065666B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410314504.0A CN104065666B (zh) 2014-07-03 2014-07-03 一种生成图片验证码的方法及装置
HK15100779.0A HK1200614A1 (zh) 2014-07-03 2015-01-23 種生成圖片驗證碼的方法及裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410314504.0A CN104065666B (zh) 2014-07-03 2014-07-03 一种生成图片验证码的方法及装置

Publications (2)

Publication Number Publication Date
CN104065666A CN104065666A (zh) 2014-09-24
CN104065666B true CN104065666B (zh) 2017-08-01

Family

ID=51553197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410314504.0A Active CN104065666B (zh) 2014-07-03 2014-07-03 一种生成图片验证码的方法及装置

Country Status (2)

Country Link
CN (1) CN104065666B (zh)
HK (1) HK1200614A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104200140B (zh) * 2014-09-28 2018-05-01 北京奇虎科技有限公司 验证码的提供方法及装置
CN104700441B (zh) * 2015-02-05 2018-03-30 北京京东尚科信息技术有限公司 一种图片验证码生成方法及系统
CN104637077B (zh) * 2015-02-13 2017-10-17 浙江农林大学 基于字符绘制的图片验证码生成方法
CN106034029A (zh) 2015-03-20 2016-10-19 阿里巴巴集团控股有限公司 基于图片验证码的验证方法和装置
CN106033619B (zh) * 2015-03-20 2020-09-11 深圳市腾讯计算机系统有限公司 图片验证码生成方法、装置和系统
CN106204559B (zh) * 2016-06-30 2019-03-12 北京奇艺世纪科技有限公司 图像处理方法和装置
CN106250755B (zh) * 2016-07-28 2021-11-19 北京旷视科技有限公司 用于生成验证码的方法及装置
CN111079119B (zh) * 2019-12-04 2022-04-22 北京达佳互联信息技术有限公司 验证方法、装置、设备及存储介质
CN114281224A (zh) * 2021-12-15 2022-04-05 中国银联股份有限公司 一种基于滑块的校验方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255880A (zh) * 2011-01-20 2011-11-23 北京开心人信息技术有限公司 一种二级图片验证码的实现方法及系统
CN102930277A (zh) * 2012-09-19 2013-02-13 上海珍岛信息技术有限公司 一种基于识别反馈的字符图像验证码识别方法
CN102957682A (zh) * 2011-08-30 2013-03-06 北京百度网讯科技有限公司 一种用于基于验证安全等级提供图片验证码的方法与设备
CN103488922A (zh) * 2013-08-27 2014-01-01 百度在线网络技术(北京)有限公司 一种用于提供验证码的方法与设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255880A (zh) * 2011-01-20 2011-11-23 北京开心人信息技术有限公司 一种二级图片验证码的实现方法及系统
CN102957682A (zh) * 2011-08-30 2013-03-06 北京百度网讯科技有限公司 一种用于基于验证安全等级提供图片验证码的方法与设备
CN102930277A (zh) * 2012-09-19 2013-02-13 上海珍岛信息技术有限公司 一种基于识别反馈的字符图像验证码识别方法
CN103488922A (zh) * 2013-08-27 2014-01-01 百度在线网络技术(北京)有限公司 一种用于提供验证码的方法与设备

Also Published As

Publication number Publication date
CN104065666A (zh) 2014-09-24
HK1200614A1 (zh) 2015-08-07

Similar Documents

Publication Publication Date Title
CN104065666B (zh) 一种生成图片验证码的方法及装置
CN104200140B (zh) 验证码的提供方法及装置
CN108369615B (zh) 动态更新captcha质询
USRE46158E1 (en) Methods and systems to detect attacks on internet transactions
US9235695B2 (en) Alias-based social media identity verification
CN102006163B (zh) 用户验证方法、装置及服务器
RU2019100715A (ru) Способы обеспечения безопасности транзакций в виртуальной реальности
US10489576B2 (en) Method and system for generating verification codes
US20180060562A1 (en) Systems and methods to permit an attempt at authentication using one or more forms of authentication
CN105721390A (zh) 一种加密存储方法和装置
US20140282930A1 (en) Social Media Based Identity Verification
CN107451819A (zh) 一种基于用户操作行为特征的身份验证方法和装置
US20160044025A1 (en) System and method for security enhancement
CN109933971A (zh) 一种基于验证码的验证方法、装置、电子设备及存储介质
CN110096887A (zh) 一种可信计算方法及服务器
CN107766727A (zh) 用于允许对错误数据进行访问的装置及方法
US20130191641A1 (en) Captcha (completely automated public test to tell computers and humans apart) data generation methods and related data management systems and computer program products thereof
CN105491116A (zh) 一种跨窗口提交数据的方法及系统
CN106250755B (zh) 用于生成验证码的方法及装置
US9015810B2 (en) System and method for authenticating manual interaction in a computing environment
US10671456B2 (en) Method and device for acquiring application information
CN105335645B (zh) 图片验证码验证方法和装置
US20220108008A1 (en) Platform health verification
CN109428869A (zh) 钓鱼攻击防御方法和授权服务器
CN105488365B (zh) 一种校验方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1200614

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1200614

Country of ref document: HK