CN110084030A - 基于图片验证码的验证方法、装置及计算机可读存储介质 - Google Patents
基于图片验证码的验证方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110084030A CN110084030A CN201910194716.2A CN201910194716A CN110084030A CN 110084030 A CN110084030 A CN 110084030A CN 201910194716 A CN201910194716 A CN 201910194716A CN 110084030 A CN110084030 A CN 110084030A
- Authority
- CN
- China
- Prior art keywords
- picture
- verification
- verification code
- code
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims abstract description 297
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000007906 compression Methods 0.000 claims description 31
- 230000006835 compression Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010200 validation analysis Methods 0.000 claims 9
- 230000006399 behavior Effects 0.000 abstract description 14
- 238000004364 calculation method Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006837 decompression Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 239000003086 colorant Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例涉及图像处理技术领域,公开了一种基于图片验证码的验证方法、装置及计算机可读存储介质。该验证方法包括:生成并显示验证码,验证码包括多个分别表示一个数或一个字母串的验证码图片、以及根据数或字母串推理验证结果的推理规则;其中,每个所述验证码图片包括按位置排布规则设置的多个图片区域,每个图片区域表征一个数字或一个字母,各个图片区域表征的数字或字母按照排布规则组合得到验证码图片表示的数或字母串;接收用户依据验证码图片以及推理规则输入的验证结果;对用户输入的验证结果进行验证。本发明提供的验证方法提高了验证码的复杂度和计算难度,避免验证码被机器识别,从而有效的防止自动批量注册等恶意行为。
Description
技术领域
本发明实施例涉及图像处理技术领域,特别涉及一种基于图片验证码的验证方法、装置及计算机可读存储介质。
背景技术
验证码是一种区分用户是计算机还是人的公共全自动程序。当前技术生成的验证码有许多表现形式,如数字和字母的随机组合、图片中含有特定文字或特定元素、随机生成两元的四则运算、滑动验证码等。用户通过识别验证码中的数字或字母,将识别到的数字或字母输入到指定位置完成验证。由于这些数字或字母通常采用不规则的字符形式表现,而这种形式无法被机器识别,所以可以有效的防止一些黑客把密码数据化盗取,同时可以防止自动批量注册的恶意行为,从而避免网络上出现恶意破解密码、刷票、论坛灌水等行为,保障网络安全,给用户一个舒适的上网环境。
然而,发明人发现相关技术中至少存在如下问题:目前的验证码元素多为数字和字母,数字和字母通常很容易找到其中的规律,从而被机器破解其中规律而识别验证码,无法有效的防止自动批量注册等恶意行为,无法防止推广作弊及刷票和活动套利行为。
发明内容
本发明实施方式的目的在于提供一种基于图片验证码的验证方法、装置及计算机可读存储介质,提高了验证码的复杂度和计算流程,使验证码无法被机器识别,防止自动批量注册等恶意行为,保障网络安全。
为解决上述技术问题,本发明的实施方式提供了一种基于图片验证码的验证方法。包括:生成并显示验证码,验证码包括多个分别表示一个数或一个字母串的验证码图片、以及根据数或字母串推理验证结果的推理规则;其中,每个所述验证码图片包括按位置排布规则设置的多个图片区域,每个图片区域表征一个数字或一个字母,各个图片区域表征的数字或字母按照排布规则组合得到验证码图片表示的数或字母串;接收用户依据验证码图片以及推理规则输入的验证结果;对用户输入的验证结果进行验证。
本发明的实施方式还提供了一种基于图片验证码的验证装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的基于图片验证码的验证方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述基于图片验证码的验证方法。
本发明实施方式相对于现有技术而言,验证码以图片的形式显示,并且包含数字或字母串及其推理规则,需要用户理解验证码图片所代表的含义,然后通过推理规则得出验证结果,后台在接收到用户输入的验证结果后进行验证。通过图片区域的排布规则和自定义的推理规则提高了验证码的识别复杂度和计算难度,避免验证码被机器识别,从而更有效的防止自动批量注册等恶意行为,提高了验证码的验证作用,保障了网络的安全性,给用户一个舒适的上网环境。
另外,每个图片区域被划分为多个显示区域,各显示区域对应一个数字或字母,各显示区域中的一者具有第一格式属性,各显示区域中的其余各者具有第二格式属性,具有第一格式属性的显示区域所对应的数字或字母为图片区域表征的数字或字母。这样做使得图片区域表征的数字或字母所处的显示区域与其他显示区域明显不同,便于用户直观、快速地识别出图片区域表征的数字或字母未哪一个显示区域对应的数字或字母。
另外,格式属性为背景颜色。
另外,排布规则为多个图片区域自中心向四周呈辐射状排列。
另外,多个图片区域中的一者为圆、其余各者为半径不同且与圆共圆心设置的圆环;多个显示区域为沿环绕圆心的圆周方向排布的多个扇状区域。
另外,验证码图片表示一个数,每个扇状区域表征一个数字,每个图片区域对应一个数量级;各个图片区域表征的数字按照排布规则组合得到验证码图片表示的数,具体包括:将扇状区域表征的数字与扇状区域所处的图片区域对应的数量级的乘积之和,作为所述图片区域表征的数字;将各图片区域表征的数字之和,作为验证码图片表示的数。这样做,自定义符号并定义运算规则,脱离了常规的数字或字母串的常规表现形式,通过同心圆环的图片形式,方便用户对图片推理规则的理解,在避免被机器识别的前提下,便于用户快速识别并得出验证结果。
另外,接收用户依据验证码图片以及推理规则输入的验证结果,具体包括:提供用于输入验证结果的可编辑图片,其中,可编辑图片包括按位置排布规则设置的多个图片区域,每个图片区域包括多个显示区域,各显示区域分别显示一个数字或字母;接收用户在可编辑图片的各个图片区域内点击的数字或字母,将各个图片区域内被点击的数字或字母按照位置排布规则组合得到的数或字母串作为验证结果。这样做使验证结果以图片的形式被后台接收,防止机器对图片的编辑,从而有效的防止机器自动批量注册等恶意行为,增强了验证码的验证作用。
另外,可编辑图片中的每个图片区域的不同显示区域显示不同数字或字母,且所有数字或字母的格式属性均相同,接收用户在可编辑图片的各个图片区域内点击的数字或字母之后,还包括:改变被点击的数字或字母的格式属性;将各个图片区域内被点击的数字或字母按照位置排布规则组合得到的数或字母串作为验证结果,具体为:将格式属性被改变的数字或字母按照位置排布规则组合构成验证结果。这样做使可编辑图片通过点击的方式改变图片区域的格式属性,直观、快捷的凸显点击区域和非点击区域的区别,方便用户对验证结果的快捷输入,提高用户的使用体验。
另外,对用户输入的验证结果进行验证,具体包括:前台获取用户在可编辑图片上的点击操作信息、将点击操作信息发送至后台;后台接收点击操作信息、并依据点击操作信息进行验证。这样做可以降低网络压力和时延。
另外,生成并显示验证码,具体包括:前台显示登录信息填写界面、并发送验证码请求至后台;后台接收验证码请求、在接收到验证码请求后生成验证码图片、并将验证码图片发送至前台;前台接收验证码图片;前台接收用户填写的登录信息、并在接收到用户填写的登录信息之后显示验证码图片。前台显示登录信息填写界面时就向后台请求验证码,使得后台生成验证码图片并发送验证码图片的过程与用户填写登录信息的过程同时进行,便于前台在接收到用户填写的登录信息之后第一时间显示其接收到的验证码图片,减少用户等待验证码图片传送的时间,提高了验证效率。
另外,将验证码图片发送至前台,具体包括:对验证码图片进行像素点序列化;对序列化的验证码图片的像素点值进行压缩;将压缩后的像素点的颜色值进行编码压缩;将编码压缩后的像素点序列值传输至前台。将验证码图片进行压缩,方便图片的传输;将序列化的验证码图片的像素点压缩,并对压缩后的像素点的颜色值再次压缩,使压缩比得到了显著的提升,利于验证码图片的快速传输,进一步解决了图片网络传输慢的难题。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式中的基于图片验证码的验证方法流程图;
图2是根据本发明第一实施方式中的验证码图片示意图;
图3是根据本发明第二实施方式中的基于图片验证码的验证方法流程图;
图4是根据本发明第二实施方式中的提交验证时验证码图片示意图;
图5是根据本发明第三实施方式中的基于图片验证码的验证方法流程图;
图6是根据本发明第四实施方式的基于图片验证码的验证方法流程图;
图7是根据本发明第五实施方式中的基于图片验证码的验证装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种基于图片验证码的验证方法,本实施方式的核心在于,生成并显示验证码,验证码包括多个分别表示一个数或一个字母串的验证码图片、以及根据数或字母串推理验证结果的推理规则;其中,每个所述验证码图片包括按位置排布规则设置的多个图片区域,每个图片区域表征一个数字或一个字母,各个图片区域表征的数字或字母按照排布规则组合得到验证码图片表示的数或字母串;接收用户依据验证码图片以及推理规则输入的验证结果;对用户输入的验证结果进行验证。提高了验证码的复杂度和计算难度,避免验证码被机器识别,从而有效的防止自动批量注册等恶意行为,提高了验证码的验证作用,保障了网络的安全性。下面对本实施方式的基于图片验证码的验证方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的基于图片验证码的验证方法的流程示意图如图1所示:
步骤101:生成并显示验证码。具体地说,验证码以图片的形式表现,验证码图片可以代表一个数或一个字母串,根据推理规则将验证码图片代表的数或字母串组合,从而得到验证结果。为了实现上述推理规则,可以将验证码图片划分为多个图片区域,多个图片区域按照位置排布规则设置,每个图片区域表征一个数字或一个字母,根据图片区域的排布规则组合及验证码图片多个图片区域的排布位置表征验证码信息,提高了验证码的复杂度和计算难度。另外,验证码图片的不同图片区域可以具有不同的格式属性,具有第一格式属性的区域对应的数字或字母为验证码图片表征的数字或字母,这样做可以区分图片表征的验证码信息,从而增加计算的复杂度。在实际应用中,格式属性可以为背景颜色,背景颜色可以为绿色,红色,白色,黑色等,在选择第一格式属性与第二格式属性时,可以选择色差较大的两个颜色,使得图片区域表征的数字或字母所处的显示区域与其他显示区域明显不同,便于用户直观、快速地识别出图片区域表征的数字或字母未哪一个显示区域对应的数字或字母,方便用户对验证码图片的辨认,从而输入正确的验证结果。
验证码图片可以是由多个同心环组成,每一环代表一个数量级,同一环上又分为不同的值域,因此根据圆环上的值可确定验证码图片所代表的值,且所代表的值是唯一的,不会出现多个值对应一个验证码图片的情况发生。如图2所示,同心圆环由三个圆环组成,将每个圆环等分为十个扇状区域,每个扇状区域代表一个数值,正上方代表0,呈顺时针方向依次递加1,每个圆环代表不同的数量级,从内圈到外圈依次为个位、十位、百位,也可以从外圈到内圈数量级递增,数量级设定按具体情况设定。按照外圈到内圈数量级递增的规则,即外圈代表个位,图2中验证码图片代表的数字为53。在实际应用中可以改变代表数值的图片区域的背景颜色,不同的背景颜色可以代表不同的含义,例如,将背景颜色为红色的区域对应的数值加2才是该区域代表的数值;将背景颜色为绿色的区域对角线的值域对应该区域代表的数值;这样做体现了自定义验证码图片的灵活性,并且增加了验证码图片的复杂度。
步骤102,接收用户依据验证码图片以及推理规则输入的验证结果。具体地说,用户在看到验证码图片后需要对图片进行解读,然后根据推理规则进行运算,得出验证结果,用户输入的验证结果以图片的形式被后台接收,以图片的形式相对于简单的字母数字的形式更为安全,不容易被机器识别,保证验证码的验证作用。
步骤103,对用户输入的验证结果进行验证。具体地说,通过上述的推理规则,后台识别用户输入的验证结果,将验证结果代表的数或字母与验证码相匹配,若匹配则代表验证结果正确,用户验证成功,证明本次操作为人为操作,用户填写的信息为有效信息;反之,则验证失败,代表本次操作可能为机器操作,重新发送验证码图片,排除由于用户输入错误而导致的失败情况。
与现有技术相比,本发明实施方式,验证码以图片的形式显示,并且包含数字或字母串及其推理规则,需要用户理解验证码图片所代表的含义,然后通过推理规则得出验证结果,后台在接收到用户输入的验证结果后进行验证。通过自定义的推理规则提高了验证码的复杂度和计算难度,避免验证码被机器识别,从而有效的防止自动批量注册等恶意行为,提高了验证码的验证作用,保障了网络的安全性,给用户一个舒适的上网环境。
本发明的第二实施方式涉及一种基于图片验证码的验证方法。第二实施方式与第一实施方式大致相同,不同之处在于,第一实施方式中接收用户依据验证码图片以及推理规则输入的验证结果,而在第二实施方式中将其具体为提供用于输入验证结果的可编辑图片,根据用户对可编辑图片的编辑作为验证结果。
本实施方式中的基于图片验证码的验证方法的流程示意图如图3所示,具体包括:
步骤301:生成并显示验证码。与第一实施方式中步骤101一致,在此不再赘述。
步骤302:提供用于输入验证结果的可编辑图片。具体地说,所提供的可编辑图片与验证码图片相似,均为多个同心环组成,将每个同心圆环均分为十个扇状区域,每一环代表一个数量级,每个扇状区域代表一个数值。通过用户的编辑改变每一个扇状区域的格式属性,从而改变可编辑图片代表的数或字母,其中,格式属性为图片区域的背景颜色。
步骤303:接收用户在可编辑图片的各个图片区域内点击的数字或字母。
步骤304:改变被点击的数字或字母的格式属性。
步骤305:将格式属性被改变的数字或字母按照位置排布规则组合构成验证结果。
具体地说,用户通过点击的形式改变图片区域的格式属性,以图2为例,当用户需要将图片代表的数字53调整为表示数字54时,将代表数字3的最外层圆环的格式属性变为不代表数值含义的格式属性,即将其背景颜色由原有的黑色变为白色,同时将最外层圆环中代表4的区域的格式属性变为代表数值含义的格式属性,即将其背景颜色由原有的白色变为黑色,整个图片所代表的数值即由53变为54。
在实际应用中,为了方便用户的操作,可以通过点击圆环,改变代表数值含义的格式属性所在区域,例如,如图2所示圆环图片,在用户点击最外层圆环时,将黑色区域顺时针方向变为下一个值域位置,即黑色区域由数值3变为数值4,当用户再次点击最外层圆环时,黑色区域继续顺时针方向变为数值5所在扇状区域,依次类推,内层圆环同理。这样做根据用户点击的位置和点击次数,改变可编辑图片的图片样式,操作简单易于实现。
步骤306:对用户输入的验证结果进行验证。与第一实施方式中步骤103一致,在此不再赘述。
下面以一个实例具体说明验证码图片及可编辑图片的使用方法:
后台生成的验证码图片如图4中的等号左边图片所示,包含代表数或字母的图片及推理规则,等号右侧的可编辑图片用于用户输入验证结果。图4表示将两个代表数字的图片相加,并将运算结果输入到可编辑图片中。在用户在可编辑图片中输入计算后的结果递交之后,前台将包含验证码图片及验证结果的图片一起传输到后台,由后台对验证图片及验证结果进行识别,并判断用户的验证结果是否正确,图4中代表的数值为53+77=130,等式成立,验证结果为正确,验证通过。
与现有技术相比,本发明实施方式中,使验证结果以图片的形式被后台接收,防止机器对图片的编辑,从而有效的防止自动批量注册等恶意行为,增强了验证码的验证作用。另外,可编辑图片通过点击的方式改变图片的格式属性,从而使可编辑图片携带验证结果,方便用户对验证结果的输入,另一方面也可以提高验证码被机器识别的难度。
本发明的第三实施方式涉及一种基于图片验证码的验证方法。第三实施方式是第二施方式的进一步改进,主要改进之处在于:第三实施方式中通过前台与后台的配合完成验证,每个主体严格执行其相关的步骤。
本实施方式中的基于图片验证码的验证方法如图5所示,具体包括:
步骤501:前台显示登陆信息填写界面、并发送验证码请求至后台。
步骤502:后台生成验证码图片、并将验证码图片发送至前台。
步骤503:前台接收验证码图片。
步骤504:前台接收用户填写的登陆信息之后显示验证码图片。
具体地说,在用户进行注册信息填写时,用户登陆信息填写界面,前台为用户显示所需填写的登陆信息并向后台发送验证码请求,后台生成验证码图片,并将验证码图片发送至前台,前台在用户完成登陆信息填写后,将接收到的验证码图片显示给用户,验证码图片在上述说明中有具体的描述,在此不再赘述。
步骤505:提供用于输入验证结果的可编辑图片。
步骤506:接收用户在可编辑图片的各个图片区域内点击的数字或字母。
步骤507:改变被点击的数字或字母的格式属性。
步骤508:将格式属性被改变的数字或字母按照位置排布规则组合构成验证结果。
步骤505至508与第二实施方式中302至305大致相同,为避免重复,此处不再赘述。
步骤509:前台获取用户在可编辑图片上的点击操作信息,将点击操作信息发送至后台。
步骤510:后台接收点击操作信息,并依据点击操作信息进行验证。
具体地说:前台获取信息,将获取的信息(可编辑图片)保存并传输至后台,由后台进行验证,后台判断的到的验证结果传输到前台,由前台展现给用户,在验证过程中前台和后台各自工作并相互配合,这样做可以节省网络请求所耗费的时间,提高验证效率。
为了降低网络压力和时延,实际前台上传的结果并非为初始化时生成的验证码图片,而是记录了用户操作行为并转换为特定信息进行上传,这种特定信息也是后台对验证码验证所必须的。比如,记录用户操作行为的特定信息可以是反应用户的点击次数,用户点击次数与同心圆中特定扇形的特殊颜色对应,比如点击一次代表数值1。而用户操作行为的外化表现形式就是图片旋转(内部实现),看上去就是相邻扇形的着色切换。
与现有技术相比,本发明实施方式,当前台将界面加载完成后,通过异步的方式向后台进行验证码请求,后台依据验证码请求而返回的验证码输入值并不在前台直接进行显示,而是由前台在“用户完成必要信息(如用户名密码等)输入后、点击获取验证码”时再进行显示。对比短信验证码而言,时间效率得到明显提高;对比其他形式的图片验证码请求响应时间明显缩短。
本发明的第四实施方式涉及一种基于图片验证码的验证方法。第四实施方式是第三施方式的进一步改进,主要改进之处在于:在第四实施方式中对验证码图片进行像素点序列化;对序列化的验证码图片的像素点值进行压缩;将压缩后的像素点的颜色值进行编码压缩;将编码压缩后的像素点序列值传输至前台。
本实施方式中的基于图片验证码的验证方法如图6所示,具体包括:
步骤601,前台显示登陆信息填写界面,并发送验证码请求至后台。
步骤602,后台生成验证码图片,并对验证码图片进行像素点序列化。
步骤603,对序列化的验证码图片的像素点值进行压缩,将压缩后的像素点的颜色值进行编码压缩。
步骤604,将编码压缩后的像素点序列值传输至前台。
具体地说,将图片序列化就是将内存数据保存为磁盘数据的过程,进行序列化后的验证码图片的颜色像素点RGB由三组8位的二进制数组成颜色值,共计24位。为了便于图片传输,需要将图片进行压缩,在压缩过程中可以采用有损压缩5-6-5算法,对序列化的验证码图片的像素点进行压缩,有损压缩5-6-5算法即压缩位数来减少图片大小,取最高5位或6位(每组颜色值共8位),末尾的3位或2位进行舍去,在需要解压时再将舍去的位置填充0,使解压后的颜色与原来的颜色值存在较小的偏差,影响较小,不会影响用户对于验证码图片的辨认。
在对序列化的验证码图片的像素点值进行压缩之后,再次对压缩后的像素点的颜色值进行编码压缩,进一步提高验证码图片的压缩比,保障图片的正常传输。在对压缩后的像素点的颜色值进行编码压缩时,可以采用哈夫曼编码进行压缩,哈夫曼编码使用预先二进制描述来替换每个像素点颜色值,长度由出现的频率决定。哈夫曼算法进行压缩的原理如下:根据编码出现频率生成的哈夫曼树(Huffman Tree),根据哈夫曼树可知,出现频率多的像素点颜色值使用较少的位,而出现频率少的像素点颜色值使用较多的位,通过哈夫曼编码处理后需要传输的整个信息量得到再一次的压缩。
下面以一个实例具体说明压缩过程:
将验证码照片进行像素点序列化后,每个颜色值可以有四个参数:ARGB,在固定不透明度为100%之后,对剩下的三个参数使用5-6-5编码进行有损压缩。如白色的压缩前为0xFFFFFF,经压缩后为0xFFF,共计12位,即RGB三个各取4位;由于该验证码的图片中包含三种颜色(扇形的边框色、扇形背景色、扇形充填色),其中数字(或字符)采用扇形边框色,由于颜色种类较少,编码的区别较大,因此可以再次对颜色值进行编码压缩,使用哈夫曼编码,最终将每个像素点的颜色值由2位二进制数表示。即将原本一个需要24位表示的颜色值压缩至2位,压缩率高达92%,以2位二进制数表示的颜色值基本不存在图片的传输问题,保证了验证码图片的正常传输,使用户可以及时的收到验证码图片。
步骤605,前台接收用户填写的登陆信息之后显示验证码图片。
具体地说,前台接收到压缩后的验证码图片之后,需要将其解压,才能够正常的显示给用户。前台的解码和解压缩过程是压缩的逆过程,由于压缩时包含对像素点值的压缩和颜色值的压缩,所以解压的过程也包含两个部分,对像素点值的压缩对应解压部分,对颜色值的压缩对应解码部分。其中,解码的部分使用了哈希表(Hash表),将2位像素值还原成12位像素值,由于验证码图片仅包含三种颜色(扇形的边框色、扇形背景色、扇形充填色),只有3个编码值,所以映射速度极快,不消耗解码时间;解压部分是对位数的成倍扩展(由12位恢复成24位),因此处理速度极快。因此,解压的速度极快,节省了用户等待验证码时间,提高了用户验证操作的效率。
步骤606,提供用于输入验证结果的可编辑图片。
步骤607,接收用户在可编辑图片的各个图片区域内点击的数字或字母。
步骤608,改变被点击的数字或字母的格式属性。
步骤609,将格式属性被改变的数字或字母按照位置排布规则组合构成验证结果。
步骤610,前台获取用户在可编辑图片上的点击操作信息,将点击操作信息发送至后台。
步骤611,后台接收点击操作信息,并依据点击操作信息进行验证。
步骤606至611与第二实施方式中505至510大致相同,为避免重复,此处不再赘述。
在本实施方式中,将验证码图片像素点值压缩和颜色值编码压缩,通过两次不同的压缩,大大提升了验证码图片的压缩比,解决了图片网络传输的难题;另外,由于编码值较少,且解压过程为压缩过程的逆过程,所以解压的速度极快,节省了用户等待验证码时间,提高了用户验证操作的效率。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第五实施方式涉及一种基于图片验证码的验证装置,如图7所示,包括至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702;其中,存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行,以使至少一个处理器701能够执行上述基于图片验证码的验证方法。
其中,存储器702和处理器701采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器701和存储器702的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器701。
处理器701负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器702可以被用于存储处理器701在执行操作时所使用的数据。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述基于图片验证码的验证方法。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (13)
1.一种基于图片验证码的验证方法,其特征在于,包括:
生成并显示验证码,所述验证码包括多个分别表示一个数或一个字母串的验证码图片、以及根据所述数或字母串推理验证结果的推理规则;其中,每个所述验证码图片包括按位置排布规则设置的多个图片区域,每个所述图片区域表征一个数字或一个字母,各个所述图片区域表征的数字或字母按照所述排布规则组合得到所述验证码图片表示的数或字母串;
接收用户依据所述验证码图片以及所述推理规则输入的验证结果;
对用户输入的所述验证结果进行验证。
2.根据权利要求1所述的基于图片验证码的验证方法,其特征在于,每个所述图片区域被划分为多个显示区域,各显示区域对应一个数字或字母,所述各显示区域中的一者具有第一格式属性,所述各显示区域中的其余各者具有第二格式属性,具有所述第一格式属性的显示区域所对应的数字或字母为所述图片区域表征的数字或字母。
3.根据权利要求2所述的基于图片验证码的验证方法,其特征在于,所述格式属性为背景颜色。
4.根据权利要求2所述的基于图片验证码的验证方法,其特征在于,所述排布规则为多个所述图片区域自中心向四周呈辐射状排列。
5.根据权利要求4所述的基于图片验证码的验证方法,其特征在于,所述多个图片区域中的一者为圆、其余各者为半径不同且与所述圆共圆心设置的圆环;
所述多个显示区域为沿环绕所述圆心的圆周方向排布的多个扇状区域。
6.根据权利要求5所述的基于图片验证码的验证方法,其特征在于,所述验证码图片表示一个数,每个所述扇状区域表征一个数字,每个所述图片区域对应一个数量级;
所述各个所述图片区域表征的数字按照所述排布规则组合得到所述验证码图片表示的数,具体包括:
将所述扇状区域表征的数字与所述扇状区域所处的图片区域对应的数量级的乘积之和,作为所述图片区域表征的数字;
将各所述图片区域表征的数字之和,作为所述验证码图片表示的数。
7.根据权利要求1所述的基于图片验证码的验证方法,其特征在于,所述接收用户依据所述验证码图片以及所述推理规则输入的验证结果,具体包括:
提供用于输入验证结果的可编辑图片,其中,所述可编辑图片包括按所述位置排布规则设置的多个图片区域,每个所述图片区域包括多个显示区域,各所述显示区域分别显示一个数字或字母;
接收用户在所述可编辑图片的各个所述图片区域内点击的数字或字母,
将各个所述图片区域内被点击的数字或字母按照所述位置排布规则组合得到的数或字母串作为所述验证结果。
8.根据权利要求7所述的基于图片验证码的验证方法,其特征在于,所述可编辑图片中的每个所述图片区域的不同显示区域显示不同数字或字母,且所有数字或字母的格式属性均相同,
所述接收用户在所述可编辑图片的各个所述图片区域内点击的数字或字母之后,还包括:改变被点击的数字或字母的格式属性;
所述将各个所述图片区域内被点击的数字或字母按照所述位置排布规则组合得到的数或字母串作为所述验证结果,具体为:将格式属性被改变的所述数字或字母按照所述位置排布规则组合构成所述验证结果。
9.根据权利要求8所述的基于图片验证码的验证方法,其特征在于,所述对用户输入的所述验证结果进行验证,具体包括:
前台获取用户在所述可编辑图片上的点击操作信息、将所述点击操作信息发送至后台;
后台接收所述点击操作信息、并依据所述点击操作信息进行验证。
10.根据权利要求1至9中任一项所述的基于图片验证码的验证方法,其特征在于,所述生成并显示验证码,具体包括:
前台显示登录信息填写界面、并发送验证码请求至后台;
后台接收所述验证码请求、在接收到所述验证码请求后生成所述验证码图片、并将所述验证码图片发送至前台;
前台接收所述验证码图片;
前台接收用户填写的登录信息、并在接收到用户填写的登录信息之后显示所述验证码图片。
11.根据权利要求10所述的基于图片验证码的验证方法,其特征在于,所述将所述验证码图片发送至前台,具体包括:
对所述验证码图片进行像素点序列化;
对序列化的所述验证码图片的像素点值进行压缩;
将压缩后的像素点的颜色值进行编码压缩;
将编码压缩后的像素点序列值传输至前台。
12.一种基于图片验证码的验证装置,其特征在于,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至11中任一所述的基于图片验证码的验证方法。
13.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的基于图片验证码的验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910194716.2A CN110084030B (zh) | 2019-03-14 | 2019-03-14 | 基于图片验证码的验证方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910194716.2A CN110084030B (zh) | 2019-03-14 | 2019-03-14 | 基于图片验证码的验证方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110084030A true CN110084030A (zh) | 2019-08-02 |
CN110084030B CN110084030B (zh) | 2021-04-27 |
Family
ID=67412453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910194716.2A Active CN110084030B (zh) | 2019-03-14 | 2019-03-14 | 基于图片验证码的验证方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110084030B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110585721A (zh) * | 2019-09-20 | 2019-12-20 | 网易(杭州)网络有限公司 | 一种游戏中防外挂的方法及装置 |
CN111447207A (zh) * | 2020-03-24 | 2020-07-24 | 咪咕文化科技有限公司 | 验证码验证方法、电子设备及存储介质 |
CN111783061A (zh) * | 2020-05-28 | 2020-10-16 | 苏宁金融科技(南京)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN112417419A (zh) * | 2020-11-20 | 2021-02-26 | 北京字节跳动网络技术有限公司 | 一种验证码处理方法、装置、设备及存储介质 |
CN114217758A (zh) * | 2021-12-01 | 2022-03-22 | 深圳Tcl新技术有限公司 | 图像显示方法、装置、电子设备及计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787350A (zh) * | 2016-02-26 | 2016-07-20 | 广东欧珀移动通信有限公司 | 无线WiFi热点的控制方法、装置以及终端 |
US20170098068A1 (en) * | 2015-10-06 | 2017-04-06 | Verizon Patent And Licensing Inc. | User authentication based on physical movement information |
CN106572074A (zh) * | 2016-08-03 | 2017-04-19 | 青岛海信移动通信技术股份有限公司 | 一种验证码的校验方法和装置 |
CN106612277A (zh) * | 2016-12-09 | 2017-05-03 | 武汉斗鱼网络科技有限公司 | 一种利用密码盘实现验证码验证的方法及系统 |
CN107358088A (zh) * | 2017-06-27 | 2017-11-17 | 北京亩田新农网络科技有限公司 | 基于时钟的验证方法和系统 |
CN107480482A (zh) * | 2016-06-07 | 2017-12-15 | 中国移动通信集团云南有限公司 | 一种触摸屏解锁方法、装置及触摸屏终端 |
CN108243154A (zh) * | 2016-12-26 | 2018-07-03 | 腾讯科技(北京)有限公司 | 一种验证码数据处理方法及装置 |
CN109063453A (zh) * | 2018-06-25 | 2018-12-21 | 广州爱九游信息技术有限公司 | 验证码实现方法、装置、系统、计算设备和存储介质 |
-
2019
- 2019-03-14 CN CN201910194716.2A patent/CN110084030B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170098068A1 (en) * | 2015-10-06 | 2017-04-06 | Verizon Patent And Licensing Inc. | User authentication based on physical movement information |
CN105787350A (zh) * | 2016-02-26 | 2016-07-20 | 广东欧珀移动通信有限公司 | 无线WiFi热点的控制方法、装置以及终端 |
CN107480482A (zh) * | 2016-06-07 | 2017-12-15 | 中国移动通信集团云南有限公司 | 一种触摸屏解锁方法、装置及触摸屏终端 |
CN106572074A (zh) * | 2016-08-03 | 2017-04-19 | 青岛海信移动通信技术股份有限公司 | 一种验证码的校验方法和装置 |
CN106612277A (zh) * | 2016-12-09 | 2017-05-03 | 武汉斗鱼网络科技有限公司 | 一种利用密码盘实现验证码验证的方法及系统 |
CN108243154A (zh) * | 2016-12-26 | 2018-07-03 | 腾讯科技(北京)有限公司 | 一种验证码数据处理方法及装置 |
CN107358088A (zh) * | 2017-06-27 | 2017-11-17 | 北京亩田新农网络科技有限公司 | 基于时钟的验证方法和系统 |
CN109063453A (zh) * | 2018-06-25 | 2018-12-21 | 广州爱九游信息技术有限公司 | 验证码实现方法、装置、系统、计算设备和存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110585721A (zh) * | 2019-09-20 | 2019-12-20 | 网易(杭州)网络有限公司 | 一种游戏中防外挂的方法及装置 |
CN111447207A (zh) * | 2020-03-24 | 2020-07-24 | 咪咕文化科技有限公司 | 验证码验证方法、电子设备及存储介质 |
CN111783061A (zh) * | 2020-05-28 | 2020-10-16 | 苏宁金融科技(南京)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111783061B (zh) * | 2020-05-28 | 2022-09-23 | 苏宁金融科技(南京)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN112417419A (zh) * | 2020-11-20 | 2021-02-26 | 北京字节跳动网络技术有限公司 | 一种验证码处理方法、装置、设备及存储介质 |
CN112417419B (zh) * | 2020-11-20 | 2022-12-13 | 北京字节跳动网络技术有限公司 | 一种验证码处理方法、装置、设备及存储介质 |
CN114217758A (zh) * | 2021-12-01 | 2022-03-22 | 深圳Tcl新技术有限公司 | 图像显示方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110084030B (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110084030B (zh) | 基于图片验证码的验证方法、装置及计算机可读存储介质 | |
CA1257938A (en) | Character-based monochromatic representation of color images | |
EP0158902B1 (en) | Monochromatic representation of color images | |
EP2836953B1 (en) | Method and device for generating a code | |
US11838401B2 (en) | Transmitting encoded data along transmission mediums based on colorspace schemes | |
US10833852B1 (en) | Encoded data along tape based on colorspace schemes | |
EP4365785A1 (en) | Federated learning method and related device | |
CN111222611B (zh) | 一种基于颜色的堆叠式三维码编码方法、编码装置、解码方法、解码装置以及存储介质 | |
JP2766053B2 (ja) | 画像データ処理方法 | |
JP7321579B2 (ja) | 学習装置、推論装置、学習方法、推論方法、コンピュータシステムおよびプログラム | |
JP2013080448A (ja) | 二次元コードを出力する計算機及び当該計算機に実行されるプログラム | |
JPH07322074A (ja) | ディザリングされた2レベル・イメージ・ファイルを処理するためのデータ処理装置および方法 | |
CN108830772A (zh) | 水印编码转换方法及装置 | |
CN115550030A (zh) | 数据加密方法、装置、存储介质及电子设备 | |
WO2015107622A1 (ja) | 画像処理プログラム、表示プログラム、画像処理方法、表示方法、画像処理装置、および情報処理装置 | |
CN109918929B (zh) | 一种加密解密方法及装置 | |
CN108335254A (zh) | 一种数据信息处理方法及装置 | |
JP3487284B2 (ja) | プリンタシステム、プリンタドライバ、及びプリンタ | |
CN108280502B (zh) | 一种qr码容量提升方法及终端 | |
CN115242524B (zh) | 一种验证码的验证方法、装置及介质 | |
CN113626075A (zh) | 相似代码检测方法、装置、设备和计算机存储介质 | |
CN111627089B (zh) | 一种用户头像图片处理方法、设备、系统和可读存储介质 | |
CN114742910B (zh) | 图像生成方法、存储介质及计算机终端 | |
JP6292061B2 (ja) | 情報処理装置およびプログラム | |
EP4357955A1 (en) | Method and apparatus for adding watermark in data, and related device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |