CN106203058B - 验证码生成方法及装置 - Google Patents

验证码生成方法及装置 Download PDF

Info

Publication number
CN106203058B
CN106203058B CN201610509510.0A CN201610509510A CN106203058B CN 106203058 B CN106203058 B CN 106203058B CN 201610509510 A CN201610509510 A CN 201610509510A CN 106203058 B CN106203058 B CN 106203058B
Authority
CN
China
Prior art keywords
color
identifying code
random noise
foreground
component
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
CN201610509510.0A
Other languages
English (en)
Other versions
CN106203058A (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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201610509510.0A priority Critical patent/CN106203058B/zh
Publication of CN106203058A publication Critical patent/CN106203058A/zh
Application granted granted Critical
Publication of CN106203058B publication Critical patent/CN106203058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation

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)
  • Image Analysis (AREA)

Abstract

本申请提供了一种验证码生成方法,该方法在预先生成的多种颜色中,选择可分辨参数的参数值最高的颜色,对选择的颜色添加随机噪声后,填充到验证码的前景区域中,并将预先生成的多种颜色全部随机填充到验证码的背景区域中,从而获得验证码。本实施例生成的验证码,背景颜色包括多种颜色,观看效果类似色盲图,可以增强基于字符分割或神经网络投影算法提取验证码数据的难度,另外,前景颜色添加有随机噪声,可以增强基于色彩分类算法提取验证码数据的难度,总而言之,本实施例增强了验证码数据的提取难度,提高了验证码的安全性。另外,本申请还提供了一种验证码生成装置,用以保证所述方法在实际中的应用及实现。

Description

