1.一种利用密码盘实现验证码验证的方法,其特征在于,包括以下步骤:
A、用户端向服务器端发出验证码信息的请求;
B、服务器端收到用户端发来的验证码信息的请求后,随机选定真实验证码并生成相应验证码信息;根据真实验证码,经过随机选定的一种四则运算得到提示信息;将验证码信息和提示信息发送至用户端;
C、用户端收到服务器端发来的信息后,根据验证码信息绘制包含有真实验证码的圆形密码盘,并展示提示信息;
D、用户根据提示信息,通过旋转密码盘输入相应的数据;用户端记录下用户输入的数据并上传至服务器端;
E、服务器端对用户端上传的数据进行验证,并返回验证结果至用户端;
F、用户端根据服务器端返回的验证结果进行相应处理,并向用户进行反馈;
步骤B中,服务器端收到用户端发来的验证码信息的请求后,随机选定真实验证码并生成相应验证码信息,具体包括以下操作:B101、服务器端收到用户端发来的验证码信息的请求后,随机生成若干个数字;
B102、从生成的若干个数字中随机挑选一个数字作为真实验证码,并保存至本地的验证码临时库中;
B103、生成一个与真实验证码对应的md5信息,并临时保存至本地;
B104、将随机生成的若干个数字与所述md5信息组合,生成验证码信息;
步骤C具体包括以下操作:
C1、用户端收到服务器端发来的信息后,获取验证码信息中随机生成的若干个数字的个数;
C2:用360°除以随机生成的若干个数字的个数,得到圆形密码盘中每块扇形分片的圆心角度数;
C3:根据得到的各块扇形分片的圆心角度数绘制圆形密码盘,将验证码信息中随机生成的若干个数字一一填入到扇形分片中;并展示验证码信息中的提示信息。
2.如权利要求1所述的利用密码盘实现验证码验证的方法,其特征在于:步骤B中,服务器端根据真实验证码,经过随机选定的一种四则运算得到提示信息,具体包括以下操作:若随机选定的四则运算为加法运算,则先随机获取一个比真实验证码小的数字,记为X1;然后使用真实验证码去减X1,得到的数据记为X2;最后,生成内容为“请选出X1和X2相加得到的数字”的提示信息;
若随机选定的四则运算为减法运算,则先随机获取一个比真实验证码大的数字,记为X1;然后使用X1去减真实验证码,得到的数据记为X2;最后,生成内容为“请选出X1和X2相减得到的数字”的提示信息;
若随机选定的四则运算为乘法运算,则先判断验证码是否为质数,若是,则随机转换至其他四则运算来生成提示信息;若不是,则先将真实验证码除以2,看是否有余数,如果有余数则重新将真实验证码除以3,再判断是否余数,如果还有余数则将真实验证码依次除下去,直至没有余数为止;然后,将当前除数记为X1,将商记为X2;最后,生成内容为“请选出X1和X2相乘得到的数字”的提示信息;
若随机选定的四则运算为除法运算,则使用真实验证码乘以一个随机获取的数据,将随机获取的数据记为X1,将计算得到的数据记为X2;生成内容为“请选出X1和X2相除得到的数字”的提示信息。
3.如权利要求1所述的利用密码盘实现验证码验证的方法,其特征在于,步骤E具体包括以下操作:E1、服务器端通过用户端上传的md5信息查询本地是否存在与该md5信息对应的真实验证码,若不存在,则重新生成一组新的验证码信息发送至用户端,转入步骤E4;若存在,转入步骤E2;
E2、判断用户端上传的数据是否与通过md5信息查询到的真实验证码一致,若是,转入步骤E3;若否,转入步骤E4;
E3、向用户端返回验证成功的状态;
E4、向用户端返回验证失败的状态。
4.一种利用密码盘实现验证码验证的系统,包括用户端和服务器端,其特征在于:用户端包括请求发送单元、密码盘绘制单元、数据记录单元、验证反馈单元;服务器端包括验证信息生成单元、验证处理单元;
所述请求发送单元用于:向服务器端发出验证码信息的请求;
所述验证信息生成单元用于:收到用户端发来的验证码信息的请求后,随机选定真实验证码并生成相应验证码信息;根据真实验证码,经过随机选定的一种四则运算得到提示信息;将验证码信息和提示信息发送至用户端;
所述密码盘绘制单元用于:收到服务器端发来的信息后,根据验证码信息绘制包含有真实验证码的圆形密码盘,并展示提示信息;
所述数据记录单元用于:记录下用户通过旋转密码盘输入的数据,并上传至服务器端;
所述验证处理单元用于:对用户端上传的数据进行验证,并返回验证结果至用户端;
所述验证反馈单元用于:根据服务器端返回的验证结果进行相应处理,并向用户进行反馈;
所述验证信息生成单元生成验证码信息的具体流程为:收到用户端发来的验证码信息的请求后,随机生成若干个数字;从生成的若干个数字中随机挑选一个数字作为真实验证码,并保存至本地的验证码临时库中;生成一个与真实验证码对应的md5信息,并临时保存至本地;将随机生成的若干个数字与所述md5信息组合,生成验证码信息;
所述密码盘绘制单元绘制圆形密码盘的具体流程为:收到服务器端发来的信息后,获取验证码信息中随机生成的若干个数字的个数;用360°除以随机生成的若干个数字的个数,得到圆形密码盘中每块扇形分片的圆心角度数;根据得到的各块扇形分片的圆心角度数绘制圆形密码盘,将验证码信息中随机生成的若干个数字一一填入到扇形分片中;并展示验证码信息中的提示信息。
5.如权利要求4所述的利用密码盘实现验证码验证的系统,其特征在于,所述验证信息生成单元生成提示信息的具体流程为:若随机选定的四则运算为加法运算,则先随机获取一个比真实验证码小的数字,记为X1;然后使用真实验证码去减X1,得到的数据记为X2;最后,生成内容为“请选出X1和X2相加得到的数字”的提示信息;
若随机选定的四则运算为减法运算,则先随机获取一个比真实验证码大的数字,记为X1;然后使用X1去减真实验证码,得到的数据记为X2;最后,生成内容为“请选出X1和X2相减得到的数字”的提示信息;
若随机选定的四则运算为乘法运算,则先判断验证码是否为质数,若是,则随机转换至其他四则运算来生成提示信息;若不是,则先将真实验证码除以2,看是否有余数,如果有余数则重新将真实验证码除以3,再判断是否余数,如果还有余数则将真实验证码依次除下去,直至没有余数为止;然后,将当前除数记为X1,将商记为X2;最后,生成内容为“请选出X1和X2相乘得到的数字”的提示信息;
若随机选定的四则运算为除法运算,则使用真实验证码乘以一个随机获取的数据,将随机获取的数据记为X1,将计算得到的数据记为X2;生成内容为“请选出X1和X2相除得到的数字”的提示信息。
6.如权利要求4所述的利用密码盘实现验证码验证的系统,其特征在于,所述验证处理单元进行验证的具体流程为:通过用户端上传的md5信息查询本地是否存在与该md5信息对应的真实验证码,若不存在,则重新生成一组新的验证码信息发送至用户端,并向用户端返回验证失败的状态;若存在,则判断用户端上传的数据是否与通过md5信息查询到的真实验证码一致,若是,向用户端返回验证成功的状态;若否,向用户端返回验证失败的状态。