CN116156498A - 一种验证码处理方法、装置、存储介质及设备 - Google Patents
一种验证码处理方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN116156498A CN116156498A CN202211717203.3A CN202211717203A CN116156498A CN 116156498 A CN116156498 A CN 116156498A CN 202211717203 A CN202211717203 A CN 202211717203A CN 116156498 A CN116156498 A CN 116156498A
- Authority
- CN
- China
- Prior art keywords
- verification code
- verification
- mobile phone
- phone number
- time
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/61—Time-dependent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供一种验证码处理方法、装置、存储介质及设备,该方法中,在验证码生成阶段,获取待验证端的手机号码和系统时间,根据该手机号码和系统时间生成第一验证码,在验证码验证阶段,根据手机号码、当前时间和验证码有效期,基于相同的验证码生成算法生成一系列验证码,依次和待验证端输入的第二验证码进行比对,基于比对结果判定该待验证端是否验证通过。这样,通过将验证码生成与手机号码、时间建立关联,在对验证码进行验证时使用手机号和有效期内的时间重新生成验证码来与用户输入的验证码进行比对,从而减少对存储的依赖,解决了存储服务出现故障时短信验证功能不可用的问题。
Description
技术领域
本申请涉及信息安全认证技术领域,具体而言,涉及一种验证码处理方法、装置、存储介质及设备。
背景技术
短信验证码是按照某种算法生成的一个数字序列,手机通过短信验证码完成登录或注册操作是目前广泛使用的验证方式,可应用于订单支付、银行帐号安全保护等信息安全认证领域。
常规的短信验证码实现方式一般是用户输入手机号,点击获取验证码,之后服务端程序生成验证码,存储验证码和手机号的映射关系,向手机号发送验证码信息,然后用户收到短信,输入验证码,发送验证请求,而服务端比对用户输入的验证码与存储的验证码是否一致,若一致则验证通过,若不一致则验证失败。这种方式依赖存储,当存储服务故障时,短信校验功能不可用。
发明内容
本申请实施例的目的在于提供一种验证码处理方法、装置、存储介质及设备,旨在解决相关技术中的短信验证码实现方式存在的依赖存储,当存储服务故障时,短信校验功能不可用的问题。
第一方面,本申请实施例提供的一种验证码处理方法,所述方法包括:
当待验证端请求验证码时,获取所述待验证端的手机号码和系统时间,基于目标算法根据所述手机号码和系统时间生成第一验证码;
将所述第一验证码发送至所述手机号码;
当接收到所述待验证端输入的第二验证码时,根据所述手机号码、当前时间和验证码有效期,基于所述目标算法生成验证码集合,并将所述验证码集合中的验证码和所述第二验证码进行比对,基于比对结果判定所述待验证端是否验证通过。
在上述实现过程中,在验证码生成阶段,获取待验证端的手机号码和系统时间,根据该手机号码和系统时间生成第一验证码,在验证码验证阶段,根据手机号码、当前时间和验证码有效期,基于相同的验证码生成算法生成一系列验证码,依次和待验证端输入的第二验证码进行比对,基于比对结果判定该待验证端是否验证通过。这样,通过将验证码生成与手机号码、时间建立关联,在对验证码进行验证时使用手机号和有效期内的时间重新生成验证码来与用户输入的验证码进行比对,从而减少对存储的依赖,解决了存储服务出现故障时短信验证功能不可用的问题。
进一步地,在一些实施例中,所述基于目标算法根据所述手机号码和系统时间生成第一验证码,包括:
将所述系统时间转换成数字串后,将所述数字串和所述手机号码合并成组合数字串;
将所述组合数字串作为散列算法的输入,得到第一验证码。
在上述实现过程中,在验证码生成阶段,将系统时间用数字形式表示后,同手机号码进行合并得到组合数字串,将该组合数字串作为随机数发生器的种子,该随机数发生器使用散列算法生成一个随机数,作为第一验证码,由于散列算法总是将同样的输入映射到相同的索引,因此,能够保证基于同一手机号码且同一系统时间生成的第一验证码是相同的。
进一步地,在一些实施例中,所述将所述系统时间转换成数字串,包括:
将所述系统时间保留分钟精度后,计算所述系统时间的时间戳,将所述时间戳作为所述系统时间对应的数字串。
在上述实现过程中,将系统时间的“秒”归零,计算该时间的时间戳,以此作为系统时间的数字串,从而节省处理资源。
进一步地,在一些实施例中,所述将所述数字串和所述手机号码合并成组合数字串,包括:
将所述数字串和所述手机号码进行相加,得到组合数字串。
在上述实现过程中,系统时间对应的数字串和手机号码可以直接通过加法运算进行合并,得到组合数字串,如此,易于实现,降低计算复杂度。
进一步地,在一些实施例中,所述根据所述手机号码、当前时间和验证码有效期,基于所述目标算法生成验证码集合,并将所述验证码集合中的验证码和所述第二验证码进行比对,包括:
迭代执行以下步骤:
根据所述手机号码和当前时间,基于所述目标算法生成目标验证码;
将所述目标验证码和所述第二验证码进行比对;
若比对不一致,将所述当前时间倒退一分钟,得到新的当前时间;
当比对一致,或者所述新的当前时间早于目标时间时,迭代结束;其中,所述目标时间是所述当前时间倒退所述验证码有效期后得到的时间。
在上述实现过程中,通过倒退时间计算验证码验证,减少验证码正确时的验证时间。
进一步地,在一些实施例中,所述基于比对结果判定所述待验证端是否验证通过,包括:
若所述目标验证码和所述第二验证码比对一致,确定所述待验证端验证通过。
在上述实现过程中,当目标验证码和第二验证码比对一致时,确定待验证端验证通过,无需继续生成目标验证码,减少验证码正确时的验证时间。
第二方面,本申请实施例提供的一种验证码处理装置,所述装置包括:
生成模块,用于当待验证端请求验证码时,获取所述待验证端的手机号码和系统时间,基于目标算法根据所述手机号码和系统时间生成第一验证码;
发送模块,用于将所述第一验证码发送至所述手机号码;
判定模块,用于当接收到所述待验证端输入的第二验证码时,根据所述手机号码、当前时间和验证码有效期,基于所述目标算法生成验证码集合,并将所述验证码集合中的验证码和所述第二验证码进行比对,基于比对结果判定所述待验证端是否验证通过。
第三方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。
第四方面,本申请实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。
第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。
本申请公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本申请公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种验证码处理方法的流程图;
图2为本申请实施例提供的一种不依赖存储的短信验证码验证方案在验证码验证阶段的工作流程的示意图;
图3为本申请实施例提供的一种验证码处理装置的框图;
图4为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如背景技术记载,相关技术中的短信验证码实现方式存在着依赖存储,当存储服务故障时,短信校验功能不可用的问题。基于此,本申请实施例提供一种验证码处理方案,以解决上述问题。
接下来对本申请实施例进行介绍:
如图1所示,图1是本申请实施例提供的一种验证码处理方法的流程图,所述方法可以应用于服务端,这里的服务端可以是指短信验证码服务器上实现验证码生成和验证码验证功能的服务程序。
所述方法包括:
在步骤101、当待验证端请求验证码时,获取所述待验证端的手机号码和系统时间,基于目标算法根据所述手机号码和系统时间生成第一验证码;
本步骤中提到的待验证端可以是指通过短信验证码完成帐号注册、帐号登录、密码修改或交易支付等操作的客户端,当用户在待验证端中输入手机号码,或者用户输入手机号码并点击指示获取验证码的控件后,该待验证端生成验证码请求并发送至服务端。
本实施例方案在验证码生成阶段,根据待验证端的手机号码和系统时间生成验证码,这样生成验证码的效果为基于同一手机号码且同一系统时间生成的验证码是相同的,而基于同一手机号码但不同系统时间生成的验证码是不同的,基于同一系统时间但不同手机号码生成的验证码也是不同的。如此,为后续的验证码验证阶段奠定良好的基础。
在一些实施例中,本步骤中提到的基于目标算法根据所述手机号码和系统时间生成第一验证码可以包括:将所述系统时间转换成数字串后,将所述数字串和所述手机号码合并成组合数字串;将所述组合数字串作为散列算法的输入,得到第一验证码。也就是说,在验证码生成阶段,将系统时间用数字形式表示后,同手机号码进行合并得到组合数字串,将该组合数字串作为随机数发生器的种子,该随机数发生器使用散列算法生成一个随机数,作为第一验证码。其中,由于散列算法总是将同样的输入映射到相同的索引,因此,其能够保证基于同一手机号码且同一系统时间生成的第一验证码是相同的。当然,在其他实施例中,该随机数发生器也可以使用其他算法来生成第一验证码,只需要使用的算法能够保证相同的输入得到相同的输出即可。
通常来说,系统时间的精度为秒或毫秒,若按照这一精度来生成验证码,服务端在验证码验证阶段需要耗费的处理资源是极大的,因此,为了节省处理资源,在一些实施例中,前面提到的将所述系统时间转换成数字串可以包括:将所述系统时间保留分钟精度后,计算所述系统时间的时间戳,将所述时间戳作为所述系统时间对应的数字串。也就是说,将系统时间的“秒”归零,计算该时间的时间戳,以此作为系统时间的数字串。时间戳一般是指格林威治时间自1970年1月1日0时0分0秒至当前时间的总秒数,因此,假设用户请求验证码时的系统时间保留分钟精度后为2022年10月28日13时35分,则计算该时间的时间戳为1666935300,这一时间戳即为该系统时间的数字串。当然,在其他实施例中,也可以采用其他
方式来得到系统时间对应的数字串,例如直接将系统时间保留分钟精度后5按顺序排列成数字串,沿用前面的例子,则得到的系统时间对应的数字串
即为202210281335,本申请对此不作限制。
在一些实施例中,前面提到的将所述数字串和所述手机号码合并成组合数字串可以包括:将所述数字串和所述手机号码进行相加,得到组合数
字串。也就是说,系统时间对应的数字串和手机号码可以直接通过加法运0算进行合并,得到组合数字串,如此,易于实现,降低计算复杂度。当然,
在其他实施例中,该数字串和手机号码也可以基于其他计算方式进行合并,如按照规则混合、乘法运算、取余运算等等。
在步骤102、将所述第一验证码发送至所述手机号码;
本步骤是指:在生成验证码后,服务端将生成的验证码以短信的形式5发送至手机号码所在的终端上,以使用户可以通过短信得知该验证码。需要说明的是,该待验证端所对应的终端和该手机号码所在的终端可以是不同的终端设备,例如,用户可以在电脑上使用待验证端请求验证码,而用户输入的手机号码对应的SIM卡安装于用户的手机上,因此,用户可以查看手机上的短信,获取到该验证码,并以此在电脑上输入验证码。
0在步骤103、当接收到所述待验证端输入的第二验证码时,根据所述手机号码、当前时间和验证码有效期,基于所述目标算法生成验证码集合,并将所述验证码集合中的验证码和所述第二验证码进行比对,基于比对结果判定所述待验证端是否验证通过。
本步骤中提到的第二验证码是待验证端输入的验证码,其可能是与第5一验证码相一致,也可能与第一验证码不一致,因此,服务端需要对第二验证码进行验证。与相关技术不同,本实施例方案不依赖于存储,而是根据用户输入的手机号码与有效期内的时间依次生成验证码进行比对,这样,在存储服务不可用时依然能实现验证码验证功能。
本步骤中提到的当前时间是服务端验证用户验证码的时间,基于当前时间和验证码有效期可以得到一个时间范围内的若干个时间点,使用步骤101中的目标算法可以根据手机号码和这些时间点生成一系列的验证码,这一系列的验证码形成了验证码集合,若该验证码集合中存在与第二验证码一致的验证码,则可以判定待验证端验证通过,否则判定待验证端验证失败。
进一步地,在一些实施例中,本步骤可以包括:迭代执行以下步骤:根据所述手机号码和当前时间,基于所述目标算法生成目标验证码;将所述目标验证码和所述第二验证码进行比对;若比对不一致,将所述当前时间倒退一分钟,得到新的当前时间;当比对一致,或者所述新的当前时间早于目标时间时,迭代结束;其中,所述目标时间是所述当前时间倒退所述验证码有效期后得到的时间。也就是说,在目标时间到当前时间这一时间范围内,得到以一分钟为间隔的若干个时间点,按照从晚到早的顺序依次根据时间点和手机号码生成目标验证码,每生成一个目标验证码后立即进行比对,这种情况下,当目标验证码和第二验证码比对一致时,确定待验证端验证通过,无需继续生成目标验证码,这样,减少验证码正确时的验证时间。而当满足新的当前时间早于目标时间时,表明生成的验证码集合中不包含与第二验证码一致的验证码,此时可能是用户输入的验证码有误,也可能是用户输入的验证码过期失效了,因此可以判定验证失败。
另外,在实现时,服务端还可以统计验证码通过时的系统时间和验证码生成时间,以此优化验证码比较策略,从而提升验证效率。
本申请实施例,在验证码生成阶段,获取待验证端的手机号码和系统时间,根据该手机号码和系统时间生成第一验证码,在验证码验证阶段,根据手机号码、当前时间和验证码有效期,基于相同的验证码生成算法生成一系列验证码,依次和待验证端输入的第二验证码进行比对,基于比对结果判定该待验证端是否验证通过。这样,通过将验证码生成与手机号码、时间建立关联,在对验证码进行验证时使用手机号和有效期内的时间重新生成验证码来与用户输入的验证码进行比对,从而减少对存储的依赖,解决了存储服务出现故障时短信验证功能不可用的问题。
为了对本申请的方案做更为详细的说明,接下来介绍一具体实施例:
相关技术中,服务端在生成验证码后,通常将验证码存储于存储媒介中,在验证阶段再从该存储媒介中查询手机号对应的验证码,以此判定验证是否通过。在存储媒介出现故障时,整个功能将不可用。基于此,本实施例提供一种不依赖存储的短信验证码验证方案,以解决上述问题。
本实施例方案应用于服务端,在一个场景中,验证码有效期为10分钟,用户请求验证码时间为2022年10月28日13时35分,服务端验证用户验证码的时间为2022年10月28日13时37分。在验证码生成阶段,服务端用户请求验证码时,服务端将系统当前时间保留分钟精度,即将“秒”归零,计算该时间的时间戳,与用户手机号做加法运算,得到一个11位或12位的整数,使用这个整数作为随机数发生器的种子,生成一个六位数的随机数X,将此随机数通过短信发送到用户手机上,同时服务端尝试将该验证码存储到存储媒介,如数据库中。
用户通过短信得知验证码为X后输入该验证码,服务端收到验证请求后,尝试从存储媒介中获取用户手机号对应的验证码,若存储媒介发生故障,则获取失败,此时服务端执行如图2所示的工作流程:
S201、验证程序将时间t初始化为当前时间;
S202、使用时间t和用户手机号计算验证码Y;
S203、判断计算得到的验证码Y与用户输入的验证码X是否一致,是则执行S207,否则执行S204;
S204、判定时间t是否早于目标时间td,该目标时间td是当前时间倒退有效期后的时间,若判定结果为是,执行S206,若判定结果为否,执行S205;
S205、将时间t更新为t-1,之后返回S202;
S206、判定验证失败;
S207、判定验证通过。
上述工作流程是指:在验证码验证阶段,服务端使用同一手机号,向前更改时间生成验证码,先使用37分的时间来生成验证码,此时时间与生成验证码时间不一致所以验证码不一致,服务端再使用36分的时间来生成验证码,此时时间与生成验证码时间不一致所以验证码不一致,服务端继续使用35分的时间来生成验证码,此时时间与生成验证码时间一致所以验证码一致,则验证成功。在本实施例中,验证码的有效期为十分钟所以在验证失败时可以向前尝试十分钟内的验证码,即自37分的时间起进行验证码校验,参与校验的验证码从37分到27分,校验成功则结束。
由上可知,本实施例方案,在存储服务不可用时对验证码的验证不受影响,能够自动实现服务降级。
与前述方法的实施例相对应,本申请还提供验证码处理装置及其应用的终端的实施例:
如图3所示,图3是本申请实施例提供的一种验证码处理装置的框图,所述装置包括:
生成模块31,用于当待验证端请求验证码时,获取所述待验证端的手机号码和系统时间,基于目标算法根据所述手机号码和系统时间生成第一验证码;
发送模块32,用于将所述第一验证码发送至所述手机号码;
判定模块33,用于当接收到所述待验证端输入的第二验证码时,根据所述手机号码、当前时间和验证码有效期,基于所述目标算法生成验证码集合,并将所述验证码集合中的验证码和所述第二验证码进行比对,基于比对结果判定所述待验证端是否验证通过。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本申请还提供一种电子设备,请参见图4,图4为本申请实施例提供的一种电子设备的结构框图。电子设备可以包括处理器410、通信接口420、存储器430和至少一个通信总线440。其中,通信总线440用于实现这些组件直接的连接通信。其中,本申请实施例中电子设备的通信接口420用于与其他节点设备进行信令或数据的通信。处理器410可以是一种集成电路芯片,具有信号的处理能力。
上述的处理器410可以是通用处理器,包括中央处理器(CPU,Central ProcessingUnit)、网络处理器(NP,Network Processor)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。上述的处理器410可以是微处理器,或者该处理器410也可以是任何常规的处理器等。
存储器430可以是,但不限于,随机存取存储器(RAM,Random Access Memory),只读存储器(ROM,Read Only Memory),可编程只读存储器(PROM,Programmable Read-OnlyMemory),可擦除只读存储器(EPROM,Erasable Programmable Read-Only Memory),电可擦除只读存储器(EEPROM,Electric Erasable Programmable Read-Only Memory)等。存储器430中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器410执行时,电子设备可以执行上述图1方法实施例涉及的各个步骤。
可选地,电子设备还可以包括存储控制器、输入输出单元。
所述存储器430、存储控制器、处理器410、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线440实现电性连接。所述处理器410用于执行存储器430中存储的可执行模块,例如电子设备包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
可以理解,图4所示的结构仅为示意,所述电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种验证码处理方法,其特征在于,所述方法包括:
当待验证端请求验证码时,获取所述待验证端的手机号码和系统时间,基于目标算法根据所述手机号码和系统时间生成第一验证码;
将所述第一验证码发送至所述手机号码;
当接收到所述待验证端输入的第二验证码时,根据所述手机号码、当前时间和验证码有效期,基于所述目标算法生成验证码集合,并将所述验证码集合中的验证码和所述第二验证码进行比对,基于比对结果判定所述待验证端是否验证通过。
2.根据权利要求1所述的方法,其特征在于,所述基于目标算法根据所述手机号码和系统时间生成第一验证码,包括:
将所述系统时间转换成数字串后,将所述数字串和所述手机号码合并成组合数字串;
将所述组合数字串作为散列算法的输入,得到第一验证码。
3.根据权利要求2所述的方法,其特征在于,所述将所述系统时间转换成数字串,包括:
将所述系统时间保留分钟精度后,计算所述系统时间的时间戳,将所述时间戳作为所述系统时间对应的数字串。
4.根据权利要求2所述的方法,其特征在于,所述将所述数字串和所述手机号码合并成组合数字串,包括:
将所述数字串和所述手机号码进行相加,得到组合数字串。
5.根据权利要求1所述的方法,其特征在于,所述根据所述手机号码、当前时间和验证码有效期,基于所述目标算法生成验证码集合,并将所述验证码集合中的验证码和所述第二验证码进行比对,包括:
迭代执行以下步骤:
根据所述手机号码和当前时间,基于所述目标算法生成目标验证码;
将所述目标验证码和所述第二验证码进行比对;
若比对不一致,将所述当前时间倒退一分钟,得到新的当前时间;
当比对一致,或者所述新的当前时间早于目标时间时,迭代结束;其中,所述目标时间是所述当前时间倒退所述验证码有效期后得到的时间。
6.根据权利要求5所述的方法,其特征在于,所述基于比对结果判定所述待验证端是否验证通过,包括:
若所述目标验证码和所述第二验证码比对一致,确定所述待验证端验证通过。
7.一种验证码处理装置,其特征在于,所述装置包括:
生成模块,用于当待验证端请求验证码时,获取所述待验证端的手机号码和系统时间,基于目标算法根据所述手机号码和系统时间生成第一验证码;
发送模块,用于将所述第一验证码发送至所述手机号码;
判定模块,用于当接收到所述待验证端输入的第二验证码时,根据所述手机号码、当前时间和验证码有效期,基于所述目标算法生成验证码集合,并将所述验证码集合中的验证码和所述第二验证码进行比对,基于比对结果判定所述待验证端是否验证通过。
8.一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上运行时,使得计算机执行如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
10.一种电子设备,其特征在于,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211717203.3A CN116156498A (zh) | 2022-12-29 | 2022-12-29 | 一种验证码处理方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211717203.3A CN116156498A (zh) | 2022-12-29 | 2022-12-29 | 一种验证码处理方法、装置、存储介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116156498A true CN116156498A (zh) | 2023-05-23 |
Family
ID=86359344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211717203.3A Pending CN116156498A (zh) | 2022-12-29 | 2022-12-29 | 一种验证码处理方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116156498A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131489B (zh) * | 2023-08-31 | 2024-03-19 | 杭州峰景科技有限公司 | 一种离线电焊机的权限验证方法、装置及存储介质 |
-
2022
- 2022-12-29 CN CN202211717203.3A patent/CN116156498A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131489B (zh) * | 2023-08-31 | 2024-03-19 | 杭州峰景科技有限公司 | 一种离线电焊机的权限验证方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558748B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20240113868A1 (en) | Controlled cryptographic private key release | |
CN111163182B (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
US10992651B2 (en) | Streaming authentication using chained identifiers | |
EP3693886A1 (en) | Optimizations for verification of interactions system and method | |
US9350728B2 (en) | Method and system for generating and authorizing dynamic password | |
EP3549050B1 (en) | Method and computer product and methods for generation and selection of access rules | |
CN111582771B (zh) | 风险评估方法、装置、设备及计算机可读存储介质 | |
CN109447791B (zh) | 一种基于区块链的资金交易方法及装置 | |
CN111431908B (zh) | 一种访问处理方法、装置,管理服务器及可读存储介质 | |
CN110599168B (zh) | 基于区块链的数字钱包登录方法、装置以及存储介质 | |
CN112184229A (zh) | 基于区块链的子账户交易处理方法、系统及设备 | |
CN109801071B (zh) | 密码重置方法及装置 | |
CN116156498A (zh) | 一种验证码处理方法、装置、存储介质及设备 | |
CN109145651B (zh) | 一种数据处理方法及装置 | |
CN111260475A (zh) | 一种数据处理方法、区块链节点设备及存储介质 | |
CN111277416B (zh) | 交互式零知识证明方法、装置、计算机设备和存储介质 | |
CN115396192A (zh) | 用户身份校验方法、装置、计算机设备及存储介质 | |
CN113656775A (zh) | 一种带有效期的离线密码验证方法、系统及智能锁 | |
CN114185900B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN110049051B (zh) | 请求的验证方法、装置、存储介质及联盟链验证系统 | |
CN111241586A (zh) | 区块链地址匿名处理方法及系统、终端、存储介质 | |
CN112822284B (zh) | 基于动态代理的数据处理方法、装置及计算机设备 | |
CN117407388A (zh) | 幂等控制方法及其装置、电子设备 | |
CN116720818B (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 |