验证码生成方法及装置
技术领域
本申请涉及验证码技术领域,更具体地,涉及验证码生成方法及装置。
背景技术
验证码,应用在各种公共系统中,用来判断访问公共系统的用户是人还是机器人程序。机器人程序通过自动执行,恶意破坏公共系统,如票务系统中,机器人程序可以恶意刷票;论坛系统中,机器人程序可以论坛灌水等等。而验证码的应用,可以有效识别出机器人程序,从而保护合法用户对公共系统的正常访问。
目前验证码以图片的形式展示给用户,图片中包含验证码数据,如文字、英文字母等。该验证码容易被恶意程序破解,即容易从图片形式的验证码中提取出验证码数据,导致验证码的安全性较低。
发明内容
有鉴于此,本申请提供了一种验证码生成方法,用以生成安全性较高的验证码。另外,本申请还提供了一种验证码生成装置,用以保证所述方法在实际中的应用及实现。
为实现所述目的,本申请提供的技术方案如下:
本申请的第一方面提供了一种验证码生成方法,包括:
在预先生成的颜色集合中,选择可分辨参数的参数值最高的颜色作为备选颜色;其中,所述颜色集合中包括多种颜色,且所述可分辨参数用来表示从所述颜色集合中分辨出一种颜色的难易程度;
对所述备选颜色添加随机噪声,获得前景颜色;
将所述前景颜色填充到验证码的前景区域中;
将所述颜色集合中的各种颜色随机填充到验证码的背景区域中,以得到色盲图效果的验证码。
本申请的第二方面提供了一种验证码生成装置,包括:
备选颜色选择模块,用于在预先生成的颜色集合中,选择可分辨参数的参数值最高的颜色作为备选颜色;其中,所述颜色集合中包括多种颜色,且所述可分辨参数用来表示从所述颜色集合中分辨出一种颜色的难易程度;
前景颜色获得模块,用于对所述备选颜色添加随机噪声,获得前景颜色;
前景颜色填充模块,用于将所述前景颜色填充到验证码的前景区域中;
背景颜色填充模块,用于将所述颜色集合中的各种颜色随机填充到验证码的背景区域中,以得到色盲图效果的验证码。
由以上技术方案可知,本申请具有如下有益效果:
本申请提供了一种验证码生成方法实施例,本实施例在预先生成的多种颜色中,选择可分辨参数的参数值最高的颜色,对选择的颜色添加随机噪声后,填充到验证码的前景区域中,并将预先生成的多种颜色全部随机填充到验证码的背景区域中,从而获得验证码。本实施例生成的验证码,背景颜色包括多种颜色,观看效果类似色盲图,可以增强基于字符分割或神经网络投影算法提取验证码数据的难度,另外,前景颜色添加有随机噪声,可以增强基于色彩分类算法提取验证码数据的难度,总而言之,本实施例增强了验证码数据的提取难度,提高了验证码的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的验证码生成方法实施例1的流程图;
图2为本申请提供的生成多种颜色的流程图;
图3为本申请提供的选择可分辨参数的参数值最高的备选颜色的流程图;
图4为本申请提供的验证码生成方法实施例2的流程图;
图5为本申请提供的一种验证码的示例图;
图6为本申请提供的验证码生成装置实施例1的结构示意图;
图7为本申请提供的验证码生成装置实施例2的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,其示出了本申请提供的验证码生成方法实施例1的流程。如图1所示,本实施例可以具体包括步骤S101~步骤S104。
步骤S101:在预先生成的颜色集合中,选择可分辨参数的参数值最高的颜色作为备选颜色;其中,颜色集合中包括多种颜色,且可分辨参数用来表示从颜色集合中分辨出一种颜色的难易程度。
之所以颜色集合中包括多种颜色是因为:现有验证码的背景颜色通常为单一颜色,使得从背景颜色中分离出前景(即验证码数据)变得非常容易,验证码的安全性较低。
颜色集合中的颜色种类越多,则生成的验证码的背景颜色越多样,使得验证码的安全性越高。但是,颜色集合中的颜色种类越多,则造成人眼越不容易从背景中区分出验证码数据,因此,颜色集合中颜色的种类数需要限定在一定范围内,优选是20-80范围内的数值,当然,此处的数值仅仅是一个示例,在具体实施中,还可以是其他。
在颜色集合中,选择一种备选颜色,用来填充在前景区域中。选择的标准是,备选颜色的可分辨参数的参数值最高,从而最容易从颜色集合中区分出备选颜色,其中,可分辨参数可以是亮度参数、或者是与其他颜色的颜色距离(均方距离或绝对值距离)参数、或者是以上两个参数的结合。选择备选颜色具体方式详见下文。
步骤S102:对备选颜色添加随机噪声,获得前景颜色。
由于随机噪声尤其是高强度随机噪声可以对抗色彩分类,因此,在备选颜色中添加随机噪声后,获得最终添加到前景区域中的颜色,即本步骤中的前景颜色。
在备选颜色中添加随机噪声的具体方式可以是,为备选颜色的每个颜色空间生成对应的随机噪声,并将随机噪声添加到对应颜色空间的颜色分量中。
例如,备选颜色a具有Y、U及V三个颜色空间,三个颜色空间的颜色分量分别为90、2及3。假设为颜色空间Y生成随机噪声33、为颜色空间U生成随机噪声28,为颜色空间V生成随机噪声34。
将随机噪声33添加到颜色空间Y的颜色分量90,将随机噪声28添加到颜色空间U的颜色分量2,将随机噪声34添加到颜色空间V的颜色分量3,获得的前景颜色的三个颜色分量分别为123、30及37。
步骤S103:将前景颜色填充到验证码的前景区域中。
其中,可以按照色盲图的前景颜色的填充方式,将前景颜色填充到前景区域中,前景区域的内容是待输入的验证码数据,当然,验证码数据可以经过移位、旋转等处理。
色盲图的前景颜色的填充方式是,将前景颜色填充在大小不同的子区域中,子区域如三角形、圆形、方形、菱形及梯形等。
步骤S104:将颜色集合中的各种颜色随机填充到验证码的背景区域中,以得到色盲图效果的验证码。
其中,将颜色集合中的各种颜色填充到验证码的背景区域中,填充的方式可以随机,或者按照色盲图的背景颜色填充方式,即将各种颜色任意填充在大小不同的子区域中,子区域如三角形、圆形、方形、菱形及梯形等,从而生成观看效果上类似色盲图的验证码。
多种颜色的背景区域,使得恶意程序很难识别出前景区域中验证码数据的边界,提高了验证码的安全性。
需要说明的是,本步骤与步骤S102及步骤S103的执行顺序并不做具体限定,可以是先执行步骤S102及步骤S103以填充验证码的前景区域,也可以是先执行步骤S104以填充验证码的背景区域,或者,还可以是同时执行,以同时填充验证码的前景区域及背景区域。
由以上技术方案可知,本申请提供了一种验证码生成方法实施例,在预先生成的多种颜色中,选择可分辨参数的参数值最高的颜色,对选择的颜色添加随机噪声后,填充到验证码的前景区域中,并将预先生成的多种颜色全部随机填充到验证码的背景区域中,从而获得验证码。本实施例生成的验证码,背景颜色包括多种颜色,观看效果类似色盲图,可以增强基于字符分割或神经网络投影算法提取验证码数据的难度,另外,前景颜色添加有随机噪声,可以增强基于色彩分类算法提取验证码数据的难度,总而言之,本实施例增强了验证码数据的提取难度,提高了验证码的安全性。
以下对验证码生成方法中使用的颜色集合进行详细说明。如图2所示,颜色集合中各种颜色的生成步骤可以具体包括步骤S201~步骤S203。
步骤S201:根据待生成颜色的颜色格式,确定颜色格式对应的多个颜色空间。
其中,待生成颜色的颜色格式可以是现有的任意一种颜色格式,如GRB格式或YUV格式。不同的颜色格式,其所对应的颜色空间的个数及种类也不同。以YUV格式为例,其所对应的颜色空间为三个,分别为颜色空间Y、颜色空间U及颜色空间V。
步骤S202:为每个颜色空间确定多个目标颜色分量。
不同的颜色空间,目标颜色分量的个数可以相同,也可以不同。例如,颜色空间Y的目标颜色分量为4个、颜色空间U的目标颜色分量为3个、颜色空间V的目标颜色分量为4个。
需要说明的是,颜色空间的各个目标颜色分量大小不同,可以对各个目标颜色分量排序,同一颜色空间的多个目标颜色分量具有如下特征:相邻的目标颜色分量之间的差值相等。
假设,颜色空间Y的目标颜色分量分别为0、64、128及192,可见,相邻的目标颜色分量的差值均为64。在本实施例中确定多个目标颜色分量的具体方式可以是,将每个颜色空间的颜色分量范围均等分为多份,并将每份中的最小颜色分量确定为对应颜色空间的目标颜色分量。
以颜色空间Y为例,颜色空间Y的颜色分量范围是0-255,则将该颜色分量范围均分为四等分,分别为0-63、64-127、128-191及192-255,将每份中最小的颜色分量确定为颜色空间的一个目标颜色分量,那么对于颜色空间Y来说,其对应的目标颜色分量分别为0、64、128及192。需要说明的是,颜色分量均等分的份数并不局限于示例中的4,可以是其他数值。
使用上述方法确定目标颜色分量,可以避免目标颜色分量集中取值,从而导致颜色集合中的颜色过于相近,不容易区分的问题。
步骤S203:将多个颜色空间的多个目标颜色分量进行排列组合,获得多种颜色。
颜色空间为多个,同一颜色空间的目标颜色分量也为多个,则可以将不同颜色空间的各个目标颜色分量进行排列组合,从而获得多种颜色。
以YUV颜色格式的颜色为例,假设颜色空间Y的目标颜色分量分别为0、64、128及192,颜色空间U的目标颜色分量分别为0、85及170,颜色空间V的目标颜色分量分别为0、85及170。排列组合的方式是,[0、0、0]、[0、0、85]、[0、0、170]、[0、85、0]、[0、85、85]、[0、85、170]……以此类推,直至[192、170、170]。其中,每一个排列组合表示一种颜色。
可见,获得颜色的种类数取决于每个颜色空间的目标颜色分量的个数。以YUV颜色格式的颜色为例,假设颜色空间Y的目标颜色分量有4个,颜色空间U的目标颜色分量有3个,颜色空间V的目标颜色分量有4个,则排列组合后生成的颜色种类为4*3*4即48种。
在另一实施方式中,如图3所示,在步骤S202确定多个目标颜色分量之后,步骤S203将多个目标颜色分量排列组合之前,还可以包括步骤S204。
步骤S204:对每个目标颜色分量添加随机噪声。从而可以对添加有随机噪声的多个目标颜色分量进行排列组合,得到多种颜色。
其中,随机噪声是生成的一个随机数。在确定目标颜色分量的具体实现方式中,随机噪声的取值范围可以具有限定值。
以上述均等分颜色分量范围获得目标颜色分量的方式为例,为了避免某个目标颜色分量添加随机噪声后与其他目标颜色分量相同,则可以根据均等分的份数,来限定随机噪声的取值。
例如,颜色分量范围为0-255,将颜色分量范围均等分为4份,目标颜色分量分别为0、64、128及192。相邻两者之间的差值为64,因此,可以限定随机噪声的最大值为64,即生成0-64之间的随机数,则各个目标颜色分量添加随机噪声后,也不可能与其他目标颜色分量相同,从而避免随意添加随机噪声可能造成的目标颜色分量相同的情况。
在具体应用中,备选颜色的可分辨参数可以是颜色的亮度及与其他颜色的颜色距离两个因素,也就是说,在颜色集合中,选择亮度较高、且与其他颜色的颜色距离较大的颜色作为备选颜色。
具体地,如图3所示,选择可分辨参数最高的备选颜色的实现方式可以包括步骤S301~步骤S302。
步骤S301:在预先生成的颜色集合中,确定亮度较高的多个颜色。
由于亮度参数可以决定人眼对验证码数据的分辨程度,亮度较暗的验证码数据不容易从背景颜色中分辨出来,因此,在颜色集合中,确定亮度较高的多个颜色作为初步选择的颜色。在实施中,初选颜色的数量可以根据实际情况具体设置。
例如,在颜色集合中,选择出亮度较高的5个颜色。
步骤S302:在确定的多个颜色中,选择与颜色集合中其他颜色的颜色距离最大的颜色作为备选颜色。
其中,在上一步骤使用亮度选择出颜色后,进一步使用距离对颜色进行选择。颜色距离可以是均方距离也可以是绝对值距离。
若以均方距离作为颜色距离,则具体计算公式可以是:
其中,D为颜色距离,Ω为预先生成的颜色集合,A为步骤S301确定出的某种颜色,X为该颜色集合中除了颜色A以外的任意一种颜色,YA为颜色A的颜色空间Y的颜色分量,UA为颜色A的颜色空间U的颜色分量,VA为颜色A的颜色空间V的颜色分量。
若以绝对值距离作为颜色距离,则具体计算公式可以是:该公式中的参数说明见上文。
根据以上计算公式,计算步骤S301确定出来的每个颜色的颜色距离,并将颜色距离最大的颜色确定为备选颜色,备选颜色用来填充验证码的前景区域。
参见图4,其示出了本申请提供的验证码生成方法实施例2的流程。如图4所示,本实施例可以具体包括步骤S401~步骤S405。
步骤S401:在预先生成的颜色集合中,选择可分辨参数的取值最高的颜色作为备选颜色;其中,颜色集合中包括多种颜色,且可分辨参数用来表示从颜色集合中分辨出某一种颜色的难易程度。
步骤S402:对备选颜色添加随机噪声,获得前景颜色。
步骤S403:将前景颜色填充到验证码的前景区域中。
其中,步骤S401~步骤S403的说明可以参见上文验证码生成方法实施例1,此处并不赘述。
步骤S404:对颜色集合中的各种颜色添加随机噪声。
其中,颜色集合中包含多种颜色,在将该多种颜色添加到背景区域之前,再次对每种颜色添加随机噪声。添加的方式可以是,针对颜色集合中的每种颜色的每个颜色空间,生成随机噪声,并将该随机噪声添加到该颜色空间的颜色分量上。
例如,颜色集合中的某一种颜色包含YUV三个颜色空间,三个颜色空间的颜色分量分别为64、29及3。假设为颜色空间Y生成的随机噪声为2,为颜色空间U生成的随机噪声为11,为颜色空间V生成的随机噪声为27,则添加随机噪声后,YUV三个颜色空间的颜色分量分别为66、40及30。
在将颜色集合中的颜色添加到背景区域中之前,再次添加随机噪声,是为了进一步对抗色彩分类算法对验证码数据的提取。
步骤S405:按照色盲图的背景颜色填充方式,将添加随机噪声后的颜色填充到验证码的背景区域中,获得验证码。
其中,将添加随机噪声后的颜色,填充到背景区域的三角形、圆形、方形、菱形等子区域中,从而生成色盲图形式的验证码。
参见图5示出的一种验证码。需要说明的是,该验证码的背景区域本身包括多种颜色,但将彩色灰度化处理后生成图5所示的验证码。如图5所示,验证码的背景区域中包括多个小区域,小区域内随意填充有各种颜色,此种形式的验证码从观看效果上类似色盲图。
以下对本申请提供的验证码生成装置进行介绍,需要说明的是,下文有关验证码生成装置的说明可以参见上文提供的验证码生成方法,以下并不赘述。
与上述验证码生成方法实施例1相对应,本申请提供了一种验证码生成装置实施例1。如图6所示,本实施例可以具体包括:备选颜色选择模块601、前景颜色获得模块602、前景颜色填充模块603及背景颜色填充模块604。
备选颜色选择模块601,用于在预先生成的颜色集合中,选择可分辨参数最高的颜色作为备选颜色;其中,颜色集合中包括多种颜色,且可分辨参数用来表示从颜色集合中分辨出某一种颜色的难易程度;
前景颜色获得模块602,用于对备选颜色添加随机噪声,获得前景颜色;
前景颜色填充模块603,用于将前景颜色填充到验证码的前景区域中;
背景颜色填充模块604,用于将颜色集合中的各种颜色随机填充到验证码的背景区域中,以得到色盲图效果的验证码。
由以上技术方案可知,本申请提供了一种验证码生成方法实施例,备选颜色选择模块601在预先生成的多种颜色中,选择可分辨参数的参数值最高的颜色,前景颜色获得模块602对选择的颜色添加随机噪声后,由前景颜色填充模块603将添加随机噪声后的颜色填充到验证码的前景区域中,背景颜色填充模块604将预先生成的多种颜色全部随机填充到验证码的背景区域中,从而获得验证码。本实施例生成的验证码,背景颜色包括多种颜色,观看效果类似色盲图,可以增强基于字符分割或神经网络投影算法提取验证码数据的难度,另外,前景颜色添加有随机噪声,可以增强基于色彩分类算法提取验证码数据的难度,总而言之,本实施例增强了验证码数据的提取难度,提高了验证码的安全性。
如图7所示,在一个具体示例中,验证码生成装置还包括:颜色集合生成模块605。
其中,颜色集合生成模块605,用于生成颜色集合中的各种颜色;
其中,颜色集合生成模块605可以具体包括:颜色空间确定子模块701、颜色分量确定子模块702及颜色分量组合子模块703。
颜色空间确定子模块701,用于根据待生成颜色的颜色格式,确定颜色格式对应的多个颜色空间;
颜色分量确定子模块702,用于为每个颜色空间确定多个目标颜色分量;其中,同一颜色空间相邻的目标颜色分量之间的差值相等;
颜色分量组合子模块703,用于将多个颜色空间的多个目标颜色分量进行排列组合,获得多种颜色。
在另一具体示例中,颜色分量确定子模块702可以包括:颜色分量均分子模块。
颜色分量均分子模块,用于将每个颜色空间的颜色分量范围均等分为多份,并将每份中的最小颜色分量确定为对应颜色空间的目标颜色分量。
在另一具体示例中,颜色集合生成模块605还可以包括:第一随机噪声添加子模块。
第一随机噪声添加子模块,用于在将多个颜色空间的多个目标颜色分量进行排列组合之前,对每个目标颜色分量添加随机噪声。
在另一具体示例中,备选颜色选择模块601可以包括:亮度选择子模块及距离选择子模块。
亮度选择子模块,用于在预先生成的颜色集合中,确定亮度较高的多个颜色;
距离选择子模块,用于在确定的多个颜色中,选择与颜色集合中其他颜色的颜色距离最大的颜色作为备选颜色。
在另一具体示例中,验证码生成装置中的背景颜色填充模块604可以包括:第二随机噪声添加子模块及背景颜色填充子模块。
第二随机噪声添加子模块,用于对颜色集合中的各种颜色添加随机噪声;
背景颜色填充子模块,用于按照色盲图的背景颜色填充方式,将添加随机噪声后的颜色填充到验证码的背景区域中,获得验证码。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种验证码生成方法,其特征在于,包括:
在预先生成的颜色集合中,选择可分辨参数的参数值最高的颜色作为备选颜色;其中,所述颜色集合中包括多种颜色,且所述可分辨参数用来表示从所述颜色集合中分辨出一种颜色的难易程度;
对所述备选颜色添加随机噪声,获得前景颜色;
将所述前景颜色填充到验证码的前景区域中;
将所述颜色集合中的各种颜色随机填充到验证码的背景区域中,以得到色盲图效果的验证码;
其中所述颜色集合中的各种颜色的生成步骤包括:
根据待生成颜色的颜色格式,确定所述颜色格式对应的多个颜色空间;
将每个所述颜色空间的颜色分量范围均等分为多份,并将每份中的最小颜色分量确定为对应颜色空间的目标颜色分量;其中,同一颜色空间相邻的目标颜色分量之间的差值相等;
将多个所述颜色空间的多个所述目标颜色分量进行排列组合,获得多种颜色。
2.根据权利要求1所述的验证码生成方法,其特征在于,在所述将多个所述颜色空间的多个所述目标颜色分量进行排列组合之前,还包括:
对每个所述目标颜色分量添加随机噪声。
3.根据权利要求1所述的验证码生成方法,其特征在于,所述在预先生成的颜色集合中,选择可分辨参数的参数值最高的颜色作为备选颜色,包括:
在预先生成的颜色集合中,确定亮度较高的多个颜色;
在确定的多个颜色中,选择与所述颜色集合中其他颜色的颜色距离最大的颜色作为备选颜色。
4.根据权利要求1所述的验证码生成方法,其特征在于,所述将所述颜色集合中的各种颜色随机填充到验证码的背景区域中,以得到色盲图效果的验证码包括:
对所述颜色集合中的各种颜色添加随机噪声;
按照色盲图的背景颜色填充方式,将添加随机噪声后的颜色填充到验证码的背景区域中,获得验证码。
5.一种验证码生成装置,其特征在于,包括:
备选颜色选择模块,用于在预先生成的颜色集合中,选择可分辨参数的参数值最高的颜色作为备选颜色;其中,所述颜色集合中包括多种颜色,且所述可分辨参数用来表示从所述颜色集合中分辨出一种颜色的难易程度;
前景颜色获得模块,用于对所述备选颜色添加随机噪声,获得前景颜色;
前景颜色填充模块,用于将所述前景颜色填充到验证码的前景区域中;
背景颜色填充模块,用于将所述颜色集合中的各种颜色随机填充到验证码的背景区域中,以得到色盲图效果的验证码;
颜色集合生成模块,用于生成所述颜色集合中的各种颜色;
其中,所述颜色集合生成模块包括:
颜色空间确定子模块,用于根据待生成颜色的颜色格式,确定所述颜色格式对应的多个颜色空间;
颜色分量均分子模块,用于将每个所述颜色空间的颜色分量范围均等分为多份,并将每份中的最小颜色分量确定为对应颜色空间的目标颜色分量;其中,同一颜色空间相邻的目标颜色分量之间的差值相等;
颜色分量组合子模块,用于将多个所述颜色空间的多个所述目标颜色分量进行排列组合,获得多种颜色。
6.根据权利要求5所述的验证码生成装置,其特征在于,还包括:
第一随机噪声添加子模块,用于在所述将多个所述颜色空间的多个所述目标颜色分量进行排列组合之前,对每个所述目标颜色分量添加随机噪声。
7.根据权利要求5所述的验证码生成装置,其特征在于,所述备选颜色选择模块包括:
亮度选择子模块,用于在预先生成的颜色集合中,确定亮度较高的多个颜色;
距离选择子模块,用于在确定的多个颜色中,选择与所述颜色集合中其他颜色的颜色距离最大的颜色作为备选颜色。
8.根据权利要求5所述的验证码生成装置,其特征在于,所述背景颜色填充模块包括:
第二随机噪声添加子模块,用于对所述颜色集合中的各种颜色添加随机噪声;
背景颜色填充子模块,用于按照色盲图的背景颜色填充方式,将添加随机噪声后的颜色填充到验证码的背景区域中,获得验证码。
CN201610509510.0A 2016-06-30 2016-06-30 验证码生成方法及装置 Active CN106203058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610509510.0A CN106203058B (zh) 2016-06-30 2016-06-30 验证码生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610509510.0A CN106203058B (zh) 2016-06-30 2016-06-30 验证码生成方法及装置

