1.一种基于随机位置对象语义识别的验证码生成及验证方法,其特征在于,所述的方法包括下述步骤:
s1)、验证码服务端接收客户端验证码申请;
s2)、验证码服务端从对象数据库中选取任一个对象组,并从中随机取出k个对象实例;验证码服务端再从对象数据库的其它对象组中随机取出1个对象实例;
s3)、验证码服务端按下列方法生成前景图片、验证码图片;
31)制备一个具有明显预定轮廓的前景图片;
32)为每个步骤二得到的(k+1)个对象实例添加预定轮廓形成对象实例图片;
33)将对象实例图片随机叠加到背景图片上,各对象实例图片相互之间轮廓不遮挡、不相接;
34)记录下同类对象实例几何重心所在的坐标[x1,y1],[x2,y2],…,[xk,yk]和异类对象实例几何重心所在的坐标[xk+1,yk+1];
35)将背景图片和(k+1)个对象实例图片合成验证码图片;
36)服务端在背景图片范围内随机选择一个点p,用于标志前景图片叠加的位置;记录点p的坐标[xp,yp];
s4)、验证码服务端将背景图片、前景图片、坐标[xp,yp]、以及说明文字发给客户端;
s5)、验证码服务端接收客户端通过鼠标拖拽或者手指滑动形成的拖拽轨迹;
s6)、验证码服务端对用户鼠标或手指拖拽的行为进行分析判决,并将判决结果反馈给客户端。
2.如权利要求1所述的基于随机位置对象语义识别的验证码生成及验证方法,其特征在于,所述的分析判决过程为:验证码服务器判断拖拽终点是否位于[xk+1,yk+1]处;判断方法是将终点坐标[x,y]与[xk+1,yk+1]的欧式距离与预设的判决门限t进行比较,若
3.如权利要求1所述的基于随机位置对象语义识别的验证码生成及验证方法,其特征在于,所述的预定轮廓可以是任意折线或曲线构成的图形。
4.如权利要求1所述的基于随机位置对象语义识别的验证码生成及验证方法,其特征在于,验证码服务端进一步对拖拽轨迹的合理性进行判决,轨迹合理则验证通过,反之验证不通过。
5.如权利要求4所述的基于随机位置对象语义识别的验证码生成及验证方法,其特征在于,所述的合理性判决为:计算轨迹的实际长度l和拖拽起点到拖拽终点的直线距离d,设α为预设的某个大于1的系数,若l≤αd则判决通过,反之不通过。
6.一种基于随机位置对象语义识别的验证码生成方法,其特征在于,所述的方法包括下述步骤:
61)制备一个具有明显预定轮廓的前景图片;
62)制备对象实例图片:
从对象数据库中选取任一个对象组,并从中随机取出k个对象实例;再从对象数据库的其它对象组中随机取出1个对象实例;
用获取的(k+1)个对象实例添加预定轮廓形成对象实例图片;
63)将对象实例图片随机叠加到背景图片上,各对象实例图片相互之间轮廓不遮挡、不相接;
64)记录下同类对象实例几何重心所在的坐标[x1,y1],[x2,y2],…,[xk,yk]和异类对象实例几何重心所在的坐标[xk+1,yk+1];
65)将背景图片和(k+1)个对象实例图片合成验证码图片;
66)在背景图片范围内随机选择一个点p,用于标志前景图片叠加的位置;记录点p的坐标[xp,yp]。