CN106570363A - 验证码生成及校验方法 - Google Patents
验证码生成及校验方法 Download PDFInfo
- Publication number
- CN106570363A CN106570363A CN201610944668.0A CN201610944668A CN106570363A CN 106570363 A CN106570363 A CN 106570363A CN 201610944668 A CN201610944668 A CN 201610944668A CN 106570363 A CN106570363 A CN 106570363A
- Authority
- CN
- China
- Prior art keywords
- identifying code
- code
- check value
- value
- generated
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
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)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明提出了验证码生成及校验方法,所述方法包括:验证码控制器在接收到来自用户接口的验证码请求后调用验证码生成器生成验证码;将所生成的验证码传送至验证码输入键盘生成器以生成与验证码相关联的验证码输入键盘;调用验证码计算规则生成器动态地生成计算规则,并根据所生成的计算规则计算与验证码相关联的校验值,随之将所述校验值存储在数据库中;将验证码、与所述验证码相关联的验证码输入键盘以及用以实施计算规则的计算规则脚本发送至用户接口以获得用户反馈,并随之基于数据库中的与验证码相关联的校验值校验所述用户反馈的正确性。本发明所公开的方法具有增强的安全性。
Description
技术领域
本发明涉及信息校验方法,更具体地,涉及验证码生成及校验方法。
背景技术
目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,通过识别并校验验证码而防止恶意登录,注册等等行为(例如灌水、刷票、秒杀商品等等)变得越来越重要。
在现有的技术方案中,通常采用发送文本或图形形式的验证码让用户通过输入接口输入的方式来防止恶意登录或注册等等的行为。
然而,现有的技术方案存在如下问题:由于验证码的生成和输入操作缺乏足够的安全机制,故易于被破解和/或模拟。
因此,存在如下需求:提供具有增强的安全性的验证码生成及校验方法。
发明内容
为了解决上述现有技术方案所存在的问题,本发明提出了具有增强的安全性的验证码生成及校验方法。
本发明的目的是通过以下技术方案实现的:
一种验证码生成及校验方法,所述验证码生成及校验方法包括下列步骤:
(A1)验证码控制器在接收到来自用户接口的验证码请求后调用验证码生成器生成验证码;
(A2)所述验证码控制器将所生成的验证码传送至验证码输入键盘生成器以生成与所述验证码相关联的验证码输入键盘;
(A3)所述验证码控制器调用验证码计算规则生成器动态地生成计算规则,并根据所生成的计算规则计算与所述验证码相关联的校验值,随之将所述校验值存储在数据库中;
(A4)所述验证码控制器将所述验证码、所述与所述验证码相关联的验证码输入键盘以及用以实施所述计算规则的计算规则脚本发送至所述用户接口以获得用户反馈,并随之基于所述数据库中的与所述验证码相关联的校验值校验所述用户反馈的正确性。
在上面所公开的方案中,优选地,所述验证码是显示码。
在上面所公开的方案中,优选地,所述步骤(A2)进一步包括:在接收到验证码后,所述验证码输入键盘生成器根据所述验证码的内容动态地生成与所述验证码相关联的验证码输入键盘,其中,所述验证码输入键盘包括键盘按钮,并且所述验证码输入键盘包含所述键盘按钮的显示值和隐藏值,所述键盘按钮的显示值涵盖所述验证码的值,而所述键盘按钮的隐藏值以随机的方式被生成,且与每个键盘按钮一一对应。
在上面所公开的方案中,优选地,所述步骤(A2)进一步包括:所述验证码控制器获取与所述验证码输入键盘中的每个键盘按钮对应的隐藏值,并按照所述验证码的显示顺序将所述隐藏值分别放入数组A[1,…,n]中。
在上面所公开的方案中,优选地,所述计算规则包括加减乘除规则、混合运算规则、排列组合规则以及固定数字规则中的一个或多个。
在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:在将所述校验值存储在数据库中后,所述数据库创建校验值ID,以将校验值与该ID相绑定。
在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:所述验证码控制器将所述校验值ID连同所述验证码、所述与所述验证码相关联的验证码输入键盘以及用以实施所述计算规则的计算规则脚本发送至所述用户接口。
在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:在接收到所述校验值ID以及所述验证码、所述与所述验证码相关联的验证码输入键盘和用以实施所述计算规则的计算规则脚本后,所述用户接口向用户显示所述验证码的值和所述验证码输入键盘,并提示用户根据所述验证码的值以及其排序顺序经由所述验证码输入键盘输入验证码。
在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:在用户经由所述验证码输入键盘输入验证码时,所述用户接口按照用户点击键盘按钮的顺序选取与用户所点击的键盘按钮对应的隐藏值,并将所述隐藏值分别放入数组A[1,…,n]中,并随之运行所述计算规则脚本而计算与所接收的验证码相关联的校验值,随之将计算出的校验值连同接收到的校验值ID传送回所述验证码控制器。
在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:在接收到所述用户接口传送回的校验值以及校验值ID后,所述验证码控制器基于所述校验值ID查询所述数据库,以获取被预先存储在所述数据库中的与所述校验值ID相绑定的校验值,并随之比较所述用户接口传送回的校验值和被预先存储在所述数据库中的对应的校验值,如果两者匹配,则校验通过,否则,校验失败。
本发明所公开的验证码生成及校验方法具有以下优点:由于采用显示码和随机隐藏码相结合的方式,并且动态地生成计算规则。故具有增强的安全性,由此恶意用户难于破解和/或模拟。
附图说明
结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
图1是根据本发明的实施例的验证码生成及校验方法的流程图。
具体实施方式
图1是根据本发明的实施例的验证码生成及识别方法的流程图。如图1所示,本发明所公开的验证码生成及校验方法包括下列步骤:(A1)验证码控制器在接收到来自用户接口(例如浏览器、移动终端中的应用客户端等等)的验证码请求后调用验证码生成器生成验证码;(A2)所述验证码控制器将所生成的验证码传送至验证码输入键盘生成器以生成与所述验证码相关联的验证码输入键盘;(A3)所述验证码控制器调用验证码计算规则生成器动态地生成计算规则,并根据所生成的计算规则计算与所述验证码相关联的校验值,随之将所述校验值存储在数据库中;(A4)所述验证码控制器将所述验证码、所述与所述验证码相关联的验证码输入键盘以及用以实施所述计算规则的计算规则脚本发送至所述用户接口以获得用户反馈,并随之基于所述数据库中的与所述验证码相关联的校验值校验所述用户反馈的正确性。
优选地,在本发明所公开的验证码生成及校验方法中,所述验证码是显示码(即能够可视地向用户显示)。
优选地,在本发明所公开的验证码生成及校验方法中,所述步骤(A2)进一步包括:在接收到验证码后,所述验证码输入键盘生成器根据所述验证码的内容动态地生成与所述验证码相关联的验证码输入键盘,其中,所述验证码输入键盘包括键盘按钮,并且所述验证码输入键盘包含所述键盘按钮的显示值和隐藏值,所述键盘按钮的显示值涵盖所述验证码的值,而所述键盘按钮的隐藏值(即隐藏码,用户不可见)以随机的方式被生成,且与每个键盘按钮一一对应。
优选地,在本发明所公开的验证码生成及校验方法中,所述步骤(A2)进一步包括:所述验证码控制器获取与所述验证码输入键盘中的每个键盘按钮对应的隐藏值,并按照所述验证码的显示顺序将所述隐藏值分别放入数组A[1,…,n]中(即将隐藏值分别放入A[0]、A[1]、A[2]、A[3]、A[4]… A[n]中)。
优选地,在本发明所公开的验证码生成及校验方法中,所述计算规则包括加减乘除规则(例如A[0]+ A[1]*A[3]- A[4])、混合运算规则(例如A[0]*A[1]+A[3]-A[4]+随机数)、排列组合规则(例如A[0] A[4] A[3]A[1])以及固定数字规则(例如A[0] A[1] A[2]A[3]=1359)中的一个或多个。
优选地,在本发明所公开的验证码生成及校验方法中,所述步骤(A3)进一步包括:在将所述校验值存储在数据库中后,所述数据库创建校验值ID,以将校验值与该ID相绑定。
优选地,在本发明所公开的验证码生成及校验方法中,所述步骤(A3)进一步包括:所述验证码控制器将所述校验值ID连同所述验证码、所述与所述验证码相关联的验证码输入键盘以及用以实施所述计算规则的计算规则脚本发送至所述用户接口。
优选地,在本发明所公开的验证码生成及校验方法中,所述步骤(A3)进一步包括:在接收到所述校验值ID以及所述验证码、所述与所述验证码相关联的验证码输入键盘和用以实施所述计算规则的计算规则脚本后,所述用户接口向用户显示所述验证码的值和所述验证码输入键盘,并提示用户根据所述验证码的值以及其排序顺序经由所述验证码输入键盘输入验证码。
优选地,在本发明所公开的验证码生成及校验方法中,所述步骤(A3)进一步包括:在用户经由所述验证码输入键盘输入验证码时,所述用户接口按照用户点击键盘按钮的顺序选取与用户所点击的键盘按钮对应的隐藏值,并将所述隐藏值分别放入数组A[1,…,n]中(即将隐藏值分别放入A[0]、A[1]、A[2]、A[3]、A[4]… A[n]中),并随之运行所述计算规则脚本而计算与所接收的验证码相关联的校验值,随之将计算出的校验值连同接收到的校验值ID传送回所述验证码控制器。
优选地,在本发明所公开的验证码生成及校验方法中,所述步骤(A3)进一步包括:在接收到所述用户接口传送回的校验值以及校验值ID后,所述验证码控制器基于所述校验值ID查询所述数据库,以获取被预先存储在所述数据库中的与所述校验值ID相绑定的校验值,并随之比较所述用户接口传送回的校验值和被预先存储在所述数据库中的对应的校验值,如果两者匹配,则校验通过,否则,校验失败。
由上可见,本发明所公开的验证码生成及校验方法具有下列优点:由于采用显示码和随机隐藏码相结合的方式,并且动态地生成计算规则。故具有增强的安全性,由此恶意用户难于破解和/或模拟。
尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。
Claims (10)
1.一种验证码生成及校验方法,所述验证码生成及校验方法包括下列步骤:
(A1)验证码控制器在接收到来自用户接口的验证码请求后调用验证码生成器生成验证码;
(A2)所述验证码控制器将所生成的验证码传送至验证码输入键盘生成器以生成与所述验证码相关联的验证码输入键盘;
(A3)所述验证码控制器调用验证码计算规则生成器动态地生成计算规则,并根据所生成的计算规则计算与所述验证码相关联的校验值,随之将所述校验值存储在数据库中;
(A4)所述验证码控制器将所述验证码、所述与所述验证码相关联的验证码输入键盘以及用以实施所述计算规则的计算规则脚本发送至所述用户接口以获得用户反馈,并随之基于所述数据库中的与所述验证码相关联的校验值校验所述用户反馈的正确性。
2.根据权利要求1所述的验证码生成及校验方法,其特征在于,所述验证码是显示码。
3.根据权利要求2所述的验证码生成及校验方法,其特征在于,所述步骤(A2)进一步包括:在接收到验证码后,所述验证码输入键盘生成器根据所述验证码的内容动态地生成与所述验证码相关联的验证码输入键盘,其中,所述验证码输入键盘包括键盘按钮,并且所述验证码输入键盘包含所述键盘按钮的显示值和隐藏值,所述键盘按钮的显示值涵盖所述验证码的值,而所述键盘按钮的隐藏值以随机的方式被生成,且与每个键盘按钮一一对应。
4.根据权利要求3所述的验证码生成及校验方法,其特征在于,所述步骤(A2)进一步包括:所述验证码控制器获取与所述验证码输入键盘中的每个键盘按钮对应的隐藏值,并按照所述验证码的显示顺序将所述隐藏值分别放入数组A[1,…,n]中。
5.根据权利要求4所述的验证码生成及校验方法,其特征在于,所述计算规则包括加减乘除规则、混合运算规则、排列组合规则以及固定数字规则中的一个或多个。
6.根据权利要求5所述的验证码生成及校验方法,其特征在于,所述步骤(A3)进一步包括:在将所述校验值存储在数据库中后,所述数据库创建校验值ID,以将校验值与该ID相绑定。
7.根据权利要求6所述的验证码生成及校验方法,其特征在于,所述步骤(A3)进一步包括:所述验证码控制器将所述校验值ID连同所述验证码、所述与所述验证码相关联的验证码输入键盘以及用以实施所述计算规则的计算规则脚本发送至所述用户接口。
8.根据权利要求7所述的验证码生成及校验方法,其特征在于,所述步骤(A3)进一步包括:在接收到所述校验值ID以及所述验证码、所述与所述验证码相关联的验证码输入键盘和用以实施所述计算规则的计算规则脚本后,所述用户接口向用户显示所述验证码的值和所述验证码输入键盘,并提示用户根据所述验证码的值以及其排序顺序经由所述验证码输入键盘输入验证码。
9.根据权利要求8所述的验证码生成及校验方法,其特征在于,所述步骤(A3)进一步包括:在用户经由所述验证码输入键盘输入验证码时,所述用户接口按照用户点击键盘按钮的顺序选取与用户所点击的键盘按钮对应的隐藏值,并将所述隐藏值分别放入数组A[1,…,n]中,并随之运行所述计算规则脚本而计算与所接收的验证码相关联的校验值,随之将计算出的校验值连同接收到的校验值ID传送回所述验证码控制器。
10.根据权利要求9所述的验证码生成及校验方法,其特征在于,所述步骤(A3)进一步包括:在接收到所述用户接口传送回的校验值以及校验值ID后,所述验证码控制器基于所述校验值ID查询所述数据库,以获取被预先存储在所述数据库中的与所述校验值ID相绑定的校验值,并随之比较所述用户接口传送回的校验值和被预先存储在所述数据库中的对应的校验值,如果两者匹配,则校验通过,否则,校验失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610944668.0A CN106570363B (zh) | 2016-10-26 | 2016-10-26 | 验证码生成及校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610944668.0A CN106570363B (zh) | 2016-10-26 | 2016-10-26 | 验证码生成及校验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106570363A true CN106570363A (zh) | 2017-04-19 |
CN106570363B CN106570363B (zh) | 2020-04-21 |
Family
ID=58536554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610944668.0A Active CN106570363B (zh) | 2016-10-26 | 2016-10-26 | 验证码生成及校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106570363B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454095A (zh) * | 2017-08-23 | 2017-12-08 | 深圳市优品壹电子有限公司 | 一种防止机器登录的方法及装置 |
CN111385360A (zh) * | 2020-03-05 | 2020-07-07 | 深信服科技股份有限公司 | 终端设备的识别方法、装置及计算机可读存储介质 |
CN112364318A (zh) * | 2020-11-24 | 2021-02-12 | 北京海联捷讯科技股份有限公司 | 一种运维大数据安全管理的方法、系统、终端和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794365A (zh) * | 2010-03-23 | 2010-08-04 | 中兴通讯股份有限公司 | 在移动终端上安全输入信息的方法及移动终端 |
CN101923619A (zh) * | 2009-06-15 | 2010-12-22 | 鸿富锦精密工业(深圳)有限公司 | 密码按键伪装系统及方法 |
US20120243678A1 (en) * | 2011-03-21 | 2012-09-27 | Sony Ericsson Mobile Communication Ab | Data protection using distributed security key |
CN103607274A (zh) * | 2013-10-22 | 2014-02-26 | 周灿旭 | 一种以静态密码为源生成动态密码的方法 |
CN104618359A (zh) * | 2015-01-22 | 2015-05-13 | 成都西山居世游科技有限公司 | 一种用户登录过程安全加固方法及系统 |
CN105704095A (zh) * | 2014-11-26 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 身份验证方法和装置 |
-
2016
- 2016-10-26 CN CN201610944668.0A patent/CN106570363B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923619A (zh) * | 2009-06-15 | 2010-12-22 | 鸿富锦精密工业(深圳)有限公司 | 密码按键伪装系统及方法 |
CN101794365A (zh) * | 2010-03-23 | 2010-08-04 | 中兴通讯股份有限公司 | 在移动终端上安全输入信息的方法及移动终端 |
US20120243678A1 (en) * | 2011-03-21 | 2012-09-27 | Sony Ericsson Mobile Communication Ab | Data protection using distributed security key |
CN103607274A (zh) * | 2013-10-22 | 2014-02-26 | 周灿旭 | 一种以静态密码为源生成动态密码的方法 |
CN105704095A (zh) * | 2014-11-26 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 身份验证方法和装置 |
CN104618359A (zh) * | 2015-01-22 | 2015-05-13 | 成都西山居世游科技有限公司 | 一种用户登录过程安全加固方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454095A (zh) * | 2017-08-23 | 2017-12-08 | 深圳市优品壹电子有限公司 | 一种防止机器登录的方法及装置 |
CN111385360A (zh) * | 2020-03-05 | 2020-07-07 | 深信服科技股份有限公司 | 终端设备的识别方法、装置及计算机可读存储介质 |
CN111385360B (zh) * | 2020-03-05 | 2023-09-05 | 深信服科技股份有限公司 | 终端设备的识别方法、装置及计算机可读存储介质 |
CN112364318A (zh) * | 2020-11-24 | 2021-02-12 | 北京海联捷讯科技股份有限公司 | 一种运维大数据安全管理的方法、系统、终端和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106570363B (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103929402B (zh) | 敏感操作验证方法、终端设备、服务器和验证系统 | |
CN104009977B (zh) | 一种信息保护的方法和系统 | |
CN102932332B (zh) | 数据校验系统和数据校验方法 | |
CN102132304B (zh) | 利用数字身份的表单填充以及自动口令生成 | |
US8438063B2 (en) | Mobile payment using picture messaging | |
CN109598149B (zh) | 业务处理的方法和装置 | |
CN108183924A (zh) | 一种登录验证方法及终端设备 | |
CN107395614A (zh) | 单点登录方法及系统 | |
CN101238475B (zh) | 软件应用安全方法和系统 | |
CN109460966A (zh) | 基于请求方类别的合同签订方法、装置及终端设备 | |
CN106327246B (zh) | 业务处理方法和装置 | |
CN109561085A (zh) | 一种基于设备识别码的身份验证方法、服务器及介质 | |
CN103973711B (zh) | 一种验证方法及装置 | |
CN103023638A (zh) | 一种基于移动终端的身份验证方法及装置 | |
CN103561115B (zh) | 实时获取电子码的方法、开放平台及系统 | |
CN106603571A (zh) | 一种安全认证方法及装置 | |
CN106570363A (zh) | 验证码生成及校验方法 | |
CN104883351A (zh) | 多因子认证方法和装置 | |
CN106204035A (zh) | 离线身份认证方法、智能终端及系统 | |
CN105162604A (zh) | 一种基于特征图像识别的验证方法、服务器及系统 | |
CN104967553A (zh) | 消息交互方法和相关装置及通信系统 | |
CN108337211A (zh) | 信息验证的方法、装置、电子设备和可读存储介质 | |
CN107318104A (zh) | 账号注册方法、装置、计算机设备和介质 | |
CN111091430B (zh) | 一种开票二维码处理方法及系统 | |
CN109598510A (zh) | 语音指令的处理方法、装置、电子设备及可读存储介质 |
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 |