Publications (2)

Publication Number Publication Date
CN106203058A CN106203058A (zh) 2016-12-07
CN106203058B true CN106203058B (zh) 2019-07-09

Family

ID=57463878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610509510.0A Active CN106203058B (zh) 2016-06-30 2016-06-30 验证码生成方法及装置

Country Status (1)

Country Link
CN (1) CN106203058B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647683B (zh) * 2018-04-28 2021-08-17 浙江大学 一种基于频域加噪的字符对抗验证码生成方法和系统
CN109063456B (zh) * 2018-08-02 2021-10-08 浙江大学 图像型验证码的安全性检测方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201939A (zh) * 2007-12-20 2008-06-18 腾讯科技(深圳)有限公司 图片验证码生成方法和图片验证码生成系统
CN101923702A (zh) * 2010-08-25 2010-12-22 郝红卫 一种图片验证码的生成方法
CN102768754A (zh) * 2012-08-03 2012-11-07 网易(杭州)网络有限公司 一种图片验证码的实现方法和装置
CN104852889A (zh) * 2014-02-18 2015-08-19 腾讯科技(深圳)有限公司 图片验证码生成方法和系统、验证方法和客户端及服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201939A (zh) * 2007-12-20 2008-06-18 腾讯科技(深圳)有限公司 图片验证码生成方法和图片验证码生成系统
CN101923702A (zh) * 2010-08-25 2010-12-22 郝红卫 一种图片验证码的生成方法
CN102768754A (zh) * 2012-08-03 2012-11-07 网易(杭州)网络有限公司 一种图片验证码的实现方法和装置
CN104852889A (zh) * 2014-02-18 2015-08-19 腾讯科技(深圳)有限公司 图片验证码生成方法和系统、验证方法和客户端及服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
用jsp生成多色彩背景的验证码《源码》;genify;《https: //blog.csdn.net/genify/article/details/469429》;20050901;第36-61行

