CN106161023B - 基于图片验证码的验证响应方法和系统 - Google Patents
基于图片验证码的验证响应方法和系统 Download PDFInfo
- Publication number
- CN106161023B CN106161023B CN201510153579.XA CN201510153579A CN106161023B CN 106161023 B CN106161023 B CN 106161023B CN 201510153579 A CN201510153579 A CN 201510153579A CN 106161023 B CN106161023 B CN 106161023B
- Authority
- CN
- China
- Prior art keywords
- picture
- validation code
- code
- picture validation
- server
- 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
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于图片验证码的验证响应方法,包括以下步骤:响应服务器接收图片验证码拉取请求,所述图片验证码拉取请求中包含请求拉取的图片验证码的图片文件格式;所述响应服务器拉取预先生成的包含验证码字符的点阵图片;所述响应服务器将点阵图片转变成具有所述图片文件格式的图片验证码;所述响应服务器向所述图片验证码拉取请求的发送方返回所述图片验证码。上述方法可确保响应速度,而且可以保证各种图片文件格式的图片验证码的生成量与拉取量保护均衡,而不浪费生成图片验证码的计算机资源,也能确保各种图片验证码的供应。此外,还提供一种基于图片验证码的验证响应系统。
Description
技术领域
本发明涉及身份验证领域,特别是涉及一种基于图片验证码的验证响应方法和系统。
背景技术
用户账号和密码通常对应着特定的用户权限,并关系到用户隐私信息。一些黑客有可能对某一个特定注册用户用特定程序进行不断的登录尝试,从而实现用户密码的暴力破解。另一方面,一些黑客也可能采用特定的计算机程序进行论坛灌水、刷票等非法操作。因此,需要一种程序来识别用户是人类还是计算机。验证码(CAPTCHA,CompletelyAutomated Public Turing test to tell Computers and Humans Apart)即为这样的一种可识别用户是人类还是计算机的公共全自动程序。
CAPTCHA通过采用以下的一种较通过的方式来区别用户是计算机还是人类:将验证码字符进行扭曲变形后画在图片上,并在图片上添加一些干扰元素,形成图片验证码。该图片验证码中所包含的验证码字符很难被计算机采用光学字符识别(OCR,OpticalCharacter Recognition技术识别出来,因此,回答出图片验证码中所包含的验证码字符的用户即可被认为是人类。
图片验证码一般由服务器生成并发送到客户端,客户端将由用户输入的答案返回给服务器,服务器验证答案是否匹配来实现对用户是否是人类还是计算机的区分。
而不同的客户端由于所运行的软件环境或硬件环境的不同,可能需要具有不同图片文件格式的图片验证码,例如png图片、jpg图片等等。由于图片验证码的生成需要耗费较长的时间,服务器端为了提高响应速度,通常预先生成一定数量的多种图片文件格式的图片验证码并进行存储,而每一种图片文件格式的图片验证码的需求量(拉取量)通常是变化的,从而造成有些图片文件格式的图片验证码的存储量有余,而有些图片文件格式的图片验证码的供应量不足的情况。
发明内容
基于此,有必要针对上述问题,提供一种可使得各种图片文件格式的图片验证码生成量与拉取量可保持均衡、并满足一定的响应速度的基于图片验证码的验证响应方法
一种基于图片验证码的验证响应方法,包括以下步骤:
响应服务器接收图片验证码拉取请求,所述图片验证码拉取请求中包含请求拉取的图片验证码的图片文件格式;
所述响应服务器拉取预先生成的包含验证码字符的点阵图片;
所述响应服务器将点阵图片转变成具有所述图片文件格式的图片验证码;
所述响应服务器向所述图片验证码拉取请求的发送方返回所述图片验证码。
一种基于图片验证码的验证响应系统,包括:
所述响应服务器,用于接收图片验证码拉取请求,所述图片验证码拉取请求中包含请求拉取的图片验证码的图片文件格式;
所述响应服务器还用于拉取预先生成的包含验证码字符的点阵图片;
所述响应服务器还用于将点阵图片转变成具有所述图片文件格式的图片验证码;
所述响应服务器还用于向所述图片验证码拉取请求的发送方返回所述图片验证码。
上述基于图片验证码的验证响应方法和系统,响应服务器接收到图片验证码拉取请求后,拉取预先生成的包含验证码字符的点阵图片,将点阵图片转变成具有需要的图片文件格式的图片验证码,由于包含验证码字符的点阵图片已经预先生成了,而将点阵图片转变成相应格式的图片验证码只需要较短的时间,因此并不会影响响应速度,而且上述方法和系统在需要某种图片文件格式的图片验证码时才将点阵图片转变成相应图片文件格式的图片验证码,从而可以保证各种图片文件格式的图片验证码的生成量与拉取量保护均衡,而不浪费生成图片验证码的计算机资源,也能确保各种图片验证码的供应。
附图说明
图1为一个实施例中本申请的基于图片验证码的验证响应方法中响应服务器的部分结构框图;
图2为一个实施例中的基于图片验证码的验证响应方法的流程示意图;
图3为另一实施例中的基于图片验证码的验证响应方法的流程示意图;
图4为又一实施例中的基于图片验证码的验证响应方法的流程示意图;
图5为一个实施例中的基于图片验证码的验证响应方法的时序图;
图6为一个实施例中的基于图片验证码的验证响应系统的结构示意图;
图7为一个实施例中的基于图片验证码的验证响应系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中本申请的基于图片验证码的验证响应方法中响应服务器的部分结构框图。如图1所示,在一个实施例中,该响应服务器包括通过系统总线连接的处理器、存储介质、内存和网络接口;其中,网络接口用于与网络进行通信,内存用于缓存数据,存储介质中存储有操作系统、数据库以及用于实现本申请所述的基于图片验证码的验证响应方法的软件指令;数据库可用于存储点阵图片等等本申请所述的基于图片验证码的验证响应方法所需要的数据以及中间处理过程产生的数据;处理器协调各部件的工作并执行这些软件指令以实现本申请所述的基于图片验证码的验证响应方法。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请的基于图片验证码的验证响应方法中所述的验证服务器以及Web服务器可与响应服务器具有相同或不同的结构,在此不再赘述。
如图2所示,在一个实施例中,一种基于图片验证码的验证响应方法,包括以下步骤:
步骤S202,响应服务器接收图片验证码拉取请求,图片验证码拉取请求中包含请求拉取的图片验证码的图片文件格式。
在一个实施例中,图片文件格式包括但不限于jpg、png和gif等等。
步骤S204,响应服务器拉取预先生成的包含验证码字符的点阵图片。
点阵图又称为位图,由一个个的像素点组成。点阵图由像素阵列的排列来实现显示效果,每个像素在自己的颜色信息,在对位图图像进行编辑操作的时候,可操作的对象是每个像素,可以改变像素的色相、饱和度和明度,从而改变图像的显示效果。
包含验证码字符的点阵图片为包含表示验证码字符的图案的点阵图片。
如图3所示,在一个实施例中,上述基于图片验证码的验证响应方法,还包括:步骤S302,验证码生成服务器生成包含验证码字符的点阵图片。
本实施例中,步骤S204由步骤S304替换:响应服务器拉取验证码生成服务器预先生成的包含验证码字符的点阵图片。
本实施例中,对图片验证码拉取请求的响应以及生成包含验证码字符的点阵图片分由不同的服务器进行处理,两种处理过程可并发执行,从而可提高系统的响应速度。
在一个实施例中,验证码生成服务器生成包含验证码字符的点阵图片的步骤包括:
(1)验证码生成服务器获取背景点阵图片,其中背景点阵图片可由具有纯色的像素点组成,也可由包含丰富色彩的像素点组成。
(2)生成具有透明背景的包含表示验证码字符的图案的字符点阵图片,将字符点阵图片中的图案进行扭曲变形处理。例如,将表示验证码字符的图案进行增粗、减细、局部放大、局部缩小、倾斜和/或扭曲等等变形,每各个表示验证码字符的图案所进行的变形操作可以不同,其中,对一个图案的不同部分所进行的变形操作也可不同。
(3)将经过扭曲变形处理的字符点阵图片上的图像画在背景点阵图片上,得到初始的包含验证码字符的点阵图片。
在一个实施例中,可将经过扭曲变形处理的字符点阵图片上的非透明像素点替换背景点阵图片中相应位置的像素点。
(4)在包含验证码字符的点阵图片上添加干扰元素,形成最终的包含验证码字符的点阵图片。
步骤S206,响应服务器将包含验证码字符的点阵图片转变成具有图片验证码拉取请求中包含的图片文件格式的图片验证码。
例如,图片验证码拉取请求中包含的图片文件格式为jpg格式,则按照jpg图片文件的格式压缩包含验证码字符的点阵图片,形成具有jpg格式的图片验证码。
步骤S208,响应服务器向图片验证码拉取请求的发送方返回所述图片验证码。
在一个实施例中,上述的基于图片验证码的验证响应方法还包括以下步骤:
验证服务器接收Web服务器发送的图片验证码拉取请求,将该图片验证码拉取请求发送给响应服务器;
进一步的,验证服务器接收响应服务器返回的图片验证码,生成图片验证码对应的签名,将图片验证码和对应的签名返回给Web服务器,使得Web服务器将图片验证码和对应的签名发送给发起图片验证码拉取请求的客户端。
在一个实施例中,上述的基于图片验证码的验证响应方法,还包括以下步骤:
验证服务器接收Web服务器发送的图片验证码答案和图片验证码签名,图片验证码答案和图片验证码签名由客户端返回给Web服务器;图片验证码答案由客户端的输入控件获取用户输入的字符而得到。其中,客户端返回的图片验证码签名为输入控件获取到图片验证码答案的当前时刻客户端所展示的图片验证码对应的签名。
进一步的,验证服务器验证图片验证码答案和图片验证码签名是否匹配,得到验证结果。
以及进一步的,若验证结果表示图片验证码答案和图片验证码签名不匹配,则可向Web服务器返回该验证结果,通过Web服务器将验证结果返回给客户端。若验证结果表示图片验证码答案和图片验证码签名匹配,则可进一步响应客户端请求的与上述图片验证码拉取请求对应的操作,例如登录、上传消息等。
上述实施例中,由于验证服务器可能向多个客户端下发图片验证码,而也可能接收到多个客户端返回的图片验证码答案,为了验证客户端返回的图片验证码答案是否与验证服务器下发给该客户端的图片验证码相匹配,验证服务器将图片验证码与图片验证码对应的签名一起通过Web服务器下发给客户端,而客户端则将图片验证码答案和图片验证码签名一起通过Web服务器返回给验证服务器,其中,图片验证码签名为图片验证码答案在客户端被输入时客户端展示的图片验证码对应的签名,因此,验证服务器只通过验证客户端返回的图片验证码答案与图片验证码签名是否匹配,即可判断出客户端返回的图片验证码答案是否与相应的图片验证码相匹配。从而,上述实施例可实现并发处理多个客户端发送的图片验证码拉取请求。
图4示出了上述的基于图片验证码的验证响应方法的一个实施例中的一种执行流程。如图4所示,在一个实施例中,一种基于图片验证码的验证响应方法,包括以下步骤:
步骤S402,验证码生成服务器生成包含验证码字符的点阵图片,将点阵图片保存至点阵图片库中。
步骤S404,验证服务器接收Web服务器发送的图片验证码拉取请求,将该图片验证码拉取请求发送给响应服务器,图片验证码拉取请求中包含请求拉取的图片验证码的图片文件格式。
步骤S406,响应服务器接收图片验证码拉取请求。
步骤S408,响应服务器从点阵图片库中拉取验证码生成服务器预先生成的包含验证码字符的点阵图片。
步骤S410,响应服务器将包含验证码字符的点阵图片转变成具有图片验证码拉取请求中包含的图片文件格式的图片验证码。
步骤S412,响应服务器向验证服务器返回图片验证码。
步骤S414,验证服务器接收响应服务器返回的图片验证码,生成图片验证码对应的签名,将图片验证码和对应的签名返回给Web服务器,使得Web服务器将图片验证码和对应的签名发送给发起图片验证码拉取请求的客户端。
步骤S416,验证服务器接收Web服务器发送的图片验证码答案和图片验证码签名,图片验证码答案和图片验证码签名由客户端返回给Web服务器;图片验证码答案由客户端的输入控件获取用户输入的字符而得到。
其中,客户端返回的图片验证码签名被图片验证码答案被输入时客户端展示的图片验证码所对应的签名。
步骤S418,验证服务器验证图片验证码答案和图片验证码签名是否匹配,得到验证结果。
在一个实施例中,验证码生成服务器生成包含验证码字符的点阵图片后,将点阵图片与其所包含的验证码字符进行对应存储。
在一个实施例中,验证服务器生成的图片验证码对应的签名为可唯一标识图片验证码的序列号;验证服务器生成图片验证码对应的签名的步骤包括:验证服务器生成用于唯一标识图片验证码的序列号,将图片验证码的序列号与图片验证包含的验证码字符进行对应存储。
本实施例中,验证服务器验证图片验证码答案和图片验证码签名是否匹配的步骤包括:验证服务器查找所存储的图片验证码签名对应的验证码字符,检验接收到的图片验证码答案与查找到的验证码字符是否一致,若是,则说明验证图片验证码答案和图片验证码签名相匹配。
本实施例中,验证服务器将可唯一标识图片验证码的序列号与图片验证码一起通过Web服务器发送给客户端,从而客户端只需要将该序列号与图片验证码答案一起返回即可,而不需要将图片验证码和图片验证码答案一起返回,由于图片验证码的文件大小通常远远大于序列号,因此,本实施例可减少数据传输所耗费的网络流量。
在一个实施例中,验证服务器生成的图片验证码对应的签名为该图片验证码对应的验证码字符进行加密后得到的密文;在一个实施例中,验证服务器按照预设的加密算法对图片验证码对应的验证码字符进行加密。
本实施例中,验证服务器生成图片验证码对应的签名的步骤包括:验证服务器将图片验证码对应验证码字符进行加密,得到验证码字符的密文;
本实施例中,验证服务器验证图片验证码答案和图片验证码签名是否匹配的步骤包括:验证服务器对图片验证码签名进行解密,得到解密后的明文,验证解密后的明文与图片验证码答案是否一致。在一个实施例中,可按照与上述加密算法相逆的解密算法对图片验证码签名进行解密。
本实施例中,不需要存储图片验证码对应的签名与图片验证码包含的验证码字符的对应关系,在验证图片验证码答案是否正确的过程中,也不需要查找图片验证码签名对应的验证码字符以验证图片验证码答案是否与查找到的验证码字符相匹配,在并发处理大量图片验证码拉取请求的情况下,可节省大量的存储空间和查找时间。
图5为一个实施例中的基于图片验证码的验证响应方法的时序图。
如图5所示,在一个实施例中,一种基于图片验证码的验证响应方法包括以下步骤:
(1)验证码生成服务器生成包含验证码字符的点阵图片;验证码生成服务器将点阵图片保存至点阵图片库中,并存储点阵图片与其所包含的验证码字符的对应关系。
(2)客户端生成图片验证码拉取请求,该图片验证码拉取请求中包含请求拉取的图片验证码的图片文件格式;客户端将图片验证码拉取请求发送给Web服务器,Web服务器接收客户端发送的图片验证码拉取请求。
(3)Web服务器将图片验证码拉取请求发送给验证服务器,验证服务器接收Web服务器发送的图片验证码拉取请求。
(4)验证服务器将图片验证码拉取请求发送给响应服务器,响应服务器接收图片验证码拉取请求。
(5)响应服务器从点阵图片库中拉取验证码生成服务器预先生成的包含验证码字符的点阵图片。
(6)响应服务器将包含验证码字符的点阵图片转变成具有图片验证码拉取请求中包含的图片文件格式的图片验证码。
(7)响应服务器向验证服务器返回图片验证码;验证服务器接收响应服务器返回的图片验证码。
(8)验证服务器获取图片验证码对应的验证码字符。
(9)验证服务器将图片验证码对应的验证码字符进行加密,得到验证码字符对应的密文。
(10)验证服务器将图片验证码以及对应的密文发送给Web服务器,Web服务器接收验证服务器发送的图片验证码以及对应的密文。
(11)Web服务器将图片验证码以及对应的密文返回给客户端。
(12)客户端展示图片验证码,并获取输入的图片验证码答案。
(13)客户端将展示的图片验证码对应的密文以及输入的图片验证码答案返回给Web服务器,Web服务器接收客户端返回的图片验证码答案和密文。
(14)Web服务器将图片验证码答案和密文返回给验证服务器。
(15)验证服务器将接收到的密文进行解密,并验证解密后得到的明文与对应的图片验证码答案是否一致,得到验证结果。
如图6所示,在一个实施例中,一种基于图片验证码的验证响应系统,包括验证码生成服务器602和响应服务器604,其中:
验证码生成服务器602用于生成包含验证码字符的点阵图片。
在一个实施例中,验证码生成服务器602可获取背景点阵图片,其中背景点阵图片可由具有纯色的像素点组成,也可由包含丰富色彩的像素点组成。
进一步的,验证码生成服务器602可生成具有透明背景的包含表示验证码字符的图案的字符点阵图片,将字符点阵图片中的图案进行扭曲变形处理。例如,将表示验证码字符的图案进行增粗、减细、局部放大、局部缩小、倾斜和/或扭曲等等变形,每各个表示验证码字符的图案所进行的变形操作可以不同,其中,对一个图案的不同部分所进行的变形操作也可不同。
进一步的,验证码生成服务器602可将经过扭曲变形处理的字符点阵图片上的图像画在背景点阵图片上,得到初始的包含验证码字符的点阵图片。
在一个实施例中,验证码生成服务器602可将经过扭曲变形处理的字符点阵图片上的非透明像素点替换背景点阵图片中相应位置的像素点。
进一步的,验证码生成服务器602可在包含验证码字符的点阵图片上添加干扰元素,形成最终的包含验证码字符的点阵图片。
响应服务器604用于接收图片验证码拉取请求,图片验证码拉取请求中包含请求拉取的图片验证码的图片文件格式。
在一个实施例中,图片文件格式包括但不限于jpg、png和gif等等。
进一步的,响应服务器604还用于拉取预先生成的包含验证码字符的点阵图片。
点阵图又称为位图,由一个个的像素点组成。点阵图由像素阵列的排列来实现显示效果,每个像素在自己的颜色信息,在对位图图像进行编辑操作的时候,可操作的对象是每个像素,可以改变像素的色相、饱和度和明度,从而改变图像的显示效果。
包含验证码字符的点阵图片为包含表示验证码字符的图案的点阵图片。
在一个实施例中,响应服务器604可拉取验证码生成服务器602预先生成的包含验证码字符的点阵图片。
在一个实施例中,验证码生成服务器602可将生成的包含验证码字符的点阵图片保存至点阵图片库中。本实施例中,响应服务器604可从点阵图片库中拉取验证码生成服务器602预先生成的包含验证码字符的点阵图片。
本实施例中,对图片验证码拉取请求的响应以及生成包含验证码字符的点阵图片分由不同的服务器进行处理,两种处理过程可并发执行,从而可提高系统的响应速度。
进一步的,响应服务器604还用于将包含验证码字符的点阵图片转变成具有图片验证码拉取请求中包含的图片文件格式的图片验证码。
例如,图片验证码拉取请求中包含的图片文件格式为jpg格式,则按照jpg图片文件的格式压缩包含验证码字符的点阵图片,形成具有jpg格式的图片验证码。
进一步的,响应服务器604还用于向图片验证码拉取请求的发送方返回所述图片验证码。
本领域技术人员可理解的是,单独的响应服务器604以及具有与响应服务器604相同功能的服务器也属于本申请保护的范围。
如图7所示,在一个实施例中,上述的基于图片验证码的验证响应系统还包括Web服务器701和验证服务器702,本实施例中:
验证码生成服务器602用于生成包含验证码字符的点阵图片,将点阵图片保存至点阵图片库中。
Web服务器701用于接收客户端发送的图片验证码拉取请求,该图片验证码拉取请求中包含请求拉取的图片验证码的图片文件格式,将图片验证码拉取请求发送给验证服务器702。
验证服务器702用于将图片验证码拉取请求转发给响应服务器604。
响应服务器604用于接收图片验证码拉取请求,从点阵图片库中拉取验证码生成服务器602预先生成的包含验证码字符的点阵图片,将包含验证码字符的点阵图片转变成具有图片验证码拉取请求中包含的图片文件格式的图片验证码,向验证服务器702返回图片验证码。
验证服务器702还用于接收响应服务器604返回的图片验证码,生成图片验证码对应的签名,将图片验证码和对应的签名返回给Web服务器701。
Web服务器701还用于接收验证服务器702发送的图片验证码以及对应的签名,将图片验证码以及对应的签名返回给客户端;从而可使得客户端展示图片验证码,并获取输入的图片验证码答案。
Web服务器701还用于接收客户端返回的图片验证码答案和图片验证码签名,该图片验证码签名为该图片验证码答案被输入时客户端展示的图片验证码对应的签名,并且进一步的,将图片验证码答案和图片验证码签名返回给验证服务器702。
验证服务器702还用于接收Web服务器701发送的图片验证码答案和图片验证码签名,验证图片验证码答案和图片验证码签名是否匹配,得到验证结果。
以及进一步的,验证服务器702还用于若验证结果表示图片验证码答案和图片验证码签名不匹配,则可向Web服务器701返回该验证结果,通过Web服务器701将验证结果返回给客户端。验证服务器702还用于若验证结果表示图片验证码答案和图片验证码签名匹配,则可进一步响应客户端请求的与上述图片验证码拉取请求对应的操作,例如登录、上传消息等。
上述实施例中,由于验证服务器702可能向多个客户端下发图片验证码,而也可能接收到多个客户端返回的图片验证码答案,为了验证客户端返回的图片验证码答案是否与验证服务器702下发给该客户端的图片验证码相匹配,验证服务器702将图片验证码与图片验证码对应的签名一起通过Web服务器701下发给客户端,而客户端则将图片验证码答案和图片验证码签名一起通过Web服务器701返回给验证服务器702,其中,图片验证码签名为图片验证码答案在客户端被输入时客户端展示的图片验证码对应的签名,因此,验证服务器702只通过验证客户端返回的图片验证码答案与图片验证码签名是否匹配,即可判断出客户端返回的图片验证码答案是否与相应的图片验证码相匹配。从而,上述实施例可实现并发处理多个客户端发送的图片验证码拉取请求。
在一个实施例中,验证码生成服务器602生成包含验证码字符的点阵图片后,还用于将点阵图片与其所包含的验证码字符进行对应存储。
在一个实施例中,验证服务器702生成的图片验证码对应的签名为可唯一标识图片验证码的序列号;验证服务器702生成图片验证码对应的签名的过程包括:验证服务器702生成用于唯一标识图片验证码的序列号,将图片验证码的序列号与图片验证包含的验证码字符进行对应存储。
本实施例中,验证服务器702验证图片验证码答案和图片验证码签名是否匹配的过程包括:验证服务器702查找所存储的图片验证码签名对应的验证码字符,检验接收到的图片验证码答案与查找到的验证码字符是否一致,若是,则说明验证图片验证码答案和图片验证码签名相匹配。
本实施例中,验证服务器702将可唯一标识图片验证码的序列号与图片验证码一起通过Web服务器701发送给客户端,从而客户端只需要将该序列号与图片验证码答案一起返回即可,而不需要将图片验证码和图片验证码答案一起返回,由于图片验证码的文件大小通常远远大于序列号,因此,本实施例可减少数据传输所耗费的网络流量。
在一个实施例中,验证服务器702生成的图片验证码对应的签名为该图片验证码对应的验证码字符进行加密后得到的密文。
本实施例中,验证服务器702生成图片验证码对应的签名的过程包括:验证服务器将图片验证码对应验证码字符进行加密,得到验证码字符的密文;在一个实施例中,验证服务器702按照预设的加密算法对图片验证码对应的验证码字符进行加密。
本实施例中,验证服务器702验证图片验证码答案和图片验证码签名是否匹配的过程包括:验证服务器702对图片验证码签名进行解密,得到解密后的明文,验证解密后的明文与图片验证码答案是否一致。在一个实施例中,可按照与上述加密算法相逆的解密算法对图片验证码签名进行解密。
本实施例中,不需要存储图片验证码对应的签名与图片验证码包含的验证码字符的对应关系,在验证图片验证码答案是否正确的过程中,也不需要查找图片验证码签名对应的验证码字符以验证图片验证码答案是否与查找到的验证码字符相匹配,在并发处理大量图片验证码拉取请求的情况下,可节省大量的存储空间和查找时间。
本领域技术人员可理解的是,单独包含响应服务器604、Web服务器701和验证服务器702的系统、以及单独包含响应服务器604和验证服务器702的系统也属于本申请保护的范围。
上述基于图片验证码的验证响应方法和系统,响应服务器接收到图片验证码拉取请求后,拉取预先生成的包含验证码字符的点阵图片,将点阵图片转变成具有需要的图片文件格式的图片验证码,由于包含验证码字符的点阵图片已经预先生成了,而将点阵图片转变成相应格式的图片验证码只需要较短的时间,因此并不会影响响应速度,而且上述方法和系统在需要某种图片文件格式的图片验证码时才将点阵图片转变成相应图片文件格式的图片验证码,从而可以保证各种图片文件格式的图片验证码的生成量与拉取量保护均衡,而不浪费生成图片验证码的计算机资源,也能确保各种图片验证码的供应。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种基于图片验证码的验证响应方法,包括以下步骤:
响应服务器接收图片验证码拉取请求,所述图片验证码拉取请求中包含请求拉取的图片验证码的图片文件格式;
所述响应服务器拉取预先生成的包含验证码字符的点阵图片;
所述响应服务器将点阵图片转变成具有所述图片文件格式的图片验证码;
所述响应服务器向所述图片验证码拉取请求的发送方返回所述图片验证码。
2.根据权利要求1所述的基于图片验证码的验证响应方法,其特征在于,还包括以下步骤:
验证码生成服务器生成包含验证码字符的点阵图片;
所述响应服务器拉取预先生成的包含验证码字符的点阵图片的步骤为:所述响应服务器拉取所述验证码生成服务器预先生成的所述点阵图片。
3.根据权利要求1所述的基于图片验证码的验证响应方法,其特征在于,所述图片验证码拉取请求的发送方为验证服务器;
所述方法还包括以下步骤:
验证服务器接收Web服务器发送的图片验证码拉取请求,将该图片验证码拉取请求发送给所述响应服务器;
验证服务器接收所述响应服务器返回的图片验证码,生成图片验证码对应的签名,将所述图片验证码和所述签名返回给Web服务器,使得Web服务器将所述图片验证码和所述签名发送给发起所述图片验证码拉取请求的客户端。
4.根据权利要求3所述的基于图片验证码的验证响应方法,其特征在于,还包括以下步骤:
所述验证服务器接收Web服务器发送的图片验证码答案和图片验证码签名,所述图片验证码答案和图片验证码签名由所述客户端返回给Web服务器;
所述验证服务器验证所述图片验证码答案和所述图片验证码签名是否匹配,得到验证结果。
5.根据权利要求4所述的基于图片验证码的验证响应方法,其特征在于,所述验证服务器生成的所述签名为对所述图片验证码对应的验证码字符进行加密后得到的密文;
所述验证服务器生成图片验证码对应的签名的步骤包括:所述验证服务器将所述图片验证码对应的验证码字符进行加密,得到所述密文;
所述验证服务器验证所述图片验证码答案和所述图片验证码签名是否匹配的步骤包括:所述验证服务器对所述图片验证码签名进行解密,得到解密后的明文,验证解密后的明文与所述图片验证码答案是否一致。
6.一种基于图片验证码的验证响应系统,其特征在于,包括:
响应服务器,用于接收图片验证码拉取请求,所述图片验证码拉取请求中包含请求拉取的图片验证码的图片文件格式;
所述响应服务器还用于拉取预先生成的包含验证码字符的点阵图片;
所述响应服务器还用于将点阵图片转变成具有所述图片文件格式的图片验证码;
所述响应服务器还用于向所述图片验证码拉取请求的发送方返回所述图片验证码。
7.根据权利要求6所述的基于图片验证码的验证响应系统,其特征在于,还包括:
验证码生成服务器,用于生成包含验证码字符的点阵图片;
所述响应服务器用于拉取所述验证码生成服务器预先生成的所述点阵图片。
8.根据权利要求6所述的基于图片验证码的验证响应系统,其特征在于,所述图片验证码拉取请求的发送方为验证服务器;
所述图片验证码的验证响应系统还包括:
验证服务器,用于接收Web服务器发送的图片验证码拉取请求,将该图片验证码拉取请求发送给所述响应服务器;
所述验证服务器还用于接收所述响应服务器返回的图片验证码,生成图片验证码对应的签名,将所述图片验证码和所述签名返回给Web服务器,使得Web服务器将所述图片验证码和所述签名发送给发起所述图片验证码拉取请求的客户端。
9.根据权利要求8所述的基于图片验证码的验证响应系统,其特征在于,所述验证服务器还用于接收Web服务器发送的图片验证码答案和图片验证码签名,所述图片验证码答案和图片验证码签名由所述客户端返回给Web服务器;
所述验证服务器还用于验证所述图片验证码答案和所述图片验证码签名是否匹配,得到验证结果。
10.根据权利要求9所述的基于图片验证码的验证响应系统,其特征在于,所述验证服务器生成的所述签名为对所述图片验证码对应的验证码字符进行加密后得到的密文;
所述验证服务器生成图片验证码对应的签名的过程包括:所述验证服务器将所述图片验证码对应验证码字符进行加密,得到所述密文;
所述验证服务器验证所述图片验证码答案和所述图片验证码签名是否匹配的过程包括:所述验证服务器对所述图片验证码签名进行解密,得到解密后的明文,验证解密后的明文与所述图片验证码答案是否一致。
11.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所处处理器执行如权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510153579.XA CN106161023B (zh) | 2015-04-02 | 2015-04-02 | 基于图片验证码的验证响应方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510153579.XA CN106161023B (zh) | 2015-04-02 | 2015-04-02 | 基于图片验证码的验证响应方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106161023A CN106161023A (zh) | 2016-11-23 |
CN106161023B true CN106161023B (zh) | 2019-11-05 |
Family
ID=57338343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510153579.XA Active CN106161023B (zh) | 2015-04-02 | 2015-04-02 | 基于图片验证码的验证响应方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106161023B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178813A (zh) * | 2007-12-19 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种图片验证码的生成方法和装置 |
CN101183458A (zh) * | 2007-12-20 | 2008-05-21 | 腾讯科技(深圳)有限公司 | 图片验证码生成方法和图片验证码生成装置 |
CN102663672A (zh) * | 2012-05-03 | 2012-09-12 | 杭州朗和科技有限公司 | 一种图片验证码生成方法和装置 |
CN102768754A (zh) * | 2012-08-03 | 2012-11-07 | 网易(杭州)网络有限公司 | 一种图片验证码的实现方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9313227B2 (en) * | 2013-09-17 | 2016-04-12 | Amigon Technologies Ltd. | Gateway-based audit log and method for prevention of data leakage |
-
2015
- 2015-04-02 CN CN201510153579.XA patent/CN106161023B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178813A (zh) * | 2007-12-19 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种图片验证码的生成方法和装置 |
CN101183458A (zh) * | 2007-12-20 | 2008-05-21 | 腾讯科技(深圳)有限公司 | 图片验证码生成方法和图片验证码生成装置 |
CN102663672A (zh) * | 2012-05-03 | 2012-09-12 | 杭州朗和科技有限公司 | 一种图片验证码生成方法和装置 |
CN102768754A (zh) * | 2012-08-03 | 2012-11-07 | 网易(杭州)网络有限公司 | 一种图片验证码的实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106161023A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799668B2 (en) | Electronic identification verification methods and systems with storage of certification records to a side chain | |
CN104137520B (zh) | 一种消息推送方法及装置 | |
TW202006615A (zh) | 基於模型的預測方法和裝置 | |
WO2018145127A1 (en) | Electronic identification verification methods and systems with storage of certification records to a side chain | |
CN109766134A (zh) | 系统启动方法、装置、电子设备及存储介质 | |
CN106709963B (zh) | 验证图像真伪的方法和装置 | |
CN105101183B (zh) | 对移动终端上隐私内容进行保护的方法和系统 | |
CN110336833A (zh) | 基于区块链的图片内容共识方法、服务器 | |
CN107239688A (zh) | Docker镜像仓库的权限认证方法和系统 | |
CN105490997B (zh) | 安全校验方法、装置、终端及服务器 | |
CN109981297A (zh) | 区块链处理方法、装置、设备及存储介质 | |
CN111401277A (zh) | 人脸识别模型更新方法、装置、设备和介质 | |
CN108959990A (zh) | 一种二维码的验证方法及装置 | |
CN116662941B (zh) | 信息加密方法、装置、计算机设备和存储介质 | |
CN107342866A (zh) | 电子文书验证方法、设备及系统 | |
CN106161031A (zh) | 服务器密码生成方法、验证方法和装置 | |
CN108900311A (zh) | 一种无证书蓝牙key签名方法及系统 | |
CN106780781B (zh) | 一种用户端验票的方法、系统及智能设备 | |
US9292671B1 (en) | Multi-server authentication using personalized proactivization | |
CN109711178A (zh) | 一种键值对的存储方法、装置、设备及存储介质 | |
CN106161023B (zh) | 基于图片验证码的验证响应方法和系统 | |
CN114826623B (zh) | 一种mock测试报文的处理方法及装置 | |
CN114448722B (zh) | 跨浏览器登录方法、装置、计算机设备和存储介质 | |
CN108833105A (zh) | 电子签名方法及装置 | |
CN115378623A (zh) | 身份认证方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |