CN108833338B - 动态验证码的分配方法及计算机可读存储介质 - Google Patents

动态验证码的分配方法及计算机可读存储介质 Download PDF

Info

Publication number
CN108833338B
CN108833338B CN201810364984.XA CN201810364984A CN108833338B CN 108833338 B CN108833338 B CN 108833338B CN 201810364984 A CN201810364984 A CN 201810364984A CN 108833338 B CN108833338 B CN 108833338B
Authority
CN
China
Prior art keywords
verification code
digital
mixed
verification
block
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.)
Active
Application number
CN201810364984.XA
Other languages
English (en)
Other versions
CN108833338A (zh
Inventor
刘德建
刘俊
王国栋
方振华
郭玉湖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Tianquan Educational Technology Ltd
Original Assignee
Fujian Tianquan Educational Technology Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Tianquan Educational Technology Ltd filed Critical Fujian Tianquan Educational Technology Ltd
Priority to CN201810364984.XA priority Critical patent/CN108833338B/zh
Publication of CN108833338A publication Critical patent/CN108833338A/zh
Application granted granted Critical
Publication of CN108833338B publication Critical patent/CN108833338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种动态验证码的分配方法及计算机可读存储介质,方法包括:将数字验证码按照位数进行分块,得到对应不同位数的第一验证码块,并分别标识各第一验证码块的可分配数量;当接收到验证码分配请求时,从位数最少且可分配数量不为零的一第一验证码块中随机获取未被锁定的一数字验证码;锁定所述一数字验证码,并设置所述一数字验证码的有效时间及其对应的扩展信息;将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一。本发明可提高用户使用验证码的便捷性,从而提高用户体验。

Description

动态验证码的分配方法及计算机可读存储介质
技术领域
本发明涉及验证码技术领域,尤其涉及一种动态验证码的分配方法及计算机可读存储介质。
背景技术
实际在线应用中,常常遇到一个展示体验的终端,屏幕上显示一串验证码,提示人们使用手机去连接终端进行操作,而国外使用环境和国内二维码的普及不同,仍然习惯于输入验证码。现有技术中,生成的验证码多是随机的4~6个字符,并和终端的信息对应存储起来,并设定验证码有效时间。但是,由于手机键盘屏幕都较小,输入字符并不如输入纯数字那么方便,4位长度随机为纯数字的概率大概为5‰,6位长度的随机校验码纯数字概率为4‰,用户体验操作便捷性大大的降低。
发明内容
本发明所要解决的技术问题是:提供一种动态验证码的分配方法及计算机可读存储介质,提高用户使用验证码的便捷性,从而提高用户体验。
为了解决上述技术问题,本发明采用的技术方案为:一种动态验证码的分配方法,包括:
将数字验证码按照位数进行分块,得到对应不同位数的第一验证码块,并分别标识各第一验证码块的可分配数量;
当接收到验证码分配请求时,从位数最少且可分配数量不为零的一第一验证码块中随机获取未被锁定的一数字验证码;
锁定所述一数字验证码,并设置所述一数字验证码的有效时间及其对应的扩展信息;
将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一。
本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
将数字验证码按照位数进行分块,得到对应不同位数的第一验证码块,并分别标识各第一验证码块的可分配数量;
当接收到验证码分配请求时,从位数最少且可分配数量不为零的一第一验证码块中随机获取未被锁定的一数字验证码;
锁定所述一数字验证码,并设置所述一数字验证码的有效时间及其对应的扩展信息;
将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一。
本发明的有益效果在于:通过对不同位数的纯数字验证码进行分块,当需分配验证码时,优先从位数最少且还有可分配的验证码的验证码块中获取验证码来进行分配,保证客户端接收到的验证码优先为位数少的数字验证码,方便用户进行输入,提高用户使用验证码的便捷性,从而提高用户体验。
附图说明
图1为本发明的一种动态验证码的分配方法的流程图;
图2为本发明实施例一的动态验证码的分配流程示意图;
图3为本发明实施例一的动态验证码的校验流程示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明最关键的构思在于:使用数字优先策略进行验证码的分配,仅当数字优先策略无法再分配验证码时,再通过字符混合策略进行验证码的分配。
请参阅图1,一种动态验证码的分配方法,包括:
将数字验证码按照位数进行分块,得到对应不同位数的第一验证码块,并分别标识各第一验证码块的可分配数量;
当接收到验证码分配请求时,从位数最少且可分配数量不为零的一第一验证码块中随机获取未被锁定的一数字验证码;
锁定所述一数字验证码,并设置所述一数字验证码的有效时间及其对应的扩展信息;
将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一。
从上述描述可知,本发明的有益效果在于:通过数字优先策略,保证客户端接收到的验证码优先为位数少的数字验证码,方便用户进行输入,提高用户使用验证码的便捷性,从而提高用户体验。
进一步地,还包括:
当接收到验证码校验请求且所述验证码校验请求中的验证码为数字验证码,则根据所述数字验证码的位数,在对应的第一验证码块中判断所述数字验证码是否被锁定以及是否超过有效时间;
若所述数字验证码已被锁定且未超过有效时间,则返回所述数字验证码对应的扩展信息;
解锁所述数字述验证码,并将所述对应的第一验证码块的可分配数量加一。
由上述描述可知,当分配出去的数字验证码校验成功后,解锁该数字验证码以便后续循环使用。
进一步地,还包括:
建立对应不同位数的第二验证码块;
当接收到验证码分配请求时,若各第一验证码块的可分配数量均为零,则生成至少包含一位字母的混合验证码;
根据所述混合验证码的位数,判断对应的第二验证码块中是否已存在所述混合验证码;
若已存在,则重新生成混合验证码;
若未存在,则将所述混合验证码存储至所述对应的第二验证码块中,并设置所述混合验证码的有效时间及其对应的扩展信息;
将所述混合验证码发送至客户端。
由上述描述可知,当数字验证码均被分配出去时,则临时生成至少包含一个字母的混合验证码进行分配,即使有大量客户端同时请求验证码,也可以很好地满足需求。
进一步地,还包括:
若接收到验证码校验请求中的验证码为混合验证码,则根据所述混合验证码的位数,判断对应的第二验证码块中是否存在所述混合验证码且未超过有效时间;
若所述对应的第二验证码块中存在所述混合验证码且未超过有效时间,则返回所述混合验证码对应的扩展信息,并在所述对应的第二验证码块中删除所述混合验证码。
由上述描述可知,当分配出去的混合验证码校验成功后,则在对应的第二验证码块中进行删除,以便后续循环使用。
进一步地,所述将所述混合验证码存储至所述对应的第二验证码块中,并设置所述混合验证码的有效时间及其对应的扩展信息之后,进一步包括:
若超过所述混合验证码的有效时间,则在所述对应的第二验证码块中删除所述混合验证码。
进一步地,所述将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一之后,进一步包括:
若超过所述一数字验证码的有效时间,则将所述一数字验证码的占用标识设为否,并将所述一第一验证码块的可分配数量加一。
由上述描述可知,通过对超过有效时间的验证码进行回收,保障验证码的循环使用。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
将数字验证码按照位数进行分块,得到对应不同位数的第一验证码块,并分别标识各第一验证码块的可分配数量;
当接收到验证码分配请求时,从位数最少且可分配数量不为零的一第一验证码块中随机获取未被锁定的一数字验证码;
锁定所述一数字验证码,并设置所述一数字验证码的有效时间及其对应的扩展信息;
将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一。
进一步地,还包括:
当接收到验证码校验请求且所述验证码校验请求中的验证码为数字验证码,则根据所述数字验证码的位数,在对应的第一验证码块中判断所述数字验证码是否被锁定以及是否超过有效时间;
若所述数字验证码已被锁定且未超过有效时间,则返回所述数字验证码对应的扩展信息;
解锁所述数字述验证码,并将所述对应的第一验证码块的可分配数量加一。
进一步地,还包括:
建立对应不同位数的第二验证码块;
当接收到验证码分配请求时,若各第一验证码块的可分配数量均为零,则生成至少包含一位字母的混合验证码;
根据所述混合验证码的位数,判断对应的第二验证码块中是否已存在所述混合验证码;
若已存在,则重新生成混合验证码;
若未存在,则将所述混合验证码存储至所述对应的第二验证码块中,并设置所述混合验证码的有效时间及其对应的扩展信息;
将所述混合验证码发送至客户端。
进一步地,还包括:
若接收到验证码校验请求中的验证码为混合验证码,则根据所述混合验证码的位数,判断对应的第二验证码块中是否存在所述混合验证码且未超过有效时间;
若所述对应的第二验证码块中存在所述混合验证码且未超过有效时间,则返回所述混合验证码对应的扩展信息,并在所述对应的第二验证码块中删除所述混合验证码。
进一步地,所述将所述混合验证码存储至所述对应的第二验证码块中,并设置所述混合验证码的有效时间及其对应的扩展信息之后,进一步包括:
若超过所述混合验证码的有效时间,则在所述对应的第二验证码块中删除所述混合验证码。
进一步地,所述将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一之后,进一步包括:
若超过所述一数字验证码的有效时间,则将所述一数字验证码的占用标识设为否,并将所述一第一验证码块的可分配数量加一。
实施例一
请参照图2-3,本发明的实施例一为:一种动态验证码的分配方法,本方法主要包括两个部分,分别为动态验证码的分配流程和校验流程。
如图2所示,动态验证码的分配流程包括如下步骤:
S101:将数字验证码按照位数进行分块,得到对应不同位数的第一验证码块,并分别标识各第一验证码块的可分配数量。进一步地,还可为每个第一验证码块分配一个编号,并标识优先顺序以及可分配数量,形成一个数字优先链表。
例如,假设验证码的位数为4-6位,则将四位的数字验证码(0000-9999)分为一块(假设为块A),并标识该验证码块的可分配数量为一万;五位的数字验证码(00000-99999)分为一块(假设为块B),并标识该验证码块的可分配数量为十万;六位的数字验证码(000000-999999)分为一块(假设为块C),并标识该验证码块的可分配数量为一百万。同时,设定三个块的优先顺序为块A-块B-块C,即验证码的位数长度越小,越优先分配。
S201:建立对应不同位数的第二验证码块。例如,假设验证码的位数为4-6位,则建立三个空的第二验证码块(假设为块D、块E、块F),分别用于后续存储已分配出去的四位、五位、六位的混合验证码,即既包含数字又包含字母的验证码。
S102:当接收到验证码分配请求时,判断各第一验证码块的可分配数量是否均为零,若否,则执行步骤S103,若是,则执行步骤S202。
S103:从位数最少且可分配数量不为零的一第一验证码块中随机获取未被锁定的一数字验证码。具体地,可为每个数字验证码设置一个占用标识,初始化为否;当占用标识为否时,表示未被锁定,即未被分配出去;当占用标识为是时,表示已被锁定,即已被分配出去。该步骤即从分配数量不为零且位数最少的一个第一验证码块中随机获取一个占用标识为否的数字验证码。例如,假设块A、块B、块C的可分配数量均不为零,则优先从块A中获取数字验证码。也就是说,数字验证码的长度位数越小,越优先分配。
S104:锁定所述一数字验证码,并设置所述一数字验证码的有效时间及其对应的扩展信息;即将所述一数字验证码的占用标识设为是,并设置该数字验证码的有效时间,即在多长时间内有效,同时设置该数字验证码的扩展信息,扩展信息存储的是各个业务场景的业务数据,不同业务场景的业务数据都具有差异化需求;例如,对于移动端请求连接PC端的场景,则扩展信息可能存储的是PC端的IP地址和端口号。通过对数字验证码进行锁定,确保一个数字验证码在生效时间内只能被使用一次。
S105:将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一;即将该数字验证码发送给发送验证码分配请求的客户端,同时将该数字验证码所属的第一验证码块的可分配数量减一。
S202:生成至少包含一位字母的混合验证码。具体地,以验证码的最后一位来确保至少有一个字母;以生成四位的混合验证码为例,前三位的每一位都分别从26个字母和10个数字中随机选取一个字符,若前三位已经存在字母,则最后一位也从26个字母和10个数字中随机选取一个字符,若前三位都是数字,则最后一位从26个字母中随机选取一个字母。可有效防止低概率随机生成纯数字验证码,保证混合验证码中至少有一位字母。
进一步地,每次需要生成混合验证码时,优先生成最少位数的混合验证码,即优先生成N位的混合验证码,N为最少位数,若在对应的第二验证码块中已存在,则仍重新生成一个N位的混合验证码,若连续预设次数所生成的混合验证码均已被分配出去,则重新生成混合验证码时,生成一个位数比之前多一位的混合验证码,即令N=N+1,再生成一个N位的混合验证码,以此类推。
例如,先生成一个四位的混合验证码,若该混合验证码在块D中已存在,则再重新生成一个四位的混合验证码,若连续生成的三个混合验证码在块D中均已存在,则重新生成一个五位的混合验证码,以此类推。若连续生成的三个六位的混合验证码在块F中均已存在,则可继续重新生成六位的混合验证码,也可返回验证码请求失败的消息给客户端。
S203:根据所述混合验证码的位数,判断对应的第二验证码块中是否已存在所述混合验证码,若是,则重新生成混合验证码,即执行步骤S202,若否,则执行步骤S204。
S204:将所述混合验证码存储至所述对应的第二验证码块中,并设置所述混合验证码的有效时间及其对应的扩展信息。
S205:将所述混合验证码发送至客户端。
如图3所示,动态验证码的校验流程包括如下步骤:
S106:当接收到验证码校验请求时,判断接收到验证码校验请求中的验证码是否为数字验证码,若是,则执行步骤S107,若否,则表示验证码校验请求中的验证码为混合验证码,执行步骤S206。
S107:根据所述数字验证码的位数,在对应的第一验证码块中判断所述数字验证码是否被锁定以及是否未超过有效时间,即判断所述数字验证码的占用标识是否为是且未超过该数字验证码的有效时间,若是,即占用标识为是且未超过有效时间,则执行步骤S108,若否,即表示校验失败,则抛错不做任何处理。
S108:返回所述数字验证码对应的扩展信息至客户端;进一步地,也可同时返回校验码至客户端。
S109:解锁所述数字述验证码,并将所述对应的第一验证码块的可分配数量加一;即将所述数字述验证码的占用标识设为否,并将该数字验证码所属的第一验证码块的可分配数量加一。
S206:根据所述混合验证码的位数,判断对应的第二验证码块中是否存在所述混合验证码且未超过有效时间,若是,则执行步骤S207,若否,即表示校验失败,则抛错不做任何处理。
S207:返回所述混合验证码对应的扩展信息,并在所述对应的第二验证码块中删除所述混合验证码。
本实施例中的动态验证码的生成、分配是按照数字优先策略进行的,当接收到客户端的验证码分配请求时,优先分配数字验证码,且从低位数到高位数进行分配,仅当数字验证码都被分配出去时,才采用字符混合策略生成混合验证码,即通过同时使用数字和字母组合生成混合验证码,并进行分配。
进一步地,本实施例中,还设置了超时处理机制,校验码被分配出去后,如果在有效时间内未被校验成功,一旦超过有效时间,则会被回收。
具体地,在步骤S105之后,还包括:
若超过所述一数字验证码的有效时间,则将所述一数字验证码的占用标识设为否,并将所述一第一验证码块的可分配数量加一。
在步骤S205之后,还包括:
若超过所述混合验证码的有效时间,则在所述对应的第二验证码块中删除所述混合验证码。
优选地,所述有效时间为5分钟。通过设置超时处理机制,保障验证码的正常使用和循环使用。
本实施例能够保证在一定时间范围内,可以同时保障百万台客户端获取的是4-6位的数字验证码,提高用户使用动态验证码的体验性。若在一定时间范围内超过百万台的客户端同时请求验证码,也可通过生成混合验证码来满足需求。
实施例二
本实施例是上述实施例的一具体应用场景。
1、老师上课打开电脑里的PPT应用软件上课,并想通过手机PPT App连接控制应用软件;
2.、老师打开电脑PPT软件的手机连接匹配功能,PPT软件向服务端请求验证码,同步将电脑PPT的信息提交给服务端;
3、服务端收到终端请求后,通过数字优先策略或字符混合策略生成分配到了验证码,并将终端提交的信息存储在验证码对应的扩展信息中,并将验证码返回给应用终端展示;
4、老师打开手机PPT App输入验证码,验证码校验通过后,根据接收到的扩展信息中的电脑的IP地址和端口号,连接上电脑PPT软件,即可用手机进行控制。
实施例三
本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
将数字验证码按照位数进行分块,得到对应不同位数的第一验证码块,并分别标识各第一验证码块的可分配数量;
当接收到验证码分配请求时,从位数最少且可分配数量不为零的一第一验证码块中随机获取未被锁定的一数字验证码;
锁定所述一数字验证码,并设置所述一数字验证码的有效时间及其对应的扩展信息;
将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一。
进一步地,还包括:
当接收到验证码校验请求且所述验证码校验请求中的验证码为数字验证码,则根据所述数字验证码的位数,在对应的第一验证码块中判断所述数字验证码是否被锁定以及是否超过有效时间;
若所述数字验证码已被锁定且未超过有效时间,则返回所述数字验证码对应的扩展信息;
解锁所述数字述验证码,并将所述对应的第一验证码块的可分配数量加一。
进一步地,还包括:
建立对应不同位数的第二验证码块;
当接收到验证码分配请求时,若各第一验证码块的可分配数量均为零,则生成至少包含一位字母的混合验证码;
根据所述混合验证码的位数,判断对应的第二验证码块中是否已存在所述混合验证码;
若已存在,则重新生成混合验证码;
若未存在,则将所述混合验证码存储至所述对应的第二验证码块中,并设置所述混合验证码的有效时间及其对应的扩展信息;
将所述混合验证码发送至客户端。
进一步地,还包括:
若接收到验证码校验请求中的验证码为混合验证码,则根据所述混合验证码的位数,判断对应的第二验证码块中是否存在所述混合验证码且未超过有效时间;
若所述对应的第二验证码块中存在所述混合验证码且未超过有效时间,则返回所述混合验证码对应的扩展信息,并在所述对应的第二验证码块中删除所述混合验证码。
进一步地,所述将所述混合验证码存储至所述对应的第二验证码块中,并设置所述混合验证码的有效时间及其对应的扩展信息之后,进一步包括:
若超过所述混合验证码的有效时间,则在所述对应的第二验证码块中删除所述混合验证码。
进一步地,所述将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一之后,进一步包括:
若超过所述一数字验证码的有效时间,则将所述一数字验证码的占用标识设为否,并将所述一第一验证码块的可分配数量加一。
综上所述,本发明提供的一种动态验证码的分配方法及计算机可读存储介质,通过对不同位数的纯数字验证码进行分块,当需分配验证码时,优先从位数最少且还有可分配的验证码的验证码块中获取验证码来进行分配,保证客户端接收到的验证码优先为位数少的数字验证码,方便用户进行输入,提高用户使用验证码的便捷性,从而提高用户体验。当数字验证码均被分配出去时,则临时生成至少包含一个字母的混合验证码进行分配,即使有大量客户端同时请求验证码,也可以很好地满足需求。通过对超过有效时间的验证码进行回收,保障验证码的循环使用。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种动态验证码的分配方法,其特征在于,包括:
将数字验证码按照位数进行分块,得到对应不同位数的第一验证码块,并分别标识各第一验证码块的可分配数量;
当接收到验证码分配请求时,从位数最少且可分配数量不为零的一第一验证码块中随机获取未被锁定的一数字验证码;
锁定所述一数字验证码,并设置所述一数字验证码的有效时间及其对应的扩展信息,扩展信息存储的是各个业务场景的业务数据;
将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一。
2.根据权利要求1所述的动态验证码的分配方法,其特征在于,还包括:
当接收到验证码校验请求且所述验证码校验请求中的验证码为数字验证码,则根据所述数字验证码的位数,在对应的第一验证码块中判断所述数字验证码是否被锁定以及是否超过有效时间;
若所述数字验证码已被锁定且未超过有效时间,则返回所述数字验证码对应的扩展信息;
解锁所述数字述验证码,并将所述对应的第一验证码块的可分配数量加一。
3.根据权利要求1所述的动态验证码的分配方法,其特征在于,还包括:
建立对应不同位数的第二验证码块;
当接收到验证码分配请求时,若各第一验证码块的可分配数量均为零,则生成至少包含一位字母的混合验证码;
根据所述混合验证码的位数,判断对应的第二验证码块中是否已存在所述混合验证码;
若已存在,则重新生成混合验证码;
若未存在,则将所述混合验证码存储至所述对应的第二验证码块中,并设置所述混合验证码的有效时间及其对应的扩展信息;
将所述混合验证码发送至客户端。
4.根据权利要求3所述的动态验证码的分配方法,其特征在于,还包括:
若接收到验证码校验请求中的验证码为混合验证码,则根据所述混合验证码的位数,判断对应的第二验证码块中是否存在所述混合验证码且未超过有效时间;
若所述对应的第二验证码块中存在所述混合验证码且未超过有效时间,则返回所述混合验证码对应的扩展信息,并在所述对应的第二验证码块中删除所述混合验证码。
5.根据权利要求3所述的动态验证码的分配方法,其特征在于,所述将所述混合验证码存储至所述对应的第二验证码块中,并设置所述混合验证码的有效时间及其对应的扩展信息之后,进一步包括:
若超过所述混合验证码的有效时间,则在所述对应的第二验证码块中删除所述混合验证码。
6.根据权利要求1所述的动态验证码的分配方法,其特征在于,所述将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一之后,进一步包括:
若超过所述一数字验证码的有效时间,则将所述一数字验证码的占用标识设为否,并将所述一第一验证码块的可分配数量加一。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现以下步骤:
将数字验证码按照位数进行分块,得到对应不同位数的第一验证码块,并分别标识各第一验证码块的可分配数量;
当接收到验证码分配请求时,从位数最少且可分配数量不为零的一第一验证码块中随机获取未被锁定的一数字验证码;
锁定所述一数字验证码,并设置所述一数字验证码的有效时间及其对应的扩展信息,扩展信息存储的是各个业务场景的业务数据;
将所述一数字验证码发送至客户端,并将所述一第一验证码块的可分配数量减一。
8.根据权利要求7所述的计算机可读存储介质,其特征在于,所述程序被处理器执行时还实现以下步骤:
当接收到验证码校验请求且所述验证码校验请求中的验证码为数字验证码,则根据所述数字验证码的位数,在对应的第一验证码块中判断所述数字验证码是否被锁定以及是否超过有效时间;
若所述数字验证码已被锁定且未超过有效时间,则返回所述数字验证码对应的扩展信息;
解锁所述数字述验证码,并将所述对应的第一验证码块的可分配数量加一。
9.根据权利要求7所述的计算机可读存储介质,其特征在于,所述程序被处理器执行时还实现以下步骤:
建立对应不同位数的第二验证码块;
当接收到验证码分配请求时,若各第一验证码块的可分配数量均为零,则生成至少包含一位字母的混合验证码;
根据所述混合验证码的位数,判断对应的第二验证码块中是否已存在所述混合验证码;
若已存在,则重新生成混合验证码;
若未存在,则将所述混合验证码存储至所述对应的第二验证码块中,并设置所述混合验证码的有效时间及其对应的扩展信息;
将所述混合验证码发送至客户端。
10.根据权利要求9所述的计算机可读存储介质,其特征在于,所述程序被处理器执行时还实现以下步骤:
若接收到验证码校验请求中的验证码为混合验证码,则根据所述混合验证码的位数,判断对应的第二验证码块中是否存在所述混合验证码且未超过有效时间;
若所述对应的第二验证码块中存在所述混合验证码且未超过有效时间,则返回所述混合验证码对应的扩展信息,并在所述对应的第二验证码块中删除所述混合验证码。
CN201810364984.XA 2018-04-23 2018-04-23 动态验证码的分配方法及计算机可读存储介质 Active CN108833338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810364984.XA CN108833338B (zh) 2018-04-23 2018-04-23 动态验证码的分配方法及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810364984.XA CN108833338B (zh) 2018-04-23 2018-04-23 动态验证码的分配方法及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN108833338A CN108833338A (zh) 2018-11-16
CN108833338B true CN108833338B (zh) 2020-09-22

Family

ID=64154587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810364984.XA Active CN108833338B (zh) 2018-04-23 2018-04-23 动态验证码的分配方法及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108833338B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788151B2 (en) * 2007-06-25 2010-08-31 Mfoundry, Inc. Systems and methods for accessing a secure electronic environment with a mobile device
CN103812854A (zh) * 2013-08-19 2014-05-21 深圳光启创新技术有限公司 身份认证系统、装置、方法以及身份认证请求装置
CN104202345A (zh) * 2014-09-28 2014-12-10 北京奇虎科技有限公司 验证码生成方法、装置及系统
CN105337938A (zh) * 2014-07-28 2016-02-17 阿里巴巴集团控股有限公司 一种合法性验证方法及装置
CN106209732A (zh) * 2015-04-30 2016-12-07 阿里巴巴集团控股有限公司 一种验证码的提供方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296245B2 (en) * 2008-01-03 2012-10-23 Kount Inc. Method and system for creation and validation of anonymous digital credentials

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788151B2 (en) * 2007-06-25 2010-08-31 Mfoundry, Inc. Systems and methods for accessing a secure electronic environment with a mobile device
CN103812854A (zh) * 2013-08-19 2014-05-21 深圳光启创新技术有限公司 身份认证系统、装置、方法以及身份认证请求装置
CN105337938A (zh) * 2014-07-28 2016-02-17 阿里巴巴集团控股有限公司 一种合法性验证方法及装置
CN104202345A (zh) * 2014-09-28 2014-12-10 北京奇虎科技有限公司 验证码生成方法、装置及系统
CN106209732A (zh) * 2015-04-30 2016-12-07 阿里巴巴集团控股有限公司 一种验证码的提供方法及装置

Also Published As

Publication number Publication date
CN108833338A (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
US20030110381A1 (en) One-time logon method for distributed computing systems
CN1906599A (zh) 用于应用认证的系统和方法
CN113223210B (zh) 电子锁的离线控制方法、离线控制装置及终端设备
CN109191649B (zh) 一种智能门锁控制权限分享的方法及装置
US20130262866A1 (en) Large-scale data processing cloud computing system
CN111177690B (zh) 一种二维码扫码登录方法及装置
CN110225039B (zh) 权限模型获取、鉴权方法、网关、服务器以及存储介质
CN110602216A (zh) 多终端使用单账号的方法、装置、云服务器及存储介质
CN110516465B (zh) 资源地址的管理方法、装置、设备及计算机可读存储介质
CN112529586B (zh) 交易信息管理方法、装置、设备及存储介质
CN114363881A (zh) 一种ip地址的分配方法、装置、设备及介质
CN108540552B (zh) 设备互连方法、装置、系统、设备和存储介质
CN113094334A (zh) 基于分布式存储的数字服务方法、装置、设备及储存介质
CN108833338B (zh) 动态验证码的分配方法及计算机可读存储介质
CN111163186A (zh) 一种id生成方法、装置、设备和存储介质
CN113343042A (zh) 数据分片存储方法、装置、电子设备及存储介质
CN113765650A (zh) 数据加密、解密方法、装置、电子设备及存储介质
US20060136738A1 (en) System and method for password validation
CN110912703A (zh) 一种基于网络安全的多级密钥管理方法、装置及系统
CN111045725A (zh) 代码管理系统的控制方法、装置及存储介质
CN107454062A (zh) 防篡改方法、信息更新方法、客户端、服务器和处理设备
CN112579566B (zh) 分布式id的生成方法及装置
CN114117466A (zh) 一种密码管理方法、电子设备和计算机可读存储介质
CN113255012A (zh) 乘车码的管理方法、装置、设备及存储介质
CN118351617A (zh) 一种基于otc池的锁具控制方法和系统

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