一种验证码的生成及验证方法、客户端、服务端及系统技术方案

技术编号:33399948 阅读:16 留言:0更新日期:2022-05-11 23:21
本发明专利技术公开了一种验证码的生成及验证方法、客户端、服务端及系统。该应用于客户端的方法包括:接收并解密由服务端发送的验证码图元加密数据,得到至少4个顶点数组;将各顶点数组按照相交规则依次相连,得到由各连接线构建的验证码,并显示在操作区;接收并执行用户的操作指令,并将执行数据、验证码图元加密数据发送至服务端,使服务端判断执行数据是否满足预设的验证规则,若满足,则判定验证成功,并将判断结果返回,若不满足,则判定验证失败,并将判断结果返回;基于返回的判断结果,在操作区进行显示。该方法利用各连接线构建的验证码与用户进行交互,既降低了服务端设计的复杂性,又能提高与用户的交互体验。能提高与用户的交互体验。能提高与用户的交互体验。

【技术实现步骤摘要】
一种验证码的生成及验证方法、客户端、服务端及系统


[0001]本专利技术涉及数据处理领域,尤其涉及一种验证码的生成及验证方法、客户端、服务端及系统。

技术介绍

[0002]目前验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。通常情况下,验证码使用一些线条和一些不规则的字符组成,用户必须读取这些字符,然后输入这些字符才能成功验证。因为人可以很容易读出图片中的字符,但如果是一段客户端攻击程序(即机器人程序),则通过一般手段是很难识别所述验证码的。因此,验证码的作用是可以防止恶意破解密码、刷票、论坛灌水或进行非正常的不断登陆尝试等。
[0003]传统的图片识别内容的验证码,存在的局限性有:需要读题,例如12306应用程序采用识别图片中的物品例如橙子,而下一次识别的是椅子的方式,较为麻烦,同时图片噪声多时,识别图片信息耗时,而且可能出现部分图像重叠,导致识别不了,需要刷新的情况。

技术实现思路

[0004]本专利技术的目的是提供一种验证码的生成及验证方法、客户端、服务端及系统,旨在解决现有的图片识别内容的验证码,识别过程较为耗时,不利于与用户进行交互的问题。
[0005]为解决上述技术问题,本专利技术的目的是通过以下技术方案实现的:提供一种验证码的生成及验证方法,应用于客户端,其包括:
[0006]接收并解密由服务端发送的验证码图元加密数据,得到至少4个顶点数组,其中,所述至少4个顶点数组满足以下相交规则:各顶点数组依次相连构成首尾相连的连接线,且首条连接线与末条连接线相交;
[0007]将各所述顶点数组按照相交规则依次相连,得到由各连接线构建的验证码,并显示在操作区;
[0008]接收并执行用户的操作指令,将得到的执行数据进行加密打包,并将所述执行数据、验证码图元加密数据发送至服务端,使所述服务端在接收到所述执行数据、验证码图元加密数据后,基于所述验证码图元加密数据,判断所述执行数据是否满足预设的验证规则,若所述执行数据满足预设的验证规则,则判定验证成功,并将判断结果返回,若所述执行数据不满足预设的验证规则,则判定验证失败,并将判断结果返回,其中,所述验证规则包括:首条连接线与末条连接线不相交;
[0009]基于所述服务端返回的判断结果,在所述操作区进行相应的显示。
[0010]另外,本专利技术要解决的技术问题是还在于提供一种验证码的生成及验证方法,应用于服务端,其包括:
[0011]在与操作区尺寸相同的范围内随机生成至少4个顶点,得到至少4个顶点数组;
[0012]判断所述至少4个顶点数组是否满足以下相交规则:各顶点数组依次相连构成首尾相连的连接线,且首条连接线与末条连接线相交;
[0013]若满足所述相交规则则对所述至少4个顶点数组进行加密,得到验证码图元加密数据并发送至客户端,使所述客户端接收并解密所述验证码图元加密数据,得到至少4个顶点数组以及将各所述顶点数组按照相交规则依次相连,得到由各连接线构建的验证码,并显示在操作区;并使所述客户端接收并执行用户的操作指令,将得到的执行数据进行加密打包,并将所述执行数据、验证码图元加密数据发送至服务端;
[0014]在接收到所述客户端发送的执行数据、验证码图元加密数据后,基于所述验证码图元加密数据,判断所述执行数据是否满足预设的验证规则,其中,所述验证规则包括:首条连接线与末条连接线不相交;若所述执行数据满足预设的验证规则,则判定验证成功,并将判断结果返回,若所述执行数据不满足预设的验证规则,则判定验证失败,并将判断结果返回,使所述客户端基于所述服务端返回的判断结果,在所述操作区进行相应的显示。
[0015]另外,本专利技术实施例又提供了一种验证码的生成及验证方法,应用于客户端和服务端,其包括:
[0016]服务端在与操作区尺寸相同的范围内随机生成至少4个顶点,得到至少4个顶点数组;
[0017]服务端判断所述至少4个顶点数组是否满足以下相交规则:各顶点数组依次相连构成首尾相连的连接线,且首条连接线与末条连接线相交;
[0018]若满足所述相交规则则服务端对所述至少4个顶点数组进行加密,得到验证码图元加密数据并发送至客户端;
[0019]所述客户端接收并解密所述验证码图元加密数据,得到至少4个顶点数组以及将各顶点数组按相交规则依次相连,得到由各连接线构建的验证码,并显示在操作区;
[0020]所述客户端执行用户的操作指令,将得到的执行数据进行加密打包,并将所述执行数据、验证码图元加密数据发送至服务端;
[0021]所述服务端在接收到客户端发送的所述执行数据、验证码图元加密数据后,基于所述验证码图元加密数据,判断所述执行数据是否满足预设的验证规则,其中,所述验证规则包括:首条连接线与末条连接线不相交;若所述执行数据满足预设的验证规则,则判定验证成功,并将判断结果返回,若所述执行数据不满足预设的验证规则,则判定验证失败,并将判断结果返回;
[0022]所述客户端基于所述判断结果,在所述操作区进行相应的显示。
[0023]另外,本专利技术实施例还提供了一种客户端,其包括:
[0024]第一接收单元:用于接收并解密由服务端发送的验证码图元加密数据,得到至少4个顶点数组,其中,所述至少4个顶点数组满足以下相交规则:各顶点数组依次相连构成首尾相连的连接线,且首条连接线与末条连接线相交;
[0025]第一连接单元:用于将各所述顶点数组按照相交规则依次相连,得到由各连接线构建的验证码,并显示在操作区;
[0026]第一验证单元:用于接收并执行用户的操作指令,将得到的执行数据进行加密打包,并将所述执行数据、验证码图元加密数据发送至服务端,使所述服务端在接收到所述执行数据、验证码图元加密数据后,基于所述验证码图元加密数据,判断所述执行数据是否满
足预设的验证规则,若所述执行数据满足预设的验证规则,则判定验证成功,并将判断结果返回,若所述执行数据不满足预设的验证规则,则判定验证失败,并将判断结果返回,其中,所述验证规则包括:首条连接线与末条连接线不相交;
[0027]第一显示单元:用于基于所述服务端返回的判断结果,在所述操作区进行相应的显示。
[0028]另外,本专利技术实施例还提供了一种服务端,其包括:
[0029]第一生成单元:用于在与操作区尺寸相同的范围内随机生成至少4个顶点,得到至少4个顶点数组;
[0030]第一判断单元:用于判断所述至少4个顶点数组是否满足以下相交规则:各顶点数组依次相连构成首尾相连的连接线,且首条连接线与末条连接线相交;
[0031]第一加密单元:用于若满足所述相交规则则对所述至少4个顶点数组进行加密,得到验证码图元加密数据并发送至客户端,使所述客户端接收并解密所述验本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种验证码的生成及验证方法,应用于客户端,其特征在于,包括:接收并解密由服务端发送的验证码图元加密数据,得到至少4个顶点数组,其中,所述至少4个顶点数组满足以下相交规则:各顶点数组依次相连构成首尾相连的连接线,且首条连接线与末条连接线相交;将各所述顶点数组按照相交规则依次相连,得到由各连接线构建的验证码,并显示在操作区;接收并执行用户的操作指令,将得到的执行数据进行加密打包,并将所述执行数据、验证码图元加密数据发送至服务端,使所述服务端在接收到所述执行数据、验证码图元加密数据后,基于所述验证码图元加密数据,判断所述执行数据是否满足预设的验证规则,若所述执行数据满足预设的验证规则,则判定验证成功,并将判断结果返回,若所述执行数据不满足预设的验证规则,则判定验证失败,并将判断结果返回,其中,所述验证规则包括:首条连接线与末条连接线不相交;基于所述服务端返回的判断结果,在所述操作区进行相应的显示。2.根据权利要求1所述的验证码的生成及验证方法,其特征在于,所述接收并解密由服务端发送的验证码图元加密数据,得到至少4个顶点数组,包括:接收由服务端发送的所述验证码图元加密数据以及公钥,利用base64对所述验证码图元加密数据进行解码,得到对应的二进制数据块;利用公钥对所述二进制数据块进行解密,得到至少4个顶点数组以及相应的初始时间戳。3.根据权利要求2所述的验证码的生成及验证方法,其特征在于,所述接收并执行用户的操作指令,将得到的执行数据进行加密打包,并将所述执行数据、验证码图元加密数据发送至服务端,包括:收集用户的操作行为数据,其中,所述操作行为数据包括顶点移动数据和操作持续时间;获取最终的顶点数组信息;利用所述公钥对所述操作行为数据、最终的顶点数组信息、初始时间戳进行加密打包,得到打包数据;利用base64对所述打包数据进行编码,使所述打包数据字符串化,得到执行数据;将所述执行数据、验证码图元加密数据发送至服务端。4.一种验证码的生成及验证方法,应用于服务端,其特征在于,包括:在与操作区尺寸相同的范围内随机生成至少4个顶点,得到至少4个顶点数组;判断所述至少4个顶点数组是否满足以下相交规则:各顶点数组依次相连构成首尾相连的连接线,且首条连接线与末条连接线相交;若满足所述相交规则则对所述至少4个顶点数组进行加密,得到验证码图元加密数据并发送至客户端,使所述客户端接收并解密所述验证码图元加密数据,得到至少4个顶点数组以及将各所述顶点数组按照相交规则依次相连,得到由各连接线构建的验证码,并显示在操作区;并使所述客户端接收并执行用户的操作指令,将得到的执行数据进行加密打包,并将所述执行数据、验证码图元加密数据发送至服务端;在接收到所述客户端发送的执行数据、验证码图元加密数据后,基于所述验证码图元
加密数据,判断所述执行数据是否满足预设的验证规则,其中,所述验证规则包括:首条连接线与末条连接线不相交;若所述执行数据满足预设的验证规则,则判定验证成功,并将判断结果返回,若所述执行数据不满足预设的验证规则,则判定验证失败,并将判断结果返回,使所述客户端基于所述服务端返回的判断结果,在所述操作区进行相应的显示。5.根据权利要求4所述的验证码的生成及验证方法,其特征在于,所述若满足所述相交规则则对所述至少4个顶点数组进行加密,得到验证码图元加密数据并发送至客户端,包括:获取当前时间戳并作为初始时间戳;利用私钥对所述至少4个顶点数组、初始时间戳进行编码,得到初始加密数据;将所述初始加密数据缓存至数据缓冲区,并利用base64对所述初始加密数据进行编码,得到验证码图元加密数据;将所述验证码图元加密数据以及公钥发送至客户端。6.根据权利要求5所述的验证码的生成及验证方法,其特征在于,所述在接收到所述客户端发送的执行数据、验证码图元加密数据后,基于所述验证码图元加密数据,判断所述执行数据是否满足预设的验证规则,包括:利用base64对所述执行数据进行解码,得到解码数据并缓存至所述数据缓存区;利用所述私钥对所述解码数据进行解码,得到操作行为数据、最终的顶点数组信息、初始时间戳;比较当前时间戳与初始时间戳,判断两者差值是否超过有效期,若未超过有效期,则继续判断所述最终的顶点数组信息是否满足预设的验证规则,若满足预设的验证规则,则继续判断操作行为数据是否异常,若不存在异常,则判定验证成功,并将判断结果返回客户端,若超过有效期或不满足预设的验证规则或存在异常,则判定验证失败,并将判断结果返回客户端。7.一种验证码的生成及验证方法,应用于客户端和服务端,其特征在于,包括:服务端在与操作区尺寸相同的范围内随机生成至少4个顶点,得到至少4个顶点数组;服务端判断所述至...

【专利技术属性】
技术研发人员:王功华李盛
申请(专利权)人:深圳软牛科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1