图片验证码生成方法和系统、验证方法和客户端及服务器的制造方法

文档序号:8530348阅读:583来源:国知局
图片验证码生成方法和系统、验证方法和客户端及服务器的制造方法
【技术领域】
[0001]本发明涉及图像处理技术,特别是涉及一种图片验证码生成方法和系统。
【背景技术】
[0002]验证码技术是一种全自动区分计算机和人类的图灵测试(Completely AutomatedPublic Turing test to tell Computers and Humans Apart, CAPTCHA),是一种区分用户是计算机还是人的公共全自动程序。验证码技术就是将一串随机产生的数字或符号生成一幅图片,图片中加入一些干扰元素,该图片即称为图片验证码,并由用户肉眼识别图片验证码中的字符,将字符提交至网站,由网站进行验证,验证成功后用户才能使用某项功能。
[0003]为了防止计算机批量注册、恶意破解、论坛灌水等,一般的网站都采用验证码技术。而自动机是专门用于破解图片验证码的一种计算机程序,其通过使用各种图像识别技术,自动从图片验证码中识别出对应的字符并输出结果,以实现对图片验证码的自动破解。
[0004]自动机破解图片验证码的一般流程为:分割图片验证码中的背景与字符,从粘连的字符串中切分出单个字符,并逐一识别单个字符。随着OCR (Optical CharacterRecognit1n,光学字符识别)技术的发展,图片验证码越来越无法抵御自动机的破解。为了增加自动机破解难度,需要在图片验证码中增加更多更复杂的干扰元素,然而这些干扰元素又会使正常用户对图片验证码的辨识率也大幅下降。

【发明内容】

