图片验证码生成方法和图片验证码生成装置制造方法及图纸

技术编号:3488081 阅读:164 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种图片验证码生成方法,该方法包括:确定随机像素位置及对应于该随机像素位置的变更像素值;将图片验证码中该随机像素位置处的像素值变更为该变更像素值。本发明专利技术还公开了一种图片验证码生成装置。应用本发明专利技术以后,能够有效防止暴力破解,提高图片验证码的安全性。

【技术实现步骤摘要】

本专利技术涉及网络应用(Application)
,更具体地说,本专利技术涉 及一种图片验证码生成方法和图片验证码生成装置
技术介绍
随着计算机和计算机网络的日益普及,互联网已经深入到人们工作、学 习和生活的各个领域。网络发展在提供便利的同时也带来各种挑战。 一些别 有用心的人会利用机器人程序大量地不当使用网络免费资源,例如群发垃圾 邮件等,使服务器效能大为降低。也有人利用程序不断发出服务请求回应, 进行"饱和攻击,,以达到使服务瘫痪的目的。甚至还有人尝试利用暴力破解 等手段进行虛拟财产盗窃等。为避免上述恶意行为,设计一套能够让计算机 自动分辨信息是来自合理使用者或是非正当使用的机器人程序的工具,就显 得非常重要。图片验证码的主要目的是分辨网络服务使用者是程序还是人类。图片验 证码是一幅含有字符的图片,会要求使用者回答在这张图片中显示了哪些文 字。为了避免被程序自动识别,通常在图片验证码中将文字进行扭曲,同时 加入一些噪声。目前程序对这种文字的识别率仍然不高,人类则能正确地认 识图片上的文字,具有较佳的文字识别能力。利用图片验证码机制,可以认 为正确回答的是人类,而一直答错的会被认为是程序,从而区别善意使用者 和恶意使用者,并由此分别执行相应的后续操作。图片验证码越来越成为网络服务中身份认定的一种广泛使用工具。随着 人工智能和图像理解技术的发展,机器对图像中字符的识别能力越来越强。 图片验证码需要在保证人类视觉可辨认的前提下,不断提高抗机器程序破解的能力。实践证明,对于从图像中分割出来的单字符,现有技术下机器识别率几 乎接近完美。增加从图片中分割字符的难度,成为防破解和提高安全性的重 要手段。然而,目前已涌现出 一部分人利用验证码库图片数量有限这一局限性, 雇佣人力不停地输入验证码,利用验证码图片的重复性来进行暴力破解。现有的验证码系统一般都是预先生成包含大量的验证码图片的验证码 图片库,用户每次提交验证请求,验证码系统随机从验证码图片库中选取一 张验证码图片下发给用户。如果用户群很大,比如几个亿用户同时访问一个 验证码网页,相对于庞大的拉取—睑证码的用户来说,验证码系统预先生成的 验证码图片库就变得很小了 ,结果就是同 一用户拉取到的相同验证码图片的 几率变大,这样验证码有很多都是重复的。破解者根据这一特点,可以先人 工输入若干张验证码对应的字符,遇到重复的图片直接提交之前手工记录的 验证码字符,这样一来便可以绕过从图片中提取字符来进行验证码破解,从 而造成了很大的安全隐患。
技术实现思路
本专利技术实施例提出 一种图片验证码生成方法,以提高图片验证码的安全性。本专利技术实施例提出 一种图片验证码生成装置,以提高图片验证码的安全性。本专利技术的技术方案如下 一种图片验证码生成方法,该方法包括 确定随机像素位置及对应于该随机像素位置的变更像素值; 将图片验证码中该随机像素位置处的像素值变更为所述变更像素值。 一种图片验证码生成装置,该装置包括随机像素确定单元和像素值更改 单元,其中随机像素确定单元,用于确定随机像素位置及对应于该随机像素位置的变更像素值;像素值更改单元,用于将图片验证码中该随机像素位置处的像素值变更为 该变更像素值。从上述技术方案中可以看出,在本专利技术实施例中,首先确定随机像素位置 及对应于该随机像素位置的变更像素值,然后再将图片验证码中该随机像素位 置处的像素值变更为所述变更像素值。由此可见,应用本专利技术实施例以后,由 于图片验证码的像素得到了变更,因此所有图片验证码的唯一标识值(比如 MD5值,或者CRC值)是不同的。这样,即使图片验证码库中的图片验证码 字符相同,对于机器来说,也是不同的图片验证码,从而可以有效对抗暴力破 解,增加了破解难度,提高了图片验证码的安全性。还有,本专利技术实施例还提供了针对png文件格式的图片验证码生成方法, 可以进一步有效地对抗暴力破解,并增加了破解难度。另外,本专利技术实施例采用随机选取像素坐标位置、PLTE颜色位置、像素值、 颜色值的方法,增加了采用暴力方法进行破解的代价和成本。附图说明图1为根据本专利技术的图片验证码生成方法流程示意图2为根据本专利技术实施例的图片验证码生成方法流程示意图3为根据本专利技术的图片验证码生成装置结构示意图。具体实施例方式为使本专利技术的目的、技术方案和优点表达得更加清楚明白,下面结合附 图及具体实施例对本专利技术再作进一步详细的说明。在本专利技术实施例中,提出了 一种有效防范基于图片重复率过高的暴力破 解的图片验证码生成方法。首先,确定随机像素位置及对应于该随机像素位 置的变更像素值,然后将图片验证码中该随机像素位置处的像素值变更为所述变更像素值,从而有效防止暴力破解,增加破解难度。图1为根据本专利技术的图片验证码生成方法流程示意图。如图1所示,该方法包^r:步骤101:确定随机像素位置及对应于该随机像素位置的变更像素值; 在这里,可以通过随机确定像素坐标的方式来确定随机像素位置。比如, 首先确定图片验证码中的像素位置横坐标选取范围和像素位置纵坐标选取范 围,然后在所述像素位置横坐标选取范围内生成随机数作为所述随机像素位置 的横坐标,再在所述像素位置纵坐标选取范围内生成随机数作为所述随机像素 位置的纵坐标,最后以所生成的随机像素的横坐标和纵坐标确定该随机像素位 置。其中,可以变更该随机像素位置处原像素值的R、 G和B通道中至少一个 通道,以形成所述随机像素位置的变更像素值。可选地,也可以完全随机生成一个变更像素值。如果完全随机生成一个变更像素值,可以具体执行以下步骤首先在的范围内生成三个随机数;然后分别以所生成的三个随机数组成(R, G, B〉三个颜色通道,利用该(R, G, B)颜色通道作为该随机像素位置的变更像素 值。步骤102:将图片验证码中该随机像素位置处的像素值变更为所述变更像 素值。验证码图片的文件格式可以有很多,具体可以为JPEG文件、png文件、JPG 文件、GIF文件或BMP文件等等。以上虽然罗列出 一些具体的验证码图片格式,本领域技术人员可以意识到, 本专利技术并不局限于上述格式,而是可以适用于任意的验证码图片格式。如果验证码图片格式为png文件格式,本专利技术实施例还可以通过对png文 件的PLTE字段的颜色值进行修改,进一步达到对抗暴力破解的目的。具体地,首先从验证码图片库中随机选取一 张验证码图片,根据png文件 格式找到此文件中PLTE字段,并读出此png文件中所包含的所有颜色的数目,在此颜色数目范围内随机生成一个位置和颜色值,并将此位置上的颜色值修改 为生成的随机颜色值,以作为生成的图片验证码,然后再将该修改后的验证码 图片下发给用户。更详细地,首先确定该png文件的PLTE字段颜色数目S,再在的范 围内生成随机数目x,并随机生成颜色值P;并将从PLTE标识开始的第x个字 节处的颜色值修变更为P。其中在Png文件格式中,按顺序包括png文件标识、 头信息、PLTE调色板、数据块、结束块等模块。其中,PLTE调色板模块包含 了此png图片中用到的所有颜色信息。比如十六进制串50 4C 54 45为png文 件中对应的PLTE标识,此PLTE标识之前的4个字节字符串为PLTE字段所包 含的调色板数据长度,单位为字节,如00 00 00 本文档来自技高网
...

【技术保护点】
一种图片验证码生成方法,其特征在于,该方法包括:确定随机像素位置及对应于该随机像素位置的变更像素值;将图片验证码中该随机像素位置处的像素值变更为所述变更像素值。

【技术特征摘要】

【专利技术属性】
技术研发人员:王亮王建宇
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利