做验证码很难,难在既要让用的人认识又要让机器不认识,考虑到目前的AI识别大都以明暗为特征,对于实线类或颜色、虚点的验证码图片,不停地刷,总能刷到一个分割性好的,方便地识别出来,主要原因是其背景特征与文字特征有明显区别,通过虚化、对比度、明暗度调节,便能将文字分解出来,输入AI识别,为此新做了一个图片验证码,背景、文字均以不等距线条画出,主要通过纹理的方向来区别文字,图片虚化后背景与文字无明显明暗区别,给常见的以明暗特征的AI识别制造障碍,考虑到纹理方向也是一个识别标志,背景添加黑白两类干扰线,破坏背景纹理的完整性,使其纹理完整性与文字面积相当来对抗纹理识别
程序的主要实现方法是使用XOR模式在已经绘制好文字的图片上分两次绘制底纹及文字,分别取出底纹和文字图片中黑点,并反向绘制到图片上。