[0005]基于此,有必要提供一种图片验证码生成方法和系统,使得所生成的图片验证码能增加自动机的破解难度并且不会增加用户识别难度。
[0006]一种图片验证码生成方法,包括以下步骤:
[0007]获取背景图片;
[0008]获取iu景字符;
[0009]将所述前景字符嵌入所述图片前景中,得到图片验证码;
[0010]在所述图片验证码中生成分割所述前景字符且与所述背景图片颜色相融的干扰元素。
[0011]一种图片验证码生成系统,包括:
[0012]前景获取模块,用于获取背景图片;
[0013]字符获取模块,用于获取前景字符;
[0014]合成模块,用于将所述前景字符嵌入所述背景图片中,得到图片验证码;
[0015]干扰元素生成模块,用于在所述图片验证码中生成分割所述前景字符且与所述背景图片颜色相融的干扰元素。
[0016]此外,还有必要提供一种可增加自动机破解图片验证码的难度且不会增加用户识别图片验证码的难度的基于图片验证码的验证方法和客户端以及服务器。
[0017]一种基于图片验证码的验证方法,包括以下步骤:
[0018]接收并展示服务器发送的图片验证码,所述图片验证码中包含干扰元素,所述干扰元素分割所述图片验证码中的前景字符且与所述图片验证码中的背景图片颜色相融;
[0019]获取通过与所述图片验证码对应的验证码输入接口输入的字符;
[0020]将输入的字符发送至所述服务器,使得所述服务器根据输入的字符与所述图片验证码获得匹配结果;
[0021]接收并展示所述服务器返回的与所述匹配结果对应的网页内容。
[0022]一种基于图片验证码的验证方法,包括以下步骤:
[0023]生成图片验证码,所述图片验证码按照上述的图片验证码生成方法生成;
[0024]保存图片验证码与图片验证码所表达的字符的对应关系;
[0025]将所述图片验证码下发给客户端,使得所述客户端展示所述图片验证码;
[0026]接收所述客户端提交的通过与所述图片验证码对应的验证码输入接口输入的字符;
[0027]将所述输入的字符与所述图片验证码所表达的字符相匹配,得到匹配结果;
[0028]根据所述匹配结果向所述客户端下发对应的网页内容。
[0029]一种基于图片验证码的验证客户端,包括:
[0030]验证码接收模块,用于接收服务器发送的图片验证码,所述图片验证码中包含干扰元素,所述干扰元素分割所述图片验证码中的前景字符且与所述图片验证码中的背景图片颜色相融;
[0031]验证码展示模块,用于展示所述图片验证码;
[0032]字符获取模块,用于获取通过与所述图片验证码对应的验证码输入接口输入的字符;
[0033]字符发送模块,用于将输入的字符发送至所述服务器,使得所述服务器根据输入的字符与所述图片验证码获得匹配结果;
[0034]网页接收模块,用于接收所述服务器返回的与所述匹配结果对应的网页内容;
[0035]网页展示模块,用于展示所述网页内容。
[0036]一种基于图片验证码的验证服务器,包括:
[0037]上述的图片验证码生成系统;
[0038]存储模块,用于保存图片验证码与图片验证码所表达的字符的对应关系;
[0039]验证码下发模块,用于将所述图片验证码下发给客户端,使得所述客户端展示所述图片验证码;
[0040]字符接收模块,用于接收所述客户端提交的通过与所述图片验证码对应的验证码输入接口输入的字符;
[0041]匹配模块,用于将所述输入的字符与所述图片验证码所表达的字符相匹配,得到匹配结果;
[0042]网页下发模块,用于根据所述匹配结果向所述客户端下发对应的网页内容。
[0043]上述图片验证码生成方法和系统、基于图片验证码的验证方法和客户端及服务器,在图片验证码中用与背景图片颜色相融的干扰元素分割前景字符,可以认为干扰元素也成了背景图片的一部分,使得自动机在图片验证码中只能提取到前景字符碎片,而不能提取到整个前景字符,从而增加了自动机破解图片验证码的难度,有效地防止自动机批量注册、恶意破解、论坛灌水等,而前景字符虽然被分割,但前景字符碎片构成的整体轮廓还是可以使得图片验证码易于被用户识别,因此不会增加用户识别图片验证码的难度。
【附图说明】
[0044]图1为一个实施例中的图片验证码生成方法的流程示意图;
[0045]图2A为一个实施例中的图片验证码的示意图;
[0046]图2B为一个实施例中的图片验证码生成方法生成的图片验证码示意图;
[0047]图2C为一个实施例中的图片验证码生成方法生成的图片验证码示意图;
[0048]图3为一个实施例中的基于图片验证码的验证方法的流程示意图;
[0049]图4为一个实施例中的基于图片验证码的验证方法的流程示意图;
[0050]图5为一个实施例中的图片验证码生成系统的结构示意图;
[0051]图6为一个实施例中的基于图片验证码的验证客户端的结构示意图;
[0052]图7为一个实施例中的基于图片验证码的验证服务器的结构示意图;
[0053]图8为能实现本发明实施例的一个计算机系统1000的模块图。
【具体实施方式】
[0054]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0055]除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组口 ο
[0056]如图1所示,在一个实施例中,一种图片验证码生成方法,包括以下步骤:
[0057]步骤S102,获取背景图片。
[0058]在一个实施例中,可预先收集背景图片并保存至背景图片库中,步骤S102可从背景图片库中随机抽取背景图片。在另一个实施例中,步骤S102可随机选取背景图片的颜色,并根据选取的颜色生成背景图片。
[0059]步骤S104,获取前景字符。
[0060]在一个实施例中,可预先收集字符样本并保存至字符样本库中,步骤S104可从字符样本库中随机选取字符样本作为图片验证码的前景字符。在另一个实施例中,步骤S104可随机选取预设范围内的字符(例如A?Z内的大写英文字符)以及字符颜色和字符字体,根据选取的字符、字符颜色和字符字体生成前景字符。
[0061]进一步的,步骤S104可将前景字符进行扭曲变形,例如钢性变形或非线性变形等坐寸ο
[0062]步骤S106,将前景字符嵌入背景图片中,得到图片验证码。
[0063]在一个实施例中,可将前景字符进行旋转后嵌入背景图片中,旋转的角度可以随机选取,并使得前景字符之间相互粘连,以提高自动机从图片验证码中提取单个字符的难度。
[0064]步骤S108,在图片验证码中生成分割前景字符且与背景图片颜色相融的干扰元素。
[0065]对于具有单一颜色的背景图片,干扰元素与背景图片的颜色相融即指的是干扰元素与背景图片颜色相同。对于具有复杂颜色的背景图片,干扰元素与背景图片颜色相融指的是干扰元素的颜色符合背景图片中像素的颜色规律,即将干扰元素置于背景图片中后干扰元素与背景图片可融为一体。例如,图2A所示的图片验证码20a中的背景图片201为具有复杂颜色的自然图片,其中的干扰元素202将前景字符203分割成多个部分
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1