CN104426879B - 验证码生成和验证的处理方法及对应的方法、装置和系统 - Google Patents
验证码生成和验证的处理方法及对应的方法、装置和系统 Download PDFInfo
- Publication number
- CN104426879B CN104426879B CN201310394006.7A CN201310394006A CN104426879B CN 104426879 B CN104426879 B CN 104426879B CN 201310394006 A CN201310394006 A CN 201310394006A CN 104426879 B CN104426879 B CN 104426879B
- Authority
- CN
- China
- Prior art keywords
- identifying code
- picture
- color value
- character
- code picture
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Character Input (AREA)
- Image Processing (AREA)
Abstract
本申请公开了验证码生成和验证的处理方法及对应的方法、装置和系统。包括:生成问题和对应的答案;生成对应的颜色值;根据所述问题生成问题图片;将所述问题对应的答案和颜色值加载到所述图片的文件数据中,得到对应的验证码图片;在用户端显示所述验证码图片和输入单元,设置输入颜色值为所述颜色值;接受输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片;从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则验证成功。利用本发明,可以提高验证码验证的安全性。
Description
技术领域
本申请涉及数据处理设备的数据处理技术领域,尤其涉及一种验证码生成和验证的处理方法及对应的方法、装置和系统。
背景技术
验证码生成和验证技术是一种区分用户是计算机还是人的公共安全自动识别技术程序。验证码生成和验证技术可以防止:恶意破解网站密码、刷票、在论坛网站上灌水等恶意行为,可以有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试。
现有的验证码生成和验证过程如下:系统生成一串随机字符,将随机字符按一定规则生成对应的验证码图片以及一个加密的字符串,然后在终端展示该验证码图片和保存加密字符串,用户看到验证码图片后,输入验证码图片中的字符串,然后系统将用户输入的字符串和加密字符串提交到后台系统进行验证,如果符合则验证通过,否则验证失败。
但是现有技术存在以下技术缺陷:
现有技术容易被暴力破解,安全系数太低。网络黑客使用图像识别技术就可以很容易地将验证码图片(尤其是比较简单的验证码图片)中的字符串识别成相同或相近的字符串,比如对某一个验证码图片识别出20个相近的字符串,那黑客只需将这20个字符串依次传给后台系统进行验证,那么只需要验证20次就有可能成功破解该验证码,造成安全隐患。
发明内容
有鉴于此,本发明的主要目的是提供一种验证码生成和验证的处理方法及对应的方法、装置和系统,以提高验证码被暴力破解的难度,提高验证码验证的安全性。
本发明的技术方案是这样实现的:
一种验证码生成和验证的处理方法,包括:
服务器生成问题和对应的答案;
所述服务器生成对应的颜色值;根据所述问题生成问题图片,该问题图片中显示所述问题;所述服务器将所述问题对应的答案和颜色值加载到所述问题图片的文件数据中,得到对应的验证码图片;
用户端显示所述验证码图片,并显示输入单元,所述用户端设置该输入单元对应的输入颜色值为所述验证码图片对应的颜色值;
所述用户端接受通过输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片;
所述服务器从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则验证成功。
一种验证码生成和验证方法,应用于服务器,包括:
生成问题和对应的答案;
生成对应的颜色值,根据所述问题生成问题图片,该问题图片中显示所述问题,将所述问题对应的答案和颜色值加载到所述问题图片的文件数据中,得到对应的验证码图片,以使用户端设备显示所述验证码图片时,将所述颜色值设置为输入单元对应的输入颜色值,并将通过输入单元输入的字符图像与所述验证码图片合并,得到修改后验证码图片;
接收所述修改后验证码图片,从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则验证成功。
一种验证码人机交互方法,应用于用户端设备,包括:
获取验证码图片及其对应的颜色值,显示所述验证码图片,显示输入单元,设置该输入单元对应的输入颜色值为所述验证码图片对应的颜色值,其中,所述验证码图片是数据验证方生成问题图片后,将所述问题图片对应的答案及所述颜色值加载到所述问题图片的文件数据中得到的;
接受通过输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片,将该修改后验证码图片上传给所述数据验证方,以使所述数据验证方从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则判定验证成功。
一种验证码生成和验证装置,包括:
问题和答案生成模块,用于生成问题和对应的答案;
验证码图片生成模块,用于生成对应的颜色值,根据所述问题生成问题图片,该问题图片中显示所述问题,将所述问题对应的答案和颜色值加载到所述问题图片的文件数据中,得到对应的验证码图片,以使验证码人机交互装置显示所述验证码图片时,将所述颜色值设置为输入单元对应的输入颜色值,并将通过输入单元输入的字符图像与所述验证码图片合并,得到修改后验证码图片;
验证模块,用于接收所述验证码人机交互装置上传的所述修改后验证码图片,从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则验证成功。
一种验证码人机交互装置,包括:
显示模块,用于从验证码生成和验证装置获取验证码图片及其对应的颜色值,显示所述验证码图片,显示输入单元,设置该输入单元对应的输入颜色值为所述验证码图片对应的颜色值,其中,所述验证码图片是所述验证码生成和验证装置生成问题图片后,将所述问题图片对应的答案及所述颜色值加载到所述问题图片的文件数据中得到的;
响应模块,用于接受通过输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片,将修改后验证码图片发送给所述验证码生成和验证装置,以使所述验证码生成和验证装置从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则判定验证成功。
一种验证码生成和验证的处理系统,包括所述的验证码生成和验证装置,以及所述的验证码人机交互装置。
与现有技术相比,本发明首先要生成问题和对应的答案以及对应的颜色值;根据所述问题生成问题图片,该问题图片中显示所述问题;将所述问题对应的答案和颜色值加载到所述图片的文件数据中,得到对应的验证码图片;然后,本发明在用户端显示所述验证码图片,将该验证码图片的指定区域显示输入单元,设置该输入单元对应的输入颜色值为所述验证码图片对应的颜色值,并在用户端接受通过输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片;在验证时,本发明从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率(如100%一致,或者可以是80%、90%等的一致率)则验证成功,否则验证失败。
黑客虽然也可以用图像识别技术识别本发明的验证码,但黑客却不能直接将识别出来的结果发给后台的验证装置进行验证,因为本发明要求用户端必须发送图片数据,故黑客需要将识别的结果与原图片合并生成一个图片才可以发出,而且合并时必须按照本发明的特定方式,即画笔颜色值需要与该验证码图片对应的颜色值相同,否则无法识别出用户输入的字符,最终不能通过验证,故暴力破解非常困难,提高了验证码验证的安全性。
附图说明
图1为本发明所述验证码生成和验证的处理方法的一种流程图;
图2为本发明所述验证码生成和验证的处理方法的又一种流程示意图;
图3为本发明所述一种验证码图片的显示示意图;
图4为在验证码图片的画板中利用画笔输入了答案字符图像的一种示意图;
图5为所合并的修改后验证码图片的一种示意图;
图6为本发明所述验证码生成和验证的处理系统的一种组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明所述验证码生成和验证的处理方法的一种流程图。参见图1,本发明的验证码生成和验证的处理方法具体包括:
步骤101、生成问题和对应的答案。
步骤102、生成对应的颜色值;根据所述问题生成问题图片,该问题图片中显示所述问题;将所述问题对应的答案和颜色值加载到所述图片的文件数据中,得到对应的验证码图片。
步骤103、在用户端显示所述验证码图片,显示输入单元,设置该输入单元对应的输入颜色值为所述验证码图片对应的颜色值。
步骤104、接受通过输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片。
步骤105、从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率(如可以是100%的一致率,或者可以80%、90%的一致率,所述一致率可以预先指定)则验证成功,否则验证失败。
本发明在具体执行时,分别由服务器端和用户端执行,其中上述步骤101、102和105在服务器端执行,上述步骤103和104在用户端执行。
图2为本发明所述验证码生成和验证的处理方法的又一种流程示意图。在该图2中,标识了服务器端和用户端,其中服务器端具体执行了所述验证码的生成和验证方法,其中具体包括上述步骤101、102和105;所述用户端具体执行了所述验证码人机交互方法,其中具体包括了上述步骤103和104。所述服务器端和用户端之间还包括相应的交互操作。在本领域,通常所述服务器端也被称为后台,所述用户端也被称为前台。
如图2所示,服务器端的验证码的生成方法主要包括:
步骤201、生成问题和对应的答案。
所述问题和答案可以根据指定的公式随机生成,例如根生成的问题为:“a b c De上述字母哪个是大写的?”,对应的答案为:“D”。
步骤202、生成对应的颜色值,根据所述问题生成问题图片,该问题图片中显示所述问题,将所述问题对应的答案和颜色值加载到所述图片的文件数据中,得到对应的验证码图片。在服务器端,需要存储所述验证码图片和对应的画笔颜色值,待用户端进行读取。
所述颜色值也是随机生成,但在优选的实施方案中,该颜色值需要与问题图片中所显示的问题的颜色要有较大的区别,否则不利于后续步骤205中所述对修改后验证码图片中的字符的识别。所述在问题图片中需要显示所述问题,例如所述问题为:“a b c D e上述字母哪个是大写的?”,那么对应生成的问题图片如图3的图片300所示。该问题的颜色值需要与所述随机生成的颜色值相区别。图3所显示的图片300也是验证码图片的显示效果。
之后如图2所示,用户端的验证码人机交互方法主要包括:
步骤203、从服务器端获取验证码图片及其对应的颜色值,在用户端显示所述验证码图片,并显示输入单元,设置该输入单元对应的输入颜色值为所述验证码图片对应的颜色值。
在一种优选实施例中,所述输入单元可以是画板,设置该输入单元对应的输入颜色值通常是指设置该画板对应画笔的颜色值。
所述显示画板可以显示在所述验证码图片内部,也可以显示在屏幕上的其它位置。但是在一种优选实施例中,所述显示画板具体是:在所述验证码图片内的指定区域显示画板。如图3所示,在生成所述验证码图片300时,就可以在所述验证码图片300中留出可以放置画板的空白位置301,该空白位置301就是用于显示画板的指定区域。所述显示画板和设置画板颜色值等技术可以采用现有成熟的技术手段。例如在采用超文本标记语言(HTML,Hypertext Markup Language)第五版的网络用户端来说,可以采用HTML5的canvas技术在用户端显示画板和设置画笔颜色。
步骤204、接受通过输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片,将该修改后验证码图片上传给数据验证方,即服务器端。
此处,由于是利用画笔向画板输入字符图像,因此本发明尤其适用于采用触摸屏技术的用户端,例如采用触摸屏的智能终端,包括但不限于智能手机、掌上电脑、平板电脑、智能电视(Smart TV)等。采用画板和画笔输入字符图像,可以非常方便用户进行操作。
例如,用户根据图3所示的验证码图片300中的问题,计算得到答案D,将该答案利用画笔输入到画板301中,如图4所示为在验证码图片的画板中利用画笔输入了答案字符图像的一种示意图,其中答案字符图像“D”的颜色值为所述验证码图片300所对应的颜色值。用户端会将所述字符图像与所述验证码图片合并,得到修改后的验证码图片,如图5所示为所合并的修改后验证码图片500,其中包括原验证码图片(其中包括问题“a b c D e上述字母哪个是大写的?”)以及用户利用画笔输入的答案字符图像,即“D”。用户端需要将该修改后验证码图片500上传给服务器端进行验证。
之后,服务器端的验证码验证方法主要包括:
步骤205、服务器端接收用户端上传的修改后验证码图片,从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,这样可以提取出所述图5中的答案字符“D”,将识别出的字符与所述答案比较,如果达到设定的一致率则验证成功,否则验证失败。
在一种优选实施方式中,在生成所述问题图片后,进一步包括:获取时间戳,将该时间戳连同所述问题对应的答案和颜色值一起加载到所述图片的文件数据中,得到对应的验证码图片;在接收所述修改后验证码图片后、根据所述颜色值识别出修改后验证码图片中相同颜色的字符之前,进一步包括:从所述修改后验证码图片中提取时间戳,确定该时间戳与当前时间之间的时差,判断该时差是否超出预设的时限,如果超出则判定验证失败,否则继续后续步骤。
在又一种优选实施例中,所述将该时间戳连同所述问题对应的答案和颜色值一起加载到所述图片的文件数据中,具体包括:将所述时间戳、所述问题对应的答案和颜色值,使用私有密钥进行加密,得到一加密字符串,将该加密字符串加载到所述图片的文件数据中;所述从所述修改后验证码图片中提取所述时间戳、颜色值和答案,具体包括:从所述修改后验证码图片中提取所述加密字符串,利用所述私有密钥对该加密字符串进行解密,得到所述时间戳、颜色值和答案。
在进一步的实施例中,所述将加密字符串加载到所述图片的文件数据中,具体包括:
将所述加密字符串以隐藏方式添加到图片数据中;
或者,将所述加密字符串添加到所述图片的文件头中;
或者,将所述加密字符串添加到所述图片文件的文件名中。
所述将所述加密字符串以隐藏方式添加到图片数据中,例如具体可以为:将所述加密字符串的二进制数据添加到所述图片的二进制数据的头部或尾部。
所述从修改后验证码图片中提取所述颜色值和答案以及时间戳,具体包括:
从所述图片的二进制数据的头部或尾部提取出所述加密字符串的二进制数据,转换为加密字符串,并利用所述私有密钥进行解密,得到其中的时间戳、颜色值和答案;
或者,从所述图片的文件头中提取出所述加密字符串,并利用所述私有密钥进行解密,得到其中的时间戳、颜色值和答案;
或者,从所述图片文件的文件名中提取出所述加密字符串,并利用所述私有密钥进行解密,得到其中的时间戳、颜色值和答案。
在一种优选实施例中,所述根据所述颜色值识别出修改后验证码图片中相同颜色的字符,具体包括:
对所述修改后验证码图片中的每个像素进行处理,如果像素颜色为所述颜色值则将该像素颜色变成指定色A,如果像素颜色不为所述颜色值则将该像素颜色变成指定色B,所述指定色A和指定色B具有指定幅度的色差;例如指定色A为黑色,指定色B为白色,这样处理完成后得到一张纯黑白图片,该黑白分明的图片非常有利于图像字符识别工具的识别。对经过上述处理后的修改后验证码图片进行字符识别,得到一组识别结果,将与修改后验证码图片中的字符相似度最高的一个识别结果作为最终的识别出的字符。所述进行字符识别的具体方法可以采用现有成熟的图像字符识别技术,例如目前有成熟的图像字符识别的软件或工具等,直接将所述修改后验证码图片输入该图像字符识别软件中,该图像字符识别软件就可以输出识别结果。
与上述方法对应,本发明公开了一种验证码生成和验证的处理系统。如图6为本发明所述验证码生成和验证的处理系统的一种组成示意图。参见图6,该处理系统包括设置在服务器端的验证码生成和验证装置601,以及设置在用户端的验证码人机交互装置602。
所述验证码生成和验证装置601具体包括:
问题和答案生成模块611,用于生成问题和对应的答案。
验证码图片生成模块612,用于生成对应的颜色值,根据所述问题生成问题图片,该问题图片中显示所述问题,将所述问题对应的答案和颜色值加载到所述图片的文件数据中,得到对应的验证码图片,将所述验证码图片和对应的颜色值对应存储。
验证模块613,用于接收验证码人机交互装置602上传的修改后验证码图片,从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则验证成功,否则验证失败。当然,验证模块613最后还要将成功或失败的验证结果返回给用户端。
所述验证码人机交互装置602具体包括:
显示模块621,用于从验证码生成和验证装置601获取验证码图片及其对应的颜色值,在用户端显示所述验证码图片,显示输入单元,设置该输入单元对应的输入颜色值为所述验证码图片对应的颜色值。在一种优选实施方式中,所述显示模块具体用于:在所述验证码图片内的指定区域显示画板。
响应模块622,用于接受通过输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片,将修改后验证码图片发送给验证码生成和验证装置601。当然,该响应模块622还需要接收验证模块613返回的验证是否成功或失败的验证结果,将验证结果返回给所述显示模块621以显示在用户端,从而使用户得知验证结果。
在一种优选实施方式中,所述验证码图片生成模块612进一步用于:获取时间戳,将该时间戳连同所述问题对应的答案和颜色值一起加载到所述图片的文件数据中,得到对应的验证码图片。所述验证模块613进一步用于:在得到所述修改后验证码图片后、根据所述颜色值识别出修改后验证码图片中相同颜色的字符之前,进一步从所述修改后验证码图片中提取时间戳,确定该时间戳与当前时间之间的时差,判断该时差是否超出预设的时限,如果超出则判定验证失败,否则继续后续操作。
在进一步的优选实施例中,所述验证码图片生成模块612进一步用于:将所述时间戳、所述问题对应的答案和颜色值,使用私有密钥进行加密,得到一加密字符串,将该加密字符串加载到所述图片的文件数据中;所述验证模块613进一步用于:从所述修改后验证码图片中提取所述加密字符串,利用所述私有密钥对该加密字符串进行解密,得到所述时间戳、颜色值和答案。
在进一步的优选实施例中,所述验证码图片生成模块612具体用于:将所述加密字符串以隐藏方式添加到图片数据中;或者,将所述加密字符串添加到所述图片的文件头中;或者,将所述加密字符串添加到所述图片文件的文件名中。
在一种优选实施例中,所述验证模块613具体用于:对所述修改后验证码图片中的每个像素进行处理,如果像素颜色为所述颜色值则将该像素颜色变成指定色A,如果像素颜色不为所述颜色值则将该像素颜色变成指定色B,所述指定色A和指定色B具有指定幅度的色差;对经过上述处理后的修改后验证码图片进行字符识别,得到一组识别结果,将与修改后验证码图片中的字符相似度最高的一个识别结果作为最终的识别出的字符。
下面以一个更为具体的场景实施例来进一步描述本发明的技术方案,主要包括:
位于服务器端的问题和答案生成模块611根据随机生成问题和答案。例如随机生成的问题为:“a b c D e上述字母哪个是大写的?”,对应的答案为:“D”。
位于服务器端的验证码图片生成模块612首先生成一个验证信息供后续验证使用,生成方法为:获取当前时间戳,在后台随机生成一个画笔颜色值;将上述随机生成的答案+所述当前时间戳+所述画笔颜色,这三个信息使用私有密钥(该私有密钥可以自定义设定)进行加密,得到一个加密验证字符串,即一个验证信息。
其次,所述验证码图片生成模块612将上述随机生成的问题生成一个问题图片,该问题图片中包含一片供用户写画的空白区域,如图3所述的指定区域301;并将所述加密验证字符串加载到该图片文件中,该图片文件就成为验证码图片。同时,在服务器端存储所述验证码图片和对应的画笔颜色值,待用户端的验证码人机交互模块进行读取。
位于用户端的验证码人机交互装置602从服务器端读取所述的验证码图片及所述对应的画笔颜色值,在用户端上显示所述验证码图片,并将该验证码图片作为可编辑的画板(即验证码图片空白的区域为画板),此处具体可以使用html5的canvas技术将所述验证码图片的图片空白区域设置为可编辑的画板,并设置对应的输入颜色值为从所述服务器端读取到的画笔颜色值。此后,用户根据验证码图片上面的问题计算出结果后直接在画板上画出结果,该验证码人机交互装置602接受通过输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后的验证码图片;完成后在用户点提交按钮后该验证码人机交互装置602将所述修改后验证码图片传给服务器端的验证模块进行验证。
位于服务器端的验证模块613在接收到验证码人机交互装置602上传的户修改后验证码图片后,进行验证,验证的具体步骤包括:
1)接收所述验证码人机交互装置602上传的修改后验证码图片;
2)提取图片中的加密字符串,然后用私有密钥进行解密,得到问题的正确答案、时间戳和画笔颜色;
3)将解密出来的时间戳与当前时间比较,如果超出超时限制则判定验证失败,否则继续后续步骤;
4)结合画笔颜色和图片进行图像处理,智能识别出用户输入的字符;
5)将识别出的字符与加密串里面的答案比较,如果一致则判定验证通过,否则判定验证失败。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述各实施例的功能模块可以位于一个终端或网络节点,或者也可以分布到多个终端或网络节点上。
另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本发明还公开了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (20)
1.一种验证码生成和验证的处理方法,其特征在于,包括:
服务器生成问题和对应的答案;
所述服务器生成对应的颜色值;根据所述问题生成问题图片,该问题图片中显示所述问题;所述服务器将所述问题对应的答案和颜色值加载到所述问题图片的文件数据中,得到对应的验证码图片;
用户端显示所述验证码图片,显示输入单元,所述用户端设置该输入单元对应的输入颜色值为所述验证码图片对应的颜色值;
所述用户端接受通过输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片;
所述服务器从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则验证成功。
2.根据权利要求1所述的方法,其特征在于,
在生成所述问题图片后,进一步包括:获取时间戳,将该时间戳连同所述问题对应的答案和颜色值一起加载到所述图片的文件数据中,得到对应的验证码图片;
在得到所述修改后验证码图片后、根据所述颜色值识别出修改后验证码图片中相同颜色的字符之前,进一步包括:从所述修改后验证码图片中提取时间戳,确定该时间戳与当前时间之间的时差,判断该时差是否超出预设的时限,如果超出则判定验证失败,否则继续后续步骤。
3.根据权利要求2所述的方法,其特征在于,
所述将该时间戳连同所述问题对应的答案和颜色值一起加载到所述图片的文件数据中,具体包括:将所述时间戳、所述问题对应的答案和颜色值,使用私有密钥进行加密,得到一加密字符串,将该加密字符串加载到所述图片的文件数据中;
所述从所述修改后验证码图片中提取所述时间戳、颜色值和答案,具体包括:从所述修改后验证码图片中提取所述加密字符串,利用所述私有密钥对该加密字符串进行解密,得到所述时间戳、颜色值和答案。
4.根据权利要求3所述的方法,其特征在于,
所述将加密字符串加载到所述图片的文件数据中,具体包括:
将所述加密字符串以隐藏方式添加到图片数据中;
或者,将所述加密字符串添加到所述图片的文件头中;
或者,将所述加密字符串添加到所述图片文件的文件名中。
5.根据权利要求1所述的方法,其特征在于,所述根据所述颜色值识别出修改后验证码图片中相同颜色的字符,具体包括:
对所述修改后验证码图片中的每个像素进行处理,如果像素颜色为所述颜色值则将该像素颜色变成指定色A,如果像素颜色不为所述颜色值则将该像素颜色变成指定色B,所述指定色A和指定色B具有指定幅度的色差;
对经过上述处理后的修改后验证码图片进行字符识别,得到一组识别结果,将与修改后验证码图片中的字符相似度最高的一个识别结果作为最终的识别出的字符。
6.一种验证码生成和验证方法,应用于服务器,其特征在于,包括:
生成问题和对应的答案;
生成对应的颜色值,根据所述问题生成问题图片,该问题图片中显示所述问题,将所述问题对应的答案和颜色值加载到所述问题图片的文件数据中,得到对应的验证码图片,以使用户端设备显示所述验证码图片时,将所述颜色值设置为输入单元对应的输入颜色值,并将通过输入单元输入的字符图像与所述验证码图片合并,得到修改后验证码图片;
接收所述修改后验证码图片,从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则验证成功。
7.根据权利要求6所述的验证码生成和验证方法,其特征在于,
在生成所述问题图片后,进一步包括:获取时间戳,将该时间戳连同所述问题对应的答案和颜色值一起加载到所述图片的文件数据中,得到对应的验证码图片;
在接收所述修改后验证码图片后、根据所述颜色值识别出修改后验证码图片中相同颜色的字符之前,进一步包括:从所述修改后验证码图片中提取时间戳,确定该时间戳与当前时间之间的时差,判断该时差是否超出预设的时限,如果超出则判定验证失败,否则继续后续步骤。
8.根据权利要求7所述的验证码生成和验证方法,其特征在于,
所述将该时间戳连同所述问题对应的答案和颜色值一起加载到所述图片的文件数据中,具体包括:将所述时间戳、所述问题对应的答案和颜色值,使用私有密钥进行加密,得到一加密字符串,将该加密字符串加载到所述图片的文件数据中;
所述从所述修改后验证码图片中提取所述时间戳、颜色值和答案,具体包括:从所述修改后验证码图片中提取所述加密字符串,利用所述私有密钥对该加密字符串进行解密,得到所述时间戳、颜色值和答案。
9.根据权利要求8所述的验证码生成和验证方法,其特征在于,
所述将加密字符串加载到所述图片的文件数据中,具体包括:
将所述加密字符串以隐藏方式添加到图片数据中;
或者,将所述加密字符串添加到所述图片的文件头中;
或者,将所述加密字符串添加到所述图片文件的文件名中。
10.根据权利要求6所述的验证码生成和验证方法,其特征在于,所述根据所述颜色值识别出修改后验证码图片中相同颜色的字符,具体包括:
对所述修改后验证码图片中的每个像素进行处理,如果像素颜色为所述颜色值则将该像素颜色变成指定色A,如果像素颜色不为所述颜色值则将该像素颜色变成指定色B,所述指定色A和指定色B具有指定幅度的色差;
对经过上述处理后的修改后验证码图片进行字符识别,得到一组识别结果,将与修改后验证码图片中的字符相似度最高的一个识别结果作为最终的识别出的字符。
11.一种验证码人机交互方法,应用于用户端设备,其特征在于,包括:
获取验证码图片及其对应的颜色值,显示所述验证码图片,显示输入单元,设置该输入单元对应的输入颜色值为所述验证码图片对应的颜色值,其中,所述验证码图片是数据验证方生成问题图片后,将所述问题图片对应的答案及所述颜色值加载到所述问题图片的文件数据中得到的;
接受所述输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片,将该修改后验证码图片上传给所述数据验证方,以使所述数据验证方从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则判定验证成功。
12.根据权利要求11所述的验证码人机交互方法,其特征在于,所述显示输入单元,具体包括:在所述验证码图片内的指定区域显示画板。
13.一种验证码生成和验证装置,其特征在于,包括:
问题和答案生成模块,用于生成问题和对应的答案;
验证码图片生成模块,用于生成对应的颜色值,根据所述问题生成问题图片,该问题图片中显示所述问题,将所述问题对应的答案和颜色值加载到所述问题图片的文件数据中,得到对应的验证码图片,以使验证码人机交互装置显示所述验证码图片时,将所述颜色值设置为输入单元对应的输入颜色值,并将通过输入单元输入的字符图像与所述验证码图片合并,得到修改后验证码图片;
验证模块,用于接收所述验证码人机交互装置上传的所述修改后验证码图片,从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则验证成功。
14.根据权利要求13所述的验证码生成和验证装置,其特征在于,
所述验证码图片生成模块进一步用于:获取时间戳,将该时间戳连同所述问题对应的答案和颜色值一起加载到所述图片的文件数据中,得到对应的验证码图片;
所述验证模块进一步用于:在得到所述修改后验证码图片后、根据所述颜色值识别出修改后验证码图片中相同颜色的字符之前,进一步从所述修改后验证码图片中提取时间戳,确定该时间戳与当前时间之间的时差,判断该时差是否超出预设的时限,如果超出则判定验证失败,否则继续后续操作。
15.根据权利要求14所述的验证码生成和验证装置,其特征在于,
所述验证码图片生成模块进一步用于:将所述时间戳、所述问题对应的答案和颜色值,使用私有密钥进行加密,得到一加密字符串,将该加密字符串加载到所述图片的文件数据中;
所述验证模块进一步用于:从所述修改后验证码图片中提取所述加密字符串,利用所述私有密钥对该加密字符串进行解密,得到所述时间戳、颜色值和答案。
16.根据权利要求15所述的验证码生成和验证装置,其特征在于,所述验证码图片生成模块具体用于:
将所述加密字符串以隐藏方式添加到图片数据中;
或者,将所述加密字符串添加到所述图片的文件头中;
或者,将所述加密字符串添加到所述图片文件的文件名中。
17.根据权利要求13所述的验证码生成和验证装置,其特征在于,所述验证模块具体用于:
对所述修改后验证码图片中的每个像素进行处理,如果像素颜色为所述颜色值则将该像素颜色变成指定色A,如果像素颜色不为所述颜色值则将该像素颜色变成指定色B,所述指定色A和指定色B具有指定幅度的色差;
对经过上述处理后的修改后验证码图片进行字符识别,得到一组识别结果,将与修改后验证码图片中的字符相似度最高的一个识别结果作为最终的识别出的字符。
18.一种验证码人机交互装置,其特征在于,包括:
显示模块,用于从验证码生成和验证装置获取验证码图片及其对应的颜色值,显示所述验证码图片,显示输入单元,设置该输入单元对应的输入颜色值为所述验证码图片对应的颜色值,其中,所述验证码图片是所述验证码生成和验证装置生成问题图片后,将所述问题图片对应的答案及所述颜色值加载到所述问题图片的文件数据中得到的;
响应模块,用于接受通过输入单元输入的字符图像,将所述字符图像与所述验证码图片合并,得到修改后验证码图片,将修改后验证码图片发送给所述验证码生成和验证装置,以使所述验证码生成和验证装置从所述修改后验证码图片中提取所述颜色值和答案,根据所述颜色值识别出修改后验证码图片中相同颜色的字符,将识别出的字符与所述答案比较,如果达到设定的一致率则判定验证成功。
19.根据权利要求18所述验证码人机交互装置,其特征在于,所述显示模块具体用于:在所述验证码图片内的指定区域显示画板。
20.一种验证码生成和验证的处理系统,其特征在于,包括如权利要求13至17任一项所述的验证码生成和验证装置,以及如权利要求18或19所述的验证码人机交互装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310394006.7A CN104426879B (zh) | 2013-09-03 | 2013-09-03 | 验证码生成和验证的处理方法及对应的方法、装置和系统 |
PCT/CN2014/085115 WO2015032281A1 (en) | 2013-09-03 | 2014-08-25 | Method and system for generating and processing challenge-response tests |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310394006.7A CN104426879B (zh) | 2013-09-03 | 2013-09-03 | 验证码生成和验证的处理方法及对应的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104426879A CN104426879A (zh) | 2015-03-18 |
CN104426879B true CN104426879B (zh) | 2019-01-25 |
Family
ID=52627789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310394006.7A Active CN104426879B (zh) | 2013-09-03 | 2013-09-03 | 验证码生成和验证的处理方法及对应的方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104426879B (zh) |
WO (1) | WO2015032281A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483385A (zh) * | 2016-06-08 | 2017-12-15 | 中国移动通信有限公司研究院 | 验证方法及装置 |
CN106330439A (zh) * | 2016-10-25 | 2017-01-11 | 先锋智道(北京)科技有限公司 | 验证码生成方法、生成装置及生成系统 |
CN108062381B (zh) * | 2017-12-13 | 2019-03-15 | 高艳 | 图像信息处理方法、装置和存储介质 |
CN110543754A (zh) * | 2018-05-29 | 2019-12-06 | 武汉极意网络科技有限公司 | 存储器、验证码实现方法、装置和设备 |
CN110502890B (zh) * | 2019-08-09 | 2020-11-10 | 北京达佳互联信息技术有限公司 | 一种验证码的处理方法、装置、电子设备及存储介质 |
CN112836185B (zh) * | 2019-11-22 | 2022-12-30 | 上海哔哩哔哩科技有限公司 | 用户验证方法及系统 |
CN111143813B (zh) * | 2019-12-27 | 2022-02-22 | 网易(杭州)网络有限公司 | 一种验证问题的生成方法、验证方法及装置 |
US20220261473A1 (en) * | 2021-02-16 | 2022-08-18 | Beijing Didi Infinity Technology And Development Co., Ltd. | System and method for protecting a login process |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845489A (zh) * | 2005-04-06 | 2006-10-11 | 腾讯科技(深圳)有限公司 | 验证信息生成装置及其方法、反自动机验证装置及其方法 |
JP2009266067A (ja) * | 2008-04-28 | 2009-11-12 | Kawamura Electric Inc | ユーザ認証システム |
CN102298763A (zh) * | 2010-06-28 | 2011-12-28 | 腾讯科技(北京)有限公司 | 一种图片验证码的生成方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101059830A (zh) * | 2007-06-01 | 2007-10-24 | 华南理工大学 | 一种可结合游戏特征的机器人外挂识别方法 |
-
2013
- 2013-09-03 CN CN201310394006.7A patent/CN104426879B/zh active Active
-
2014
- 2014-08-25 WO PCT/CN2014/085115 patent/WO2015032281A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845489A (zh) * | 2005-04-06 | 2006-10-11 | 腾讯科技(深圳)有限公司 | 验证信息生成装置及其方法、反自动机验证装置及其方法 |
JP2009266067A (ja) * | 2008-04-28 | 2009-11-12 | Kawamura Electric Inc | ユーザ認証システム |
CN102298763A (zh) * | 2010-06-28 | 2011-12-28 | 腾讯科技(北京)有限公司 | 一种图片验证码的生成方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104426879A (zh) | 2015-03-18 |
WO2015032281A1 (en) | 2015-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104426879B (zh) | 验证码生成和验证的处理方法及对应的方法、装置和系统 | |
US10218506B1 (en) | Cross-device authentication | |
US10135818B2 (en) | User biological feature authentication method and system | |
CN105184179B (zh) | 嵌入式加密移动存储设备及其操作方法 | |
CN104468522B (zh) | 一种声纹验证方法和装置 | |
CN103873432A (zh) | 验证码实现方法及其系统、验证码服务端 | |
JP2019165422A (ja) | マルチメディアコンテンツの再生方法及び装置{multimedia content playback method and apparatus} | |
CN104657653B (zh) | 图像验证码的验证方法及验证装置 | |
CN104158664A (zh) | 一种身份认证方法及系统 | |
CN105574398A (zh) | 一种验证码验证方法及装置 | |
US20180026789A1 (en) | Information processing method, terminal and computer storage medium | |
CN109194689B (zh) | 异常行为识别方法、装置、服务器及存储介质 | |
CN113918898A (zh) | 基于轨迹绘制交互的安全验证码生成方法、系统及介质 | |
CN103310139A (zh) | 一种输入验证方法和输入验证装置 | |
EP3018913B1 (en) | Media player | |
CN107888591A (zh) | 一种电子数据保全的方法及系统 | |
CN107451459A (zh) | 使用图片验证码进行验证的方法和装置 | |
CN105007255A (zh) | 一种验证方法、服务器,及系统 | |
CN110069907A (zh) | 基于数字水印的大数据溯源方法及系统 | |
CN106529973A (zh) | 一种基于增强现实的防伪方法及装置 | |
CN107844696B (zh) | 一种验证码干扰方法及服务器 | |
CN103559251A (zh) | 基于信息隐藏的数据安全保护方法 | |
EP3528151A1 (en) | Method and apparatus for user authentication | |
CN111860482A (zh) | 动态图形码验证方法及装置、电子设备和存储介质 | |
EP4113371A1 (en) | Image data processing method and apparatus, device, storage medium, and product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |