验证码实现方法、装置、系统、计算设备和存储介质制造方法及图纸

技术编号:19858509 阅读:95 留言:0更新日期:2018-12-22 11:55
本发明专利技术提供了一种验证码实现方法、装置、计算设备和存储介质。该方法包括:呈现验证码图片的第一状态,所述验证码图片包括第一部分和第二部分,所述第一部分能够相对于所述第二部分旋转,所述第一部分与所述第二部分的不同相对方位关系对应于所述验证码图片的不同状态;响应于用户对所述第一部分的旋转操作停止时所述验证码图片基本上呈现其第二状态,判定验证成功,否则判定验证失败。由此,通过提供一种新型的验证码及实现方式,能够兼顾语义和行为的双重验证,向用户提供较为友好的交互体验。并且,可以灵活绘制多种多样的验证码图片,并简化用户需执行的验证操作,降低了交互和认知难度,可以更加灵活地应对黑产。

【技术实现步骤摘要】
验证码实现方法、装置、系统、计算设备和存储介质
本公开涉及计算机
,具体涉及一种验证码实现方法、装置、系统、计算设备和存储介质。
技术介绍
验证码全称为“全自动区分计算机和人类的图灵测试”(Captcha,CompletelyAutomatedPublicTuringTesttoTellComputersandHumansApart),是一种区分用户是计算机还是人的公共全自动程序。可以用于防止恶意破解密码、刷票、论坛灌水,有效防止黑客通过暴力破解方式进行不断的登陆/下载等操作。在很多场景下,验证码都是防范黑色产业的最后一道防护门。那些交互体验友好的验证码大多容易被破解,而难以被破解的验证码大多交互体验都很差,甚至反人类。验证码的设计既要考虑交互友好,便于人类完成验证,同时又能对抗机器人或自动化工具,使得它们难以破解。如今各式各样的验证码大多都已被破解。图1A至1E示出了五种常见的验证码,分别为简单英文数字验证码(图1A)、滑动验证码(图1B)、汉字点选验证码(多字版)(图1C)、汉字点选验证码(单字版)(图1D)、汉字拼音首字母验证码(图1D)。这些类型的验证码都已证实或疑似被技术破解或者打码破解。现有的这些验证码方案,一定程度上考虑了利用一个已知的事实——计算机在图形图像识别方面的能力还相对较弱。所以,这些方案大多利用图片来做验证码,在图片中混入一些语义信息,然后要求访问者来识别出图片中的语义信息,并反馈给服务端,若访问者给出的答案符合验证码中的语义,则认为此访问者是人类而非机器。这也是验证码的本质含义,即全自动区分计算机和人类的图灵测试。在验证码的设计中,最常用的语义信息就是文字。例如,图1A和图1B都是英文数字验证码,就是将英文字母和数字放在图片中,其假设就是计算机是没法从图片中正确提取英文字母和数字的。但人工智能技术发展到现阶段,这类技术问题早已不在话下,即使是在图片中加入各种干扰因素,人工智能仍然能有较高的概率正确识别出英文和数字,且很多时候,其识别能力甚至超越普通人类。图1C、图1D和图1E,都是中文文字类的验证码。相比于英文数字验证码,中文文字类验证码的语义复杂度会稍微高一点,看似比较难破解。但在实际线上使用情况来看,已经有黑色产业能够在以十几次每秒的速度完成验证。另外图1E所示的验证码,其语义信息难度与图1C和图1D差不多,但交互的友好程度却打了折扣。因此,为了对抗黑色产业,需要研发新型验证码。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种新型验证码及验证实现方法,该验证码能够兼顾语义验证和行为验证,向用户提供难被破解且更为友好的验证交互体验。与现有验证码相比,本专利技术的验证码语义复杂度较高且可定制,验证素材更为丰富,验证码灵活度更高,并且验证行为简单易实现,进一步降低了交互难度。根据本专利技术的一个方面,提供了一种验证码实现方法,包括:呈现验证码图片的第一状态,所述验证码图片包括第一部分和第二部分,所述第一部分能够相对于所述第二部分旋转,所述第一部分与所述第二部分的不同相对方位关系对应于所述验证码图片的不同状态;响应于用户对所述第一部分的旋转操作停止时所述验证码图片基本上呈现其第二状态,判定验证成功,否则判定验证失败。由此,通过提供一种新型的旋转拼图验证码,向用户提供难被破解且更为友好、有趣的验证交互体验。优选地,第二状态可以具有用户可以辨别以区分于其它状态的特征。第二状态对应于完整的图形和/或文字;并且/或者在所述第二状态下,所述第一部分和所述第二部分之间的边界处的线条连续;并且/或者所述第二状态具有用户可理解的内容;并且/或者所述第二状态对应于引导说明的状态。由此,进一步增强现有图形验证码中的语义复杂度,同时又不提高用户认知难度。优选地,所述第一状态是在所述第二状态的基础上,使所述第一部分绕预定中心旋转一角度而得到的不同于所述第二状态的状态。对于不同的验证码图片,所述角度可以是随机的。由此,将用户的交互操作从传统的文字输入,改为经由鼠标或手指的旋转、拖拽操作,用户可以通过简单的旋转操作即可完成验证,省去了敲击键盘等繁琐的输入步骤,使验证交互更加友好。优选地,当用户对所述第一部分的旋转操作停止时,所述第一部分的方位相对于第二状态下所述第一部分的方位之间的旋转角度差异不大于预定角度阈值的情况下,视为所述验证码图片基本上呈现其第二状态。由此,在用户旋转验证的过程中,允许有一定的旋转偏差,以保障用户验证成功率。优选地,该方法还可以包括:在判定验证失败的情况下,将所述验证码图片恢复为所述第一状态,或者变化到不同于所述第一状态和所述第二状态的第三状态,作为更新后的所述第一状态,以便用户重新进行旋转操作。优选地,该方法还可以包括:在连续判定验证失败的次数超过预定次数阈值的情况下,呈现新验证码图片的第一状态。由此,在验证失败的情况下,通过更改验证码图片的状态或是更新新的验证码图片,持续为用户提供验证服务。优选地,所述第一部分的形状为同心圆环,所述第二部分包括圆环内部分和/或圆环外部分。优选地,该方法还可以包括:从服务器接收用于生成验证码图片的原始图片和图片剪裁规格,所述图片剪裁规格包括同心圆环的内径和外径以及圆心在图片中的坐标;基于所述图片剪裁规格对所述原始图片进行剪裁,并对剪裁得到的同心圆环进行旋转,以得到所述验证码图片的第一状态。由此,通过设计合理、可行的基于圆环的剪裁方式,提供新型的验证码及验证机制。优选地,所述同心圆环的内外边缘可以被描边,以掩盖圆环边缘裁剪产生的锯齿。优选地,所述原始图片可以是文字、图形、图像中的任何一种;或者所述原始图片可以是基于文字、图形、图像中的至少两种的叠加。优选地,在所述验证码图片的第一状态下,还可以显示验证操作提示和/或验证操作动画演示。在用户进行旋转验证时,还可以响应于用户的旋转操作,呈现所述第一部分的相应旋转动画效果。由此,灵活、生动地向用户呈现操作提示或动画效果,提升用户验证交互体验。根据本专利技术的另一方面,还提供了一种验证码实现装置,包括:呈现单元,用于呈现验证码图片的第一状态,所述验证码图片包括第一部分和第二部分,所述第一部分能够相对于所述第二部分旋转,所述第一部分与所述第二部分的不同相对方位关系对应于所述验证码图片的不同状态;验证单元,用于响应于用户对所述第一部分的旋转操作停止时所述验证码图片基本上呈现其第二状态,判定验证成功,否则判定验证失败。优选地,该装置还可以包括:状态恢复单元,用于在判定验证失败的情况下,将所述验证码图片恢复为所述第一状态,或者变化到不同于所述第一状态和所述第二状态的第三状态,作为更新后的所述第一状态,以便用户重新进行旋转操作。优选地,所述状态恢复单元还可以用于:在连续判定验证失败的次数超过预定次数阈值的情况下,呈现新验证码图片的第一状态。优选地,所述第一部分的形状可以为同心圆环,所述第二部分可以包括圆环内部分和/或圆环外部分,所述装置还包括:接收单元,用于从服务器接收用于生成验证码图片的原始图片和图片剪裁规格,所述图片剪裁规格包括同心圆环的内径和外径以及圆心在图片中的坐标;剪裁单元,用于基于所述图片剪裁规格对所述原始图片进行剪裁,并对剪裁得到的同心圆环进行旋转,以得到所述验证码图片的第一状态。优选地,所述本文档来自技高网
...

