]其中,用户在数值选择界面上的输入可以是一次性的定位输入,即点击输入。
[0092]其中,用户在数值选择界面上的输入也可以是手指或手写笔滑动之后的离开位置的定位输入。
[0093]S13、根据预设的误差范围判断输入数值是否等于验证码数值。
[0094]其中,如果用户输入的数字在“验证码数值”内,则表示验证通过,否则验证失败。如果验证失败,可以继续循环步骤S11-S13。
[0095]如图3所示,上述S11-S13的步骤在一个具体实例中的完整描述如下:
[0096]首先,随机化一个数值A = 3.5,同时随机生成一个最大值B = A+2.5,最小值C =A-1.5,最大值B和最小值C作为标尺数值范围。(上述内容在图3中显示为初始化)
[0097]然后,在标尺上的随机位置显示游标,等待用户输入,输入方式可以是用户通过触摸的方式滚动游标进行数值的选择,用户根据目标值上下滚动游标,以匹配目标值。(上述内容在图3中显示为滚动标尺)
[0098]最后,当用户抬起手指后,结束取值,即抬手后确定结果数值,并将其与目标值A进行比较,如果两者一致,则验证成功,如果不一致,则验证失败。本申请实施例中,所述验证码可以有一个或多个。验证码的数量具体可根据需要选择,图3中提供四个验证码。
[0099]对于只有单个验证码的情形,则只需要比较两者是否一致,如果一致验证成功,如果不一致,则验证失败。
[0100]对于有多个验证码的情形,则比较所有验证码,如果全部一致,则验证成功,如果存在不一致,则验证失败。例如,图2、图3对应的实施例中共显示有四个验证码,图3的第三个图表明,四个验证码中的第一个验证码(3.5)验证成功。
[0101]验证码交互方法实施方式二
[0102]基于上述发现,根据本申请一个实施例,提供一种验证码交互方法,针对字符类型验证码,如图4所示,该方法包括:
[0103]S21、显示验证码及字符选择界面;
[0104]其中,验证码为字符类型验证码,可以包括字母、数字、汉字等形式。字符选择界面可以是一个二维字符矩阵,字符选择界面的字符数量等于或多于验证码的字符数量。一般来说,字符选择界面中的字符数量远多于验证码字符的数量,字符选择界面中既包括验证码字符,又包括随机从字符库中选择的其他字符。
[0105]例如,如图5所示,字符选择界面21为一个包括16个字符的二维字符矩阵。验证码22包含4个字符“a,c, e,9”。
[0106]S22、接收用户在字符选择界面上的选择,得到选择字符;
[0107]其中,用户在字符选择界面上的选择可以是点击输入。
[0108]另外,如图5所示,用户在字符选择界面上的选择也可以是以手势滑动或手写笔滑动的形式来进行输入,检测到的滑动过程中所经过的起点、转折点、终点字符都是用户的选择字符。
[0109]根据本申请另一个实施例,用户在字符选择界面上的选择也可以是以手势滑动或手写笔滑动的形式来进行输入,检测到的滑动过程中在其上停留时间超过预设的阈值时间的字符为用户的选择字符。
[0110]S23、判断选择字符是否等于验证码。
[0111]如图5所示,当手指抬离屏幕后,即进行验证码的判断,判断正确验证成功,判断失败重新开始验证。
[0112]为了提高交互效率,根据本申请另一个实施例,用户在字符选择界面上的选择也可以是以手势滑动或手写笔滑动的形式来进行输入,只要检测到手指或手写笔滑动经过验证码字符则通过验证,如果有多个验证码,自动进入下一个验证码的判断。
[0113]上述步骤S21-23的具体实例体现如下:首先,建立一个字符库,字符可以包括字母,数字,汉字等形式;
[0114]验证时,在一个弹出界面中随机化显示目标验证字符(4个),字母从字符库中抽取,各个字母可以不重复也可以有重复,同时产生用于输入的字符面板(即字符选择界面),字符包含4个目标字符,且随机从字库中选取其他的字符;
[0115]所有的字符进行随机化排序;
[0116]用户在输入区域中,按照目标字符的顺序,用手指触摸的方式,依次连续滑动输入4个字符,检测到的滑动过程中所经过的起点、转折点、终点字符都是用户的选择字符(a, c, e, 9);
[0117]抬起手指后即结束输入,进行验证字符串的判断,如果输入正确,则完成输入;如果输入失败,则重启验证流程,刷新界面,重新随机化字符。
[0118]验证码交互方法实施方式三
[0119]基于上述发现,根据本申请一个实施例,提供一种验证码交互方法,针对图像验证码,如图6所示,该方法包括:
[0120]S31、显示验证码及图像选择界面;
[0121]其中,验证码为图像验证码/图像类型验证码,图像选择界面是一个包含验证码分解图像的用户可交互区域。根据屏幕的大小及横竖屏的情况,可以选取屏幕左侧或者上部分1/3像素区域为图像验证码显示区,而右边的2/3像素区域为图像拼接操作区域。
[0122]如图7所示,验证码31为华容道图像,为了便于说明,图中采用文字标记的形式,实际情况可以为真实的人物图像。图像选择界面32中散列着验证码31的分解图像,等待用户根据验证码进行重新排布。
[0123]S32、接收拼图图像,其中,拼图图像为用户在图像选择界面上的操作结果;
[0124]如图7所示,当用户把各个分解的图像重新拼接完成之后,点击确认,此时图像选择界面上的图像即拼图图像33。
[0125]S33、根据预设的误差范围,判断拼图图像与验证码是否相同。
[0126]其中,图像匹配算法例如为基于灰度相关的图像匹配算法或sift算法。
[0127]为了方便用户操作,根据本申请另一个实施例,设置分解图像具有自动吸附属性,在用户操作过程中,每个分解图像在与其相邻的分解图像距离靠近到预设阈值距离内,自动完成该两个分解图像的图像拼接。
[0128]为了进一步提高图像拼接过程的效率和用户操作体验,可以在用户操作图像拼接的过程中,自动完成拼图图像和验证码之间的校验。
[0129]根据本申请另一个实施例,提供一种验证码交互方法,包括:
[0130]S41、显示验证码及图像选择界面,其中,验证码是图像验证码,图像选择界面为包含验证码的分解图像的用户可交互区域,图像选择界面上包括验证码的分解图像;
[0131]其中,验证码的分解图像的生成过程可以包括:通过横竖线对图像验证码进行切分(例如等比切分)。切分的区域多少,即横竖线的多少,根据验证的难易度可自行调节。
[0132]图像选择界面上的验证码分解图像可以是不规则排列显示的,以提高反破解性。
[0133]S42、当检测到用户手指或手写笔触摸到一个分解图像时,会在操作区域显示整个验证码分解图像的切割虚线框,当检测到用户拖拽触摸的分解图像进入其相应的位置,则表示该分解图像成功移入。
[0134]成功移入后,该分解图像消失,没有移入到给定的误差范围内,则移入失败,需要重新移入。
[0135]如图8所示,用户选择了 “关羽”分解图像之后,图像选择界面上显示出验证码分解图像的切割虚线框,并且高亮了 “关羽”分解图像对应的区块,如果用户移动“关羽”到高亮区块后(在误差范围内即可),则成功移入。
[0136]S43、重复S42操作,直到所有的分解图像都移入到对应的位置,即完成验证。
[0137]对于自动完成拼图图像和验证码之间的校验的方式,根据本申请又一个实施例,提供一种验证码交互方法,包括:
[0138]S51、显示验证码及图像选择界面,其中,验证码是图像验证码,图像选择界面为包含验证码的分解图像的用户可交互区域,图像选择界面上包括验证码的分解图像;
[0139]S52、随机高亮显示未验证的第一分解图像在验证码中对应的区域;
[0140]如图9所示,当前高亮的验证码区域为“关羽”区域,期待用户在图像选择界面上能够选择“关羽”来完成验证码交互。
[0141]S53、当检测到用户手指或手写笔触摸到第二分解图像时,判断第二分解图像是否为第一分解图像,如果正确,第一分解图像验证完成,如果不正确,回到S52重新开始;
[0142]如图9所示,当前用户触摸到图像选择界面上混乱分布的分解图像“关羽”,与S52中高亮显示的区域相同,所以正确。
[0143]S54,重复S53,直到所有的分解图像验证完成。
[01