一种利用人眼视觉补偿原理的图片验证码生成方法_2

文档序号:8339901阅读:来源:国知局
分干扰线条和验证码文字笔划,但是又不致对人类构成识别困难(目前认为几条穿过验证码文字的直线和贝塞尔曲线的效果就很好了),如附图5所示;
步骤七:对验证码图片增加干扰文字,对于上述干扰文字,其生成方式多种多样,可以在系统后台进行定制。将干扰文字分为二类,第一类为纯粹的干扰文字,可以是广告语,可以增加商业收益,也可以是其他干扰文字;第二类为有意义的干扰问题,比如要求使用者只输入验证码文字中的一部分。对上述干扰问题增加前置条件,还可以给机器识别设置陷阱(捕获机器人),如”如果你是人类,请输入第几到第几个字符”和”如果你是机器,请忽略前2个字符”等等,其问题可以自由组合,人类可以轻松理解并回答,而机器则非常难以理解.可以建立一个问题模型,用软件随机组合出问题,从而将机器识别的难度提高到类似或近似人工智能的难度。
[0010]干扰问题生成过程包括以下步骤:
步骤一:建立干扰问题各个部件的模型,如干扰问题包括前置条件,对验证码内容的取舍动作(包括从第几个到第几个字符,或者从第几个开始要多少长度的字符,或者忽略或舍去某个位置某个长度的字符等),对动作施加的限制等;
步骤二:建立各个部件的词库,如限制条件前置词汇可以包括”如果”,“假如”等,动作限制词汇可以有”要”和”不要”等,动作动词有”忽略”或者”舍去”等各种同义近义词或者反义词;动作中如果含有涉及字符串位置和长度的地方,需要以变量代替,这些变量在实际生成干扰问题时再代入实际所需要的数字;
步骤三:将以上各部件进行随机组合(其中涉及字符串位置和长度的变量,需要在生成时在某个范围内取随机值),即可生成各种干扰问题,举例如下:
请输入第2到第8个字符,谢谢!
如果你是人类,请忽略前2个字符,谢谢!
如果你是机器人,请舍去第2个字符,谢谢!
如果你不是机器人,请不要舍去最后2个字符,谢谢!
如果你是纯人类,请不要忽略最后3个字符,谢谢!
如果你是真正的人类,请输入第3到第8个字符,谢谢!
验证码文字或字符可以是中文或其他文字,并不仅限于英文字符。发明者在设计验证码时,根据其经验,在英文数字字符中排除了一些人类难以准确识别的字符,如Iill OoOJj r等.这些排除的字符量很少,不致会导致字符空间太小。本发明对英文字符的生成时刻意区分大小写,从而增加字符空间的大小,但验证时会忽略大小写。本发明选用英文数字字符的字体时,会优先选用不等宽字体,并优先选择粗体斜体,增加变化。
[0011]本发明生成验证码文字或字符时,会采用限定字符长度范围的随机长度,然后根据干扰问题中的随机掐头去尾或忽略中间某些随机长度的字符,进一步增加验证码文字或字符的长度的随机性,从而给机器暴力破解增加难度。
[0012]以上已以较佳实施例公开了本发明,然其并非用以限制本发明,凡采用等同替换或者等效变换方式所获得的技术方案,均落在本发明的保护范围之内。
【主权项】
1.一种利用人眼视觉补偿原理的图片验证码生成方法,其特征在于,包括以下步骤: 1)生成一个随机长度的随机字符串,其长度控制在某一设定范围之内; 2)选用一种不等宽字体,将所述随机字符串以非背景色写入图片画布; 3)以背景色再次将所述随机字符串写入图片画布,各个字符的字体形态与步骤2)中的字体形态完全相同,在图片画布中的位置向左上角移动一个像素; 4)对步骤3)所生成的验证码图片进行笔划随机擦除处理,擦除比例为设定值,擦除后的笔划变少,连续性变差,散点变多,但是人类利用人眼视觉补偿原理仍然能够识别; 5)对验证码图片增加随机干扰噪点,增加的密度为设定值,增加的噪点与原验证码文字中的散点笔划难以被机器有效区分,但是对人眼可以识别; 6)对验证码图片增加随机干扰线条,目的是使机器难以区分干扰线条和验证码文字笔划,但是又不致对人类构成识别困难; 7)对验证码图片增加干扰文字,干扰文字一方面造成机器对图片的识别困难,另一方面造成机器对图片的理解困难,而不构成人类的理解和识别困难。
2.根据权利要求1所述的利用人眼视觉补偿原理的图片验证码生成方法,其特征在于:在所述步骤2)中,优先选用所述字体的粗体斜体,字体大小控制在人眼能看见的范围内,各个字符的大小相同或不同。
3.根据权利要求1所述的利用人眼视觉补偿原理的图片验证码生成方法,其特征在于:在所述步骤6)中,所述随机线为直线、曲线、连续线条或断点线条,增加的线条个数以不完全覆盖验证码内容为限。
4.根据权利要求1所述的利用人眼视觉补偿原理的图片验证码生成方法,其特征在于:在所述步骤7)中,所述干扰文字包括广告语和干扰问题。
5.根据权利要求4所述的利用人眼视觉补偿原理的图片验证码生成方法,其特征在于:干扰问题生成过程包括以下步骤: O建立干扰问题各个部件的模型; 2)建立各个部件的词库,包括限制条件前置词汇、动作限制词汇和动作动词;动作动词中如果含有字符串位置和长度,则以变量代替,所述变量在实际生成干扰问题时再代入实际所需要的数字; 3)将以上各部件进行随机组合,即生成各种干扰问题。
6.根据权利要求5所述的利用人眼视觉补偿原理的图片验证码生成方法,其特征在于:在所述步骤71)中,所述模型包括干扰问题的前置条件,前置条件包括对验证码内容的取舍动作和对动作施加的限制,所述取舍动作包括从第几个到第几个字符,或者从第几个开始要多少长度的字符,或者忽略、舍去某个位置某个长度的字符。
【专利摘要】本发明公开了一种利用人眼视觉补偿原理的图片验证码生成方法,包括以下步骤:1)生成一个随机长度的随机字符串,其长度控制在某一设定范围之内;2)选用一种不等宽字体,将所述随机字符串以非背景色写入图片画布;3)以背景色再次将所述随机字符串写入图片画布,各个字符的字体形态与步骤2)中的字体形态完全相同,在图片画布中的位置向左上角移动一个像素;4)对步骤3)所生成的验证码图片进行笔划随机擦除处理,擦除比例为设定值。本发明生成的图片验证码,人类可以利用人眼视觉补偿原理将其还原成立体文字,从而轻松识别;验证码文字或字符的笔划非常纤细且不连续,残缺不全,从而导致机器的识别困难。
【IPC分类】G06F21-36
【公开号】CN104657654
【申请号】CN201410805928
【发明人】许军才, 张卫东, 任青文, 沈振中
【申请人】河海大学
【公开日】2015年5月27日
【申请日】2014年12月22日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1