【技术保护点】
1.一种验证码实现方法,包括:呈现验证码图片的第一状态,所述验证码图片包括第一部分和第二部分,所述第一部分能够相对于所述第二部分旋转,所述第一部分与所述第二部分的不同相对方位关系对应于所述验证码图片的不同状态;响应于用户对所述第一部分的旋转操作停止时所述验证码图片基本上呈现其第二状态,判定验证成功,否则判定验证失败。

【技术特征摘要】
1.一种验证码实现方法,包括:呈现验证码图片的第一状态,所述验证码图片包括第一部分和第二部分,所述第一部分能够相对于所述第二部分旋转,所述第一部分与所述第二部分的不同相对方位关系对应于所述验证码图片的不同状态;响应于用户对所述第一部分的旋转操作停止时所述验证码图片基本上呈现其第二状态,判定验证成功,否则判定验证失败。2.根据权利要求1所述的方法,其中,所述第二状态具有用户可以辨别以区分于其它状态的特征。3.根据权利要求2所述的方法,其中,所述第二状态对应于完整的图形和/或文字;并且/或者在所述第二状态下,所述第一部分和所述第二部分之间的边界处的线条连续;并且/或者所述第二状态具有用户可理解的内容;并且/或者所述第二状态对应于引导说明的状态。4.根据权利要求2所述的方法,其中,所述第一状态是在所述第二状态的基础上,使所述第一部分绕预定中心旋转一角度而得到的不同于所述第二状态的状态。5.根据权利要求4所述的方法,其中,对于不同的验证码图片,所述角度是随机的。6.根据权利要求4所述的方法,其中,当用户对所述第一部分的旋转操作停止时,所述第一部分的方位相对于第二状态下所述第一部分的方位之间的旋转角度差异不大于预定角度阈值的情况下,视为所述验证码图片基本上呈现其第二状态。7.根据权利要求1所述的方法,还包括:在判定验证失败的情况下,将所述验证码图片恢复为所述第一状态,或者变化到不同于所述第一状态和所述第二状态的第三状态,作为更新后的所述第一状态,以便用户重新进行旋转操作。8.根据权利要求7所述的方法,还包括:在连续判定验证失败的次数超过预定次数阈值的情况下,呈现新验证码图片的第一状态。9.根据权利要求1所述的方法,其中,所述第一部分的形状为同心圆环,所述第二部分包括圆环内部分和/或圆环外部分。10.根据权利要求9所述的方法,还包括:从服务器接收用于生成验证码图片的原始图片和图片剪裁规格,所述图片剪裁规格包括同心圆环的内径和外径以及圆心在图片中的坐标;基于所述图片剪裁规格对所述原始图片进行剪裁,并对剪裁得到的同心圆环进行旋转,以得到所述验证码图片的第一状态。11.根据权利要求10所述的方法,其中,所述同心圆环的内外边缘被描边,以掩盖圆环边缘裁剪产生的锯齿。12.根据权利要求10所述的方法,其中,所述原始图片是文字、图形、图像中的任何一种;或者所述原始图片是基于文字、图形、图像中的至少两种的叠加。13.根据权利要求1所述的方法,还包括:在所述验证码图片...

【专利技术属性】
技术研发人员:林嘉宇林万琪
申请(专利权)人:广州爱九游信息技术有限公司
类型:发明
国别省市:广东,44

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

1