Also Published As

Publication number Publication date
CN106203058A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
CN101739720B (zh) 三维动态验证码的生成方法及装置
CN105095936B (zh) 一种基于信息隐藏的图像二维码及其生成方法和系统
CN101944187B (zh) 二维微型编码及其处理方法、装置
CN104182927B (zh) 图片水印添加方法及装置
CN106203058B (zh) 验证码生成方法及装置
CN106951869B (zh) 一种活体验证方法及设备
WO2007139644A3 (en) Graphical image authentication and security system
CN104298912A (zh) 抗破解的验证码实现方法、生成方法及装置
CN105740760B (zh) 一种视频字幕ocr识别的自动校正方法
CN106127836B (zh) 验证码图片生成方法及装置
CN106899595B (zh) 基于强化学习的不完全信息网络安全分析方法及装置
CN104835440B (zh) 图像的显示方法、显示装置
CN101572076A (zh) 帧速率变换设备和帧速率变换方法
CN106446908A (zh) 图像中目标检测方法及装置
CN105357008A (zh) 身份验证方法及装置
CN105451015B (zh) 一种图像坏点的检测方法及装置
US7543154B2 (en) Method and device for determining an access code
CN106657981A (zh) 视差式裸眼3d显示串扰的检测方法、装置及系统
CN104580100B (zh) 一种恶意消息的识别方法及装置、服务器
CN105141904B (zh) 安全监控与身份识别方法及装置
CN107610106A (zh) 一种检测方法、装置、电子设备及计算机可读存储介质
CN105847816A (zh) 视频文件缩略图的创建方法及电子装置
CN110176207A (zh) 一种图像数据确定方法、装置及电子设备
CN103413267B (zh) 一种数字水印平滑过渡的嵌入方法和装置
CN106685893A (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
GR01 Patent grant
GR01 Patent grant