CN112685725B - 一种安全验证的方法与设备 - Google Patents

一种安全验证的方法与设备 Download PDF

Info

Publication number
CN112685725B
CN112685725B CN202011642685.1A CN202011642685A CN112685725B CN 112685725 B CN112685725 B CN 112685725B CN 202011642685 A CN202011642685 A CN 202011642685A CN 112685725 B CN112685725 B CN 112685725B
Authority
CN
China
Prior art keywords
verification code
verification
matrix
code
information
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
CN202011642685.1A
Other languages
English (en)
Other versions
CN112685725A (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.)
Shanghai Zhangmen Science and Technology Co Ltd
Original Assignee
Shanghai Zhangmen Science and Technology Co 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 Shanghai Zhangmen Science and Technology Co Ltd filed Critical Shanghai Zhangmen Science and Technology Co Ltd
Priority to CN202011642685.1A priority Critical patent/CN112685725B/zh
Publication of CN112685725A publication Critical patent/CN112685725A/zh
Application granted granted Critical
Publication of CN112685725B publication Critical patent/CN112685725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请的目的是提供一种安全验证的方法与设备,该方法应用于用户设备,包括:用户设备向其目标应用对应的网络设备发送验证请求;接收并显示网络设备返回的验证码矩阵。响应于验证码输入操作,获取用户输入的第一验证码,并向网络设备提交第一验证码。接收网络设备返回的验证请求对应的验证结果信息;或者接收网络设备返回的、关于第一验证码的验证结果信息,以确定验证请求是否通过验证。本申请通过生成与验证码设置信息相匹配的验证码矩阵,将用户设备提交的第一验证码与网络设备存储的第二验证码进行比较验证,避免了因手机卡丢失或短信被监听导致的安全隐患,从而提高了验证安全的级别,保证了使用的安全性和可靠性。

Description

一种安全验证的方法与设备
技术领域
本申请涉及通信领域,尤其涉及一种安全验证的技术。
背景技术
随着互联网技术的发展,智能终端的使用越来越广泛,并以其体积小、便携等优点增加了用户的使用频率。人们越来越习惯使用智能终端来进行应用程序的登陆,以及执行付款等高安全级别的操作。然而现有技术中身份验证的主要通过在登陆界面输入手机号,然后在手机界面上返回并呈现随机的动态验证码,由于该方式存在手机卡丢失或短信被监听的隐患,从而会造成账号被盗,甚至造成用户信息被泄露的问题。
发明内容
本申请的一个目的是提供一种安全验证的方法与设备。
根据本申请的一个方面,提供了一种在用户设备端进行安全验证的方法,该方法包括:
通过用户设备中目标应用的操作界面向所述目标应用对应的网络设备发送验证请求;
接收并显示所述网络设备基于所述验证请求返回的验证码矩阵;
响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;
接收所述网络设备返回的所述验证请求对应的验证结果信息;或者接收所述网络设备返回的、关于所述第一验证码的验证结果信息,并根据关于所述第一验证码的验证结果信息确定所述验证请求是否通过验证。
根据本申请的另一个方面,提供了一种在网络设备端进行安全验证的方法,该方法包括:
接收用户设备通过其中目标应用的操作界面发送的验证请求;响应于所述验证请求,生成所述验证请求对应的验证码矩阵,并将所述验证码矩阵返回至所述用户设备;接收所述用户设备提交的第一验证码,并根据所述验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;将关于所述第一验证码的验证结果信息返回至所述用户设备;或者,根据关于所述第一验证码的验证结果信息确定所述验证请求对应的验证结果信息,并将所述验证请求对应的验证结果信息返回至所述用户设备。
根据本申请的又一方面,提供一种安全验证的方法,该方法,包括:
用户设备通过所述用户设备中目标应用的操作界面向所述目标应用对应的网络设备发送验证请求;
所述网络设备接收所述用户设备发送所述验证请求;响应于所述验证请求,生成所述验证请求对应的验证码矩阵,并将所述验证码矩阵返回至所述用户设备;
所述用户设备接收并显示所述网络设备基于所述验证请求返回的验证码矩阵;响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;
所述网络设备接收所述用户设备提交的第一验证码,并根据所述验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理;将关于所述第一验证码的验证结果信息返回至所述用户设备,或者,根据关于所述第一验证码的验证结果信息,并将所述验证请求对应的所述验证结果信息返回至所述用户设备;
所述用户设备接收所述网络设备返回的所述验证请求对应的验证结果信息;或者接收所述网络设备返回的、关于所述第一验证码的验证结果信息,并根据关于所述第一验证码的验证结果信息确定所述验证请求是否通过验证。
根据本申请的一个方面,提供了一种安全验证的用户设备,该用户设备包括:
一一模块,用于通过用户设备中目标应用的操作界面向所述目标应用对应的网络设备发送验证请求;
一二模块,用于接收并显示所述网络设备基于所述验证请求返回的验证码矩阵;
一三模块,用于响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;
一四模块,用于接收所述网络设备返回的所述验证请求对应的验证结果信息;或者接收所述网络设备返回的、关于所述第一验证码的验证结果信息,并根据关于所述第一验证码的验证结果信息确定所述验证请求是否通过验证。
根据本申请的另一个方面,提供了一种安全验证的网络设备,该网络设备包括:
二一模块,用于接收用户设备通过其中目标应用的操作界面发送的验证请求;
二二模块,用于响应于所述验证请求,生成所述验证请求对应的验证码矩阵,并将所述验证码矩阵返回至所述用户设备;
二三模块,用于接收所述用户设备提交的第一验证码,并根据所述验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;
二四模块,用于将关于所述第一验证码的验证结果信息返回至所述用户设备;或者,根据关于所述第一验证码的验证结果信息确定所述验证请求对应的验证结果信息,并将所述验证请求对应的验证结果信息返回至所述用户设备。
根据本申请的一个方面,提供了一种进行安全验证的用户设备,该用户设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如下操作:
通过用户设备中目标应用的操作界面向所述目标应用对应的网络设备发送验证请求;
接收并显示所述网络设备基于所述验证请求返回的验证码矩阵;
响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;
接收所述网络设备返回的所述验证请求对应的验证结果信息;或者接收所述网络设备返回的、关于所述第一验证码的验证结果信息,并根据关于所述第一验证码的验证结果信息确定所述验证请求是否通过验证验证码设置信息。
根据本申请的另一个方面,提供了一种进行安全验证的网络设备,该网络设备包括:处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如下操作:
接收用户设备通过其中目标应用的操作界面发送的验证请求;响应于所述验证请求,生成所述验证请求对应的验证码矩阵,并将所述验证码矩阵返回至所述用户设备;接收所述用户设备提交的第一验证码,并根据所述验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;将关于所述第一验证码的验证结果信息返回至所述用户设备;或者,根据关于所述第一验证码的验证结果信息确定所述验证请求对应的验证结果信息,并将所述验证请求对应的验证结果信息返回至所述用户设备。
根据本申请的一个方面,提供了一种存储指令的计算机可读介质,所述指令在被计算机执行时使得计算机进行用户设备以及网络设备对应上述方法的操作。
根据本申请的一个方面,提供了一种计算机程序产品,包括计算机程序,该计算计程序被处理器执行时实现如上所述方法的步骤。
与现有技术相比,本申请通过生成与验证码设置信息相匹配的验证码矩阵,并将用户设备提交的第一验证码与网络设备存储的第二验证码进行比较验证,避免了因手机卡丢失或短信被监听导致的安全隐患,从而提高了验证安全的级别,保证了使用的安全性和可靠性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一种安全验证的系统拓扑图;
图2示出根据本申请一个实施例的一种在用户设备端进行安全验证的方法流程图;
图3示出根据本申请一个实施例的验证码矩阵的示意图;
图4示出根据本申请另一个实施例的验证码矩阵的示意图;
图5示出根据本申请又一个实施例的验证码矩阵的示意图;
图6示出根据本申请再一实施例的验证码矩阵的示意图;
图7示出根据本申请再一实施例的验证码矩阵的示意图;
图8示出根据本申请另一个实施例的一种在网络设备端进行安全验证的方法流程图;
图9示出根据本申请的一个实施例在网络设备生成验证码矩阵的示意图;
图10示出根据本申请一个实施例的一种安全验证的方法流程图;
图11示出根据本申请一个实施例的一种用户设备的结构图;
图12示出根据本申请另一个实施例的一种网络设备的结构图;
图13示出了可被用于实施本申请中所述的各个实施例的示例性系统。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read OnlyMemory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic RandomAccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如Android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable GateArray,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出根据本申请一个实施例的一种安全验证的系统拓扑图。
如图1所示,用户设备100通过用户设备中目标应用的操作界面向所述目标应用对应的网络设备发送验证请求;网络设备200接收用户设备发送的验证请求。所述网络设备200响应于所述验证请求,生成所述验证请求对应的验证码矩阵,并将验证码矩阵返回至用户设备。所述用户设备100接收并显示所述网络设备基于所述验证请求返回的验证码矩阵;且响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的。所述网络设备200接收所述用户设备提交的第一验证码,并根据所述验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理,其中,所述第一验证码是基于所述验证请求对应的验证设置信息从所述验证码矩阵中提取的。网络设备200将关于所述第一验证码的验证结果信息返回至所述用户设备;或者,根据关于所述第一验证码的验证结果信息确定所述验证请求对应的验证结果信息,并将所述验证请求对应的验证结果信息返回至所述用户设备。用户设备100接收所述网络设备返回的所述验证请求对应的验证结果信息;或者接收所述网络设备返回的、关于所述第一验证码的验证结果信息,并根据关于所述第一验证码的验证结果信息确定所述验证请求是否通过验证。
参考图1所示的系统,图2示出根据本申请一个实施例的一种在用户设备端进行安全验证的方法流程图,该方法包括步骤S11、步骤S12、步骤S13以及步骤S14。其中,步骤S11包括通过用户设备中目标应用的操作界面向所述目标应用对应的网络设备发送验证请求。S12包括接收并显示所述网络设备基于所述验证请求返回的验证码矩阵。S13包括响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的。S14包括接收所述网络设备返回的所述验证请求对应的验证结果信息;或者接收所述网络设备返回的、关于所述第一验证码的验证结果信息,并根据关于所述第一验证码的验证结果信息确定所述验证请求是否通过验证。
在步骤S11中,用户使用其手持终端(例如手机)在目标应用的操作界面上向该目标应用对应的网络设备发送验证请求。其中目标应用可以包括进行登录且需进行安全验证的应用程序,还可以是包含支付等高安全级别等的应用程序。
在步骤S12中,用户设备接收网络设备基于该验证请求返回的验证码矩阵,并将该验证码矩阵显示在用户设备对应的操作界面上以便后续获取第一验证码。其中验证码矩阵中仅存在唯一正确的验证码,验证码矩阵可以包括3*3矩阵,且该验证码矩阵填充有字符赋值(例如包括数字、字母和/或可输入的符号)。在一些实施例中,该验证码矩阵还包括着色信息的若干元素,其中着色信息可以包括多种不同的着色信息(即可以包含多种不同类别的颜色)等等。其中验证码矩阵的具体列与行可以根据实际情况进行具体设定,优选3*3矩阵不仅可以平衡复杂度和安全性,还方便操作提高用户体验。
在步骤S13中,用户设备响应于用户在操作界面上的验证码输入操作,获取用户输入的第一验证码,并向网络设备提交的第一验证码。其中,该第一验证码是基于验证请求对应的验证码设置信息从验证码矩阵中提取的。其中,验证码设置信息可以包括第一验证码在验证码矩阵中的验证码着色信息,以及第一验证码中各字符在验证码矩阵中的验证码位置信息,还可以包括验证码排序信息,其中验证码排序信息用于表示所述第一验证码中各字符的排列次序关系。
例如参考图3,图3示出根据本申请一个实施例的验证码矩阵的示意图,如图3所示,用户设备响应于验证码的输入操作,获得用户输入的第一验证码为ab12。
在步骤S14中,用户设备接收网络设备返回的验证请求对应的验证结果信息;或者接收网络设备返回的、关于第一验证码的验证结果信息,从而可以确定该验证请求是否通过验证。在一些实施例中,验证结果信息可以包括第一验证码通过验证的验证结果信息,验证结果信息还可以包括第一验证码不通过验证的验证结果信息。在一些实施例中,若验证码结果信息表示第一验证码不通过验证,则该账户会被锁定,后续需更多的验证信息来进行解锁操作等。
本申请通过生成与验证码设置信息相匹配的验证码矩阵,并将用户设备提交的第一验证码与网络设备存储的第二验证码进行比较验证,避免了因手机卡丢失或短信被监听导致的安全隐患,从而提高了验证安全的级别,保证了使用的安全性和可靠性。
在一些实施例中,验证码设置信息可以由用户通过其用户设备预先设置并上传至网络设备。验证码设置信息也可以发送验证请求时进行设定并上传;例如用户设备向目标应用对应的网络设备发送验证请求,其中验证请求包含该验证码设置信息。验证码设置信息还可以实时生成,并在提交第一验证码的同时进行验证码设置信息的上传。
在一些实施例中,该方法还包括:在步骤S15(未示出)中,用户设备实时生成所述验证请求对应的验证码设置信息;在步骤S13中,响应于验证码输入操作,用户设备获得用户输入的第一验证码,并向网络设备提交该第一验证码及所述验证码设置信息,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的。例如,用户设备在用户输入第一验证码之前,通过随机选择或用户手动设置验证码设置信息来实时生成该验证码设置信息,以供用户设备或其使用者基于该验证码设置信息从该验证码矩阵中实时提取第一验证码。再如,网络设备向用户设备发送该验证码矩阵的数据包中还包含网络设备缺少或需要该验证请求对应的验证码设置信息的指示信息,用户设备响应于该指示信息实时生成该验证码设置信息。在此,通过用户设备向网络设备提交第一验证码的同时将验证码设置信息上传至网络设备,使得网络设备可以通过该验证码设置信息在后续生成该验证码矩阵对应的第二验证码,并根据该第二验证码对该第一验证码进行验证。
在一些实施例中,为了提高安全验证的有效性和可靠性,验证码设置信息包括第一验证码中各字符在验证码矩阵中的验证码着色信息,以及第一验证码中各字符在验证码矩阵中的验证码位置信息。其中验证码着色信息例如包括红色等,第一验证码中各字符在验证码矩阵中的验证码位置信息,例如参见图3中的位置信息0、1、2、3等等。在一些实施例中,该验证码设置信息是用户设备实时生成的,例如用户设备通过随机选择该验证码着色信息和该验证码位置信息中的至少一项,来实时生成该验证码设置信息;或者,用户设备根据其用户手动设置该验证码着色信息和该验证码位置信息中的至少一项,来实时生成该验证码设置信息。
在一些实施例中,为了更好的提高安全验证的有效性和可靠性,用户还可根据用户设备生成并呈现的第一验证码在目标应用的界面上手动输入该第一验证码。例如,该方法还包括步骤S16(未示出)和步骤S17(未示出);在步骤S16中,检测所述验证码矩阵中是否存在符合所述验证码着色信息的元素;若是,从所述验证码矩阵中提取符合所述验证码着色信息的若干个元素,否则,根据所述验证码位置信息从所述验证码矩阵中提取若干个元素;在步骤S17中根据所述若干个元素中的字符赋值生成并呈现所述第一验证码。
例如参见图4,图4示出根据本申请另一个实施例的验证码矩阵的示意图。如图4所示,验证码矩阵中的粗线框代表验证码着色信息(例如为红色),检测该验证码矩阵中存在符合验证码着色信息(如图4中粗线框代表着色为红色)的元素,因此从该验证码矩阵中提取粗线框中的若干元素,且将这些元素的字符赋值生成并呈现对应的第一验证码为b647。又例如参见图3,检测验证码矩阵中不存在验证码着色信息(例如为红色)的元素,则根据验证码位置信息(例如0、1、2、3)从该验证码矩阵中提取各元素对应的字符赋值,并生成、呈现第一验证码为ab12。再例如即使验证码矩阵中存在多种其他着色信息的元素,但仍不存在验证码着色信息的元素,根据验证码位置信息(例如0、1、2、3)从该验证码矩阵中提取各元素对应的字符赋值,并生成、呈现第一验证码为ab12。
在一些实施例中,在步骤S17(根据所述若干个元素中的字符赋值生成并呈现所述第一验证码)中包括:根据所述若干个元素中的字符赋值以及所述验证码请求对应的验证码排序信息生成所述第一验证码,并呈现所述第一验证码,其中所述验证码排序信息用于表示所述第一验证码中各字符的排列次序关系。其中,验证码排序信息包含于验证码设置信息或验证码矩阵,例如验证码排序信息可以包括先从左到右、再从上到下,即若该等若干个元素中存在两个以上元素位于该验证码矩阵中的同一行,则按从左到右的顺序读取所述两个以上元素,若该等若干个元素分布于该验证码矩阵中的不同行,则按从上到下的顺序读取对于该等不同行中的每一行;例如参见图4,获得第一验证码的各字符赋值为b、6、4、7,根据这些字符赋值生成并呈现所述第一验证码需将这些字符赋值结合验证码请求对应的验证码排序信息(例如从左到右、再从上到下)来生成并呈现第一验证码“b647”。
再如,验证码排序信息也可以包括先从上到下、再从左到右,即若该等若干个元素中存在两个以上元素位于该验证码矩阵中的同一列,则按从上到下的顺序读取所述两个以上元素,若该等若干个元素分布于该验证码矩阵中的不同列,则按从左到右的顺序读取对于该等不同列中的每一列;例如参见图4,获得第一验证码的各字符赋值为b、6、4、7,根据这些字符赋值生成并呈现所述第一验证码需将这些字符赋值结合验证码请求对应的验证码排序信息(例如先从上到下、再从左到右)来生成并呈现第一验证码b467。
叉如,验证码排序信息还可以包括按照该验证码矩阵中所显示箭头的方向来读取验证码矩阵中的对应元素的字符赋值。例如,用户设备根据图像识别技术从该验证码矩阵的显示图像上识别出其中的显示箭头信息,并根据该显示箭头信息的方向信息确定该验证请求对应的验证码排序信息,例如“先从左到右、再从上到下”或“先从上到下、再从左到右”等排序信息;然后,依据该排序信息对所述若干个元素中的字符赋值进行排序来得到所述第一验证码。
或如,用户设备根据图像识别技术从该验证码矩阵的显示图像上识别出其中的显示箭头信息,确定该显示箭头信息在该验证码矩阵对应的二维坐标系中的箭头向量,从所述若干个元素在该坐标系下对应的多个排序向量中选择与所述箭头向量的匹配度最高的优选排序向量,其中每个排序向量对应于所述若干个元素的一种无重全排列;然后,依据该优选排序向量对所述若干个元素中的字符赋值进行排序来得到所述第一验证码。
进一步地,如果存在两个或更多的排序向量满足与所述箭头向量的匹配度最高,取所述两个或更多的排序向量中排序距离最短的排序向量为优选排序向量,其中每个排序向量的排序距离为该排序向量对应的无重全排列中相邻元素在该坐标系中的距离之和;例如,假设排序向量v1对应的无重全排列为“abcd”(其中,a、b、c、d分别为验证码矩阵中的一个元素或该元素的赋值,且各元素在该二维坐标系下的二维坐标分别为该元素在该矩阵中的行列位置),则排序向量v1对应的排序距离为“ca”、“ab”、“bd”分别在该坐标系下的距离之和。
例如参考图5,图5示出根据本申请又一个实施例的验证码矩阵的示意图,如图5所示,在此,存在两个排序向量v1及v2满足与箭头向量Va的匹配度最高,其中排序向量v1及v2对应的无重全排列分别为“cabd”及“cbad”。在该验证码矩阵对应的二维坐标系中,a、b、c、d等四个元素的坐标分别为(0,0)、(1,0)、(0,2)、(2,0),则排序向量v1对应的排序距离为“ca”、“ab”及“bd”分别在该坐标系下的距离之和,即v1对应的排序距离为4(具体为2+1+1),而排序向量v2对应的排序距离为“cb”、“ba”及“ad”分别在该坐标系下的距离之和,即v2对应的排序距离为3+√5(具体为√5+1+2)。因此,可以取排序向量v1为优选排序向量,从而获得第一验证码为cabd。
在一些实施例中,所述验证码排序信息包含于所述验证码设置信息或者所述验证码矩阵。例如验证码排序信息包含于验证码设置信息时,该验证码排序信息不仅可以跟随验证码请求进行设定并上传至网络设备;验证码排序信息也可以在发送验证请求之前通过用户进行设定,进而上传至网络设备;验证码排序信息还可以在向网络设备提交第一验证码的同时进行设定并上传至网络设备。又例如验证码排序信息包含于验证码矩阵时,在用户设备返回并呈现的验证码矩阵中包含该验证码排序信息,则响应于验证码输入操作,从而获取用户输入的第一验证码。
在一些实施例中,所述验证码排序信息包含于所述验证码矩阵;所述方法还包括步骤S18(未示出):通过图像识别技术从所述验证码矩阵的显示信息中提取排序指示信息,其中,所述排序指示信息包括箭头指示信息或关于排序的文字描述信息;根据所述排序指示信息确定所述验证码矩阵所包含的所述验证码排序信息。例如参考图6,图6示出根据本申请再一实施例的验证码矩阵的示意图,如图6所示,验证码排序信息包含于验证码矩阵,用户设备可以通过图像识别技术从该验证码矩阵的显示信息中提取排序指示信息,该排序指示信息为箭头指示信息,如图6中示出的向右和向下的两个箭头。因此,根据验证码矩阵中若干元素的字符赋值结合该验证码排序信息生成第一验证码b647。其中图像识别技术包括但不限于:将该验证码矩阵的图像进行预处理(例如包括去燥、平滑、变换等图像处理),然后从预处理的图像中执行目标检测以提取有用特征,从而识别出箭头等指示信息;或者,通过对验证码矩阵的图像进行文字识别,从而获得关于排序的文字描述信息。
又例如参考图7,图7示出根据本申请再一实施例的验证码矩阵的示意图,如图7所示,验证码排序信息包含于验证码矩阵,用户设备可以通过图像识别技术从该验证码矩阵的显示信息中提取排序指示信息,该排序指示信息为关于排序的文字描述信息,如图7中示出的“从左到右,从上到下”。因此,根据验证码矩阵中若干元素的字符赋值结合该验证码排序信息生成第一验证码ab12。
参考图1所示的系统,图8示出根据本申请另一个实施例的一种在网络设备端进行安全验证的方法流程图,该方法包括步骤S21、步骤S22、步骤S23以及步骤S24。其中,在步骤S21中,网络设备接收用户设备通过其中目标应用的操作界面发送的验证请求;在步骤S22中,响应于所述验证请求,网络设备生成所述验证请求对应的验证码矩阵,并将所述验证码矩阵返回至所述用户设备;在步骤S23中,网络设备接收所述用户设备提交的第一验证码,并根据所述验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理,其中,所述第一验证码是基于所述验证请求对应的验证设置信息从所述验证码矩阵中提取的;在步骤S24中,网络设备将关于所述第一验证码的验证结果信息返回至所述用户设备;或者,根据关于所述第一验证码的验证结果信息确定所述验证请求对应的验证结果信息,并将所述验证请求对应的验证结果信息返回至所述用户设备。
在步骤S21中,网络设备接收用户设备通过其中对应目标应用的操作界面发送的验证请求,以便后续响应该验证请求,生成对应的验证码矩阵。验证码矩阵可以包括3*3矩阵,且该验证码矩阵填充有字符赋值(例如包括数字、字母和/或可输入的符号)。在一些实施例中,该验证码矩阵还包括着色信息的若干元素,其中着色信息可以包括多种不同的着色信息(即可以包含多种不同类别的颜色)等等。其中验证码矩阵的具体列与行可以根据实际情况进行具体设定,优选3*3矩阵不仅可以平衡复杂度和安全性,还方便操作提高用户体验。
在步骤S22中,响应于验证请求,生成所述验证请求对应的验证码矩阵,并将该验证码矩阵返回至用户设备。在一些实施例中,生成验证码请求对应的验证码矩阵时,网络设备可以根据验证码请求中包含的验证码设置信息来生成验证码矩阵;网络设备还可以根据用户预先设定并上传的验证码设置信息来生成验证码矩阵;网络设备还可以随机生成验证码矩阵。
在步骤S23中,网络设备接收用户设备提交的第一验证码,并根据验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理,其中,该第一验证码是基于验证请求对应的验证码设置信息从验证码矩阵中提取的。其中第二验证码存储于所述网络设备中;可以通过网络设备根据验证设置信息确定验证码矩阵对应的第二验证码。例如当第一验证码与第二验证码相同时,第一验证码通过验证;否则,第一验证码验证失败。在一些实施例中,若第一验证码通过验证,确定该验证请求通过验证;否则,该验证请求未通过验证。
在步骤S24中,网络设备将关于第一验证码的验证结果信息返回至用户设备,或者根据关于第一验证码的验证请求结果信息,并将该验证请求对应的验证结果信息返回至用户设备。在一些实施例中,验证结果信息可以包括第一验证码通过验证的验证结果信息,验证结果信息还可以包括第一验证码不通过验证的验证结果信息。在一些实施例中,若验证码结果信息表示第一验证码不通过验证,则后续网络设备需向用户设备提供更多的验证信息来使用户设备进行解锁操作等。
在一些实施例中,所述方法还包括步骤S25(未示出):网络设备根据验证码设置信息确定验证码矩阵对应的第二验证码。网络设备不仅可以随机生成验证码矩阵,还可以根据验证码设置信息生成验证码矩阵。
网络设备根据验证码设置信息确定验证码矩阵对应的第二验证码。在一些实施例中,验证码设置信息可以包括第二验证码中各字符在验证码矩阵中的验证码着色信息,以及第二验证码中各字符在验证码矩阵中的验证码位置信息,还可以包括验证码排序信息,其中验证码排序信息用于表示第二验证码中各字符的排序关系。且该第二验证码存储于网络设备中。
在一些实施例中,网络设备根据验证码设置信息确定验证码矩阵对应的第二验证码的实现过程例如参考图3-图5;其实现过程与用户设备端进行时的不同在于,无需用户输入或者网络设备采用图像识别技术从验证码矩阵中获得第二验证码;而由网络设备直接从验证码矩阵中获得,参见后续详述实施例。例如参考图4,验证码矩阵中的粗线框代表验证码着色信息(例如为红色),检测该验证码矩阵中存在符合验证码着色信息(如图4中粗线框代表着色为红色)的元素,因此从该验证码矩阵中提取粗线框中的若干元素,且将这些元素的字符赋值确定对应的第二验证码为b647。又例如参见图3,检测验证码矩阵中不存在验证码着色信息(例如为红色)的元素,则根据验证码位置信息(例如0、1、2、3)从该验证码矩阵中提取各元素对应的字符赋值,并生成第二验证码为ab12。再例如即使验证码矩阵中存在多种其他着色信息的元素,但不存在验证码着色信息的元素;或者验证码矩阵随机生成时,则根据验证码位置信息(例如0、1、2、3)从该验证码矩阵中提取各元素对应的字符赋值,并生成第二验证码为ab12。
在一些实施例中,若验证码设置信息中包含验证码排序信息,该验证码排序信息用于表示所述第二验证码中各字符的排列次序关系。则网络设备根据所述验证码设置信息确定所述验证码矩阵对应的第二验证码的实现原理及过程与参见图4、图5生成第一验证码的实现原理及过程均类似,此处不再赘述。
在一些实施例中,所述步骤S25包括:网络设备根据所述验证码设置信息,从所述验证码矩阵中提取符合所述验证设置信息的若干个元素;根据所述若干个元素中的字符赋值,以及所述验证请求对应的验证码排序信息,生成所述验证码矩阵对应的第二验证码。
例如,根据验证码设置信息:第二验证码中各字符在验证码矩阵中的验证着色信息为红色,且这些字符在验证码矩阵中的验证码位置信息为第一行的第一、二以及三列,和第二行的第一列;且验证码排序信息为第二验证码各字符的排序关系为先从左到右获得行对应元素,再从上到下获得列对应元素,进而得到对应的各字符。因此根据上述举例的验证码设置信息确定验证码矩阵对应的第二验证码为ab13(未示出,仅作举例)。当然根据验证码设置信息确定验证码矩阵对应的第二验证码,可以通过第二验证码中各字符在验证码矩阵中的验证码着色信息,以及第二验证码中各字符在验证码矩阵中的验证码位置信息来确定,其实现过程与图3、图4示出的确定第一验证码的过程类似,此处不再赘述。
在一些实施例中,所述验证码排序信息包含于所述验证码矩阵;所述生成所述验证请求对应的验证码矩阵,还包括:确定所述验证码排序信息对应的排序指示信息,并将所述排序指示信息添加至所生成的所述验证码矩阵中。
例如,验证码排序信息为第二验证码各字符的排序关系,例如该验证码排序信息为先从左到右获得行对应元素,再从上到下获得列对应元素;且该验证码排序信息包含于验证码矩阵,从而生成验证请求对应的验证码矩阵。具体地,确定验证码排序信息对应的排序指示信息(例如在验证码矩阵中从左到右获得行对应元素,从上到下获得列对应元素),并将该排序指示信息添加至生成的验证码矩阵(例如参见图6或图7)。其中该排序指示信息可以包括箭头指示信息或关于排序的文字描述信息(例如“从左到右、从上到下”)。
在一些实施例中,所述步骤S22包括:响应于所述验证请求,网络设备根据所述验证码设置信息生成所述验证码矩阵,并将所述验证码矩阵返回至所述用户设备。具体地,验证码设置信息可以包括第二验证码中各字符在验证码矩阵中的验证码着色信息,以及第二验证码中各字符在验证码矩阵中的验证码位置信息;还可以包括验证码排序信息,其中验证码排序信息用于表示所述第二验证码中各字符的排列次序关系。其中,验证码矩阵可以参考图3-图7。
在一些实施例中,所述根据所述验证码设置信息生成所述验证码矩阵,包括:生成随机数矩阵,其中所述随机数矩阵中的每个元素为0至9中的一个随机整数或一个随机字母;根据所述验证码设置信息对所述随机数矩阵中的特定元素进行着色处理,以获得所述验证请求对应的验证码矩阵。其中,验证码设置信息包括特定元素在验证码矩阵的位置信息,以及特定元素对应的验证码着色信息。其中随机字母可以包含26个英文字母、希腊字母等等可输入的字符。
例如参考图9,图9示出根据本申请的一个实施例在网络设备生成验证码矩阵的示意图,如图9所示,网络设备生成一个3*3的随机数矩阵,该随机数矩阵中包括随机整数(例如0、1、2、3)和随机字母(i、a、b、x、y),其中特定元素为b、i、1、2,且这些特定元素对应于随机数矩阵中的位置信息分别为第一行第二列、第一行第三列、第二行第二列,以及第三行第二列;且随机数矩阵中特定元素的验证码着色信息例如为红色,则对特定元素为b、i、1、2在其对应的随机数矩阵位置中进行着色,随机数矩阵中的其他元素不作着色处理(或者着色不为验证码着色信息对应的颜色),从而得到如图9所示的采用粗线框表示特定元素进行验证码着色的验证码矩阵,进而获得验证请求对应的验证码矩阵。
在另一些实施例中,所述根据所述验证码设置信息生成所述验证码矩阵,包括:在步骤S261(未示出),网络设备随机生成所述第二验证码;在步骤S262(未示出),网络设备根据所述验证码设置信息将所述第二验证码中各字符分别填入初始验证码矩阵中的相应元素位置,并根据所述验证码设置信息对所述相应元素位置进行着色处理,以获得所述验证码矩阵。
例如,根据验证码设置信息生成验证码矩阵,其中验证码设置信息包括:第二验证码在验证码矩阵中对应的元素位置分别为第一行第二列、第二行第三列、第三行第二列,以及第三行第三列的位置;且第二验证码中各字符对应元素的验证码着色信息均为红色。具体地,通过随机生成第二验证码(例如b647),根据该验证码设置信息将第二验证码中各字符b、6、4以及7分别填入初始验证码矩阵中相应元素位置分别为第一行第二列、第二行第三列、第三行第二列,以及第三行第三列。并根据各字符b、6、4以及7对应元素位置的验证码着色信息进行红色处理,从而获得验证码矩阵。
在一些实施例中,在所述步骤S262中还包括:网络设备在所述初始验证码矩阵中除所述相应元素位置外的其他元素位置填入随机数,其中所述随机数为0-9间的一个整数或一个字母。其中随机字母可以包含26个英文字母、希腊字母等等可输入的字符。结合上述示例,根据各字符b、6、4以及7对应元素位置的验证码着色信息进行红色处理,还需在初始验证码矩阵中除去相应元素位置外的其他元素位置填入随机数,例如参见图3,其他元素位置填入随机数分别为a、1、2、5以及c。
在一些实施例中,网络设备存储第二验证码。具体无论第二验证码采用上述任一方式获得,均需将该第二验证码存储于网络设备中,以便对第一验证码进行验证处理,从而得到对应于验证请求的验证结果信息。
参考图1所示的系统,图10示出根据本申请一个实施例的一种安全验证的方法流程图,如图10所示,该安全验证方法包括:S11’:用户设备通过用户设备中目标应用的操作界面向所述目标应用对应的网络设备发送验证请求。
S21’:网络设备接收用户设备发送的验证请求。
S22’:所述网络设备响应于所述验证请求,生成所述验证请求对应的验证码矩阵,并将验证码矩阵返回至用户设备。
S12’:所述用户设备接收并显示所述网络设备基于所述验证请求返回的验证码矩阵。
S13’:响应于验证码输入操作,用户设备获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的。
S23’:所述网络设备接收所述用户设备提交的第一验证码,并根据所述验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理,其中,所述第一验证码是基于所述验证请求对应的验证设置信息从所述验证码矩阵中提取的。
S24’:所述网络设备将关于所述第一验证码的验证结果信息返回至所述用户设备;或者,根据关于所述第一验证码的验证结果信息确定所述验证请求对应的验证结果信息,并将所述验证请求对应的验证结果信息返回至所述用户设备。
S14’:所述用户设备接收所述网络设备返回的所述验证请求对应的验证结果信息;或者接收所述网络设备返回的、关于所述第一验证码的验证结果信息,并根据关于所述第一验证码的验证结果信息确定所述验证请求是否通过验证。
其中,步骤S11’、步骤S12’、步骤S13’以及步骤S14’的实现原理及方式,分别与图2示出步骤S11、步骤S12、步骤S13和步骤S14的实现原理及方式类似,此处不再赘述。且步骤S21’、步骤S22’、步骤S23’以及步骤S24’的实现原理及方式,分别与图8示出步骤S21、步骤S22、步骤S23和步骤S24的实现原理及方式类似,此处不再赘述。
根据本申请的一个方面,图11示出根据本申请一个实施例的一种用户设备的结构图,如图11所示,本申请的用户设备中包括一一模块101、一二模块102、一三模块103以及一四模块104。其中,一一模块101用于通过用户设备中目标应用的操作界面向所述目标应用对应的网络设备发送验证请求。一二模块102用于接收并显示所述网络设备基于所述验证请求返回的验证码矩阵。一三模块103用于响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,其中,所述第一验证码是基于所述验证请求对应的验证设置信息从所述验证码矩阵中提取的。一四模块104用于接收所述网络设备返回的所述验证请求对应的验证结果信息;或者接收所述网络设备返回的、关于所述第一验证码的验证结果信息,并根据关于所述第一验证码的验证结果信息确定所述验证请求是否通过验证。在此,所述图11示出的一一模块101、一二模块102一三模块103以及一四模块104对应的具体实施方式分别与前述步骤S11、步骤S12、步骤S13以及步骤S14的具体实施例相同或相近,故不再赘述,以引用方式包含于此。
在一些实施例中,该设备还包括一五模块,用于用户设备实时生成所述验证请求对应的验证码设置信息;其中,一三模块,用于响应于验证码输入操作,用户设备获得用户输入的第一验证码,并向网络设备提交该第一验证码及所述验证码设置信息,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的。例如,用户设备在用户输入第一验证码之前,通过随机选择或用户手动设置验证码设置信息来实时生成该验证码设置信息,以供用户设备或其使用者基于该验证码设置信息从该验证码矩阵中实时提取第一验证码。再如,网络设备向用户设备发送该验证码矩阵的数据包中还包含网络设备缺少或需要该验证请求对应的验证设置信息的指示信息,用户设备响应于该指示信息实时生成该验证码设置信息。在此,通过用户设备向网络设备提交第一验证码的同时将验证码设置信息上传至网络设备,使得网络设备可以通过该验证码设置信息在后续生成该验证码矩阵对应的第二验证码,并根据该第二验证码对该第一验证码进行验证。
在此,所述一五模块对应的具体实施方式与所述步骤S15的具体实施例相同或相似,因而不再赘述,以引用的方式包含于此。
在一些实施例中,为了更好的提高安全验证的有效性和可靠性,用户还可根据用户设备生成并呈现的第一验证码在目标应用的界面上手动输入该第一验证码。例如,该设备还包括一六模块(未示出)和一七模块(未示出);其中,一六模块用于检测所述验证码矩阵中是否存在符合所述验证码着色信息的元素;若是,从所述验证码矩阵中提取符合所述验证码着色信息的若干个元素,否则,根据所述验证码位置信息从所述验证码矩阵中提取若干个元素;一七模块,用于根据所述若干个元素中的字符赋值生成并呈现所述第一验证码。
在此,所述一六模块对应的具体实施方式与所述步骤S16的具体实施例相同或相似,因而不再赘述,以引用的方式包含于此。
在此,所述一七模块对应的具体实施方式与所述步骤S17的具体实施例相同或相似,因而不再赘述,以引用的方式包含于此。
在一些实施例中,所述验证码排序信息包含于所述验证码矩阵;所述设备还包括一八模块(未示出),用于通过图像识别技术从所述验证码矩阵的显示信息中提取排序指示信息,其中,所述排序指示信息包括箭头指示信息或关于排序的文字描述信息;根据所述排序指示信息确定所述验证码矩阵所包含的所述验证码排序信息。
在此,所述一八模块对应的具体实施方式与所述步骤S18的具体实施例相同或相似,因而不再赘述,以引用的方式包含于此。
根据本申请的另一个方面,图12示出根据本申请另一个实施例的一种网络设备的结构图。如图12所示,本申请的网络设备中包括二一模块201、二二模块202、二三模块203以及二四模块204。其中,二一模块201用于接收用户设备通过其中目标应用的操作界面发送的验证请求。二二模块202用于响应于所述验证请求,生成所述验证请求对应的验证码矩阵,并将所述验证码矩阵返回至所述用户设备。其中,网络设备不仅可以根据验证码设置信息生成验证码矩阵,还可以随机生成验证码矩阵,优选根据验证码设置信息生成验证码矩阵以提高安全验证的有效性和可靠性,具体参见后续示例。二三模块203用于接收所述用户设备提交的第一验证码,并根据所述验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理,其中,所述第一验证码是基于所述验证请求对应的验证设置信息从所述验证码矩阵中提取的。其中,验证码设置信息可以包括第一验证码在验证码矩阵中的验证码着色信息,以及第一验证码中各字符在验证码矩阵中的验证码位置信息,还可以包括验证码排序信息,其中验证码排序信息用于表示所述第一验证码中各字符的排列次序关系。二四模块204用于将关于所述第一验证码的验证结果信息返回至所述用户设备;或者,根据关于所述第一验证码的验证结果信息确定所述验证请求对应的验证结果信息,并将所述验证请求对应的验证结果信息返回至所述用户设备。其中验证码矩阵对应的第二验证码存储于网络设备中。在此,所述图12示出的二一模块201、二二模块202、二三模块203以及二四模块204对应的具体实施方式分别与前述步骤S21、步骤S22、步骤S23以及步骤S24的具体实施例相同或相近,故不再赘述,以引用方式包含于此。
在一些实施例中,所述网络设备还包括二五模块(未示出)用于根据验证码设置信息确定验证码矩阵对应的第二验证码。网络设备不仅可以随机生成验证码矩阵,还可以根据验证码设置信息生成验证码矩阵。网络设备根据验证码设置信息确定验证码矩阵对应的第二验证码。在一些实施例中,验证码设置信息可以包括第二验证码中各字符在验证码矩阵中的验证码着色信息,以及第二验证码中各字符在验证码矩阵中的验证码位置信息,还可以包括验证码排序信息,其中验证码排序信息用于表示第二验证码中各字符的排序关系。且该第二验证码存储于网络设备中。
在此,所述二五模块对应的具体实施方式与所述步骤S25的具体实施例相同或相似,因而不再赘述,以引用的方式包含于此。
在一些实施例中,所述二五模块,用于根据所述验证码设置信息,从所述验证码矩阵中提取符合所述验证设置信息的若干个元素;根据所述若干个元素中的字符赋值,以及所述验证请求对应的验证码排序信息,生成所述验证码矩阵对应的第二验证码。
在此,所述二五模块对应的具体实施方式与所述步骤S25的具体实施例相同或相似,因而不再赘述,以引用的方式包含于此。
在一些实施例中,网络设备中二二模块用于响应于所述验证请求,根据所述验证码设置信息生成所述验证码矩阵,并将所述验证码矩阵返回至所述用户设备。具体地,验证码设置信息可以包括第二验证码中各字符在验证码矩阵中的验证码着色信息,以及第二验证码中各字符在验证码矩阵中的验证码位置信息;还可以包括验证码排序信息,其中验证码排序信息用于表示所述第二验证码中各字符的排列次序关系。其中,验证码矩阵可以参考图3-图7。
在一些实施例中,所述根据所述验证码设置信息生成所述验证码矩阵,包括:二六一模块(未示出)网络设备用于随机生成所述第二验证码;二六二模块(未示出),用于网络设备根据所述验证码设置信息将所述第二验证码中各字符分别填入初始验证码矩阵中的相应元素位置,并根据所述验证码设置信息对所述相应元素位置进行着色处理,以获得所述验证码矩阵。
在此,所述二六一模块对应的具体实施方式与所述步骤S261的具体实施例相同或相似,因而不再赘述,以引用的方式包含于此。
在此,所述二六二模块对应的具体实施方式与所述步骤S262的具体实施例相同或相似,因而不再赘述,以引用的方式包含于此。
在一些实施例中,在二六二模块中还包括:网络设备在所述初始验证矩阵中除所述相应元素位置外的其他元素位置填入随机数,其中所述随机数为0-9间的一个整数或一个字母。其中随机字母可以包含26个英文字母、希腊字母等等可输入的字符。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前所述任一项所述的方法。图13示出了可被用于实施本申请中所述的各个实施例的示例性系统;
如图13所示,在一些实施例中,系统300能够作为各所述实施例中的任意一个设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
除上述各实施例介绍的方法和设备外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (19)

1.一种在用户设备端进行安全验证的方法,其中,所述方法包括:
通过用户设备中目标应用的操作界面向所述目标应用对应的网络设备发送验证请求;
接收并显示所述网络设备基于所述验证请求返回的验证码矩阵;
在接收所述网络设备返回的验证码矩阵后,实时生成所述验证请求对应的验证码设置信息;
响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;所述响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,包括:响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码及所述验证码设置信息,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;
接收所述网络设备返回的所述验证请求对应的验证结果信息;或者接收所述网络设备返回的、关于所述第一验证码的验证结果信息,并根据关于所述第一验证码的验证结果信息确定所述验证请求是否通过验证。
2.根据权利要求1所述的方法,其中,所述验证请求包含所述验证码设置信息。
3.根据权利要求1至2中任一项所述的方法,其中,所述验证码设置信息包括所述第一验证码中各字符在所述验证码矩阵中的验证码着色信息,以及所述第一验证码中各字符在所述验证码矩阵中的验证码位置信息。
4.根据权利要求3所述的方法,其中,所述方法还包括:
检测所述验证码矩阵中是否存在符合所述验证码着色信息的元素;若是,从所述验证码矩阵中提取符合所述验证码着色信息的若干个元素;否则,根据所述验证码位置信息从所述验证码矩阵中提取若干个元素;
根据所述若干个元素中的字符赋值生成并呈现所述第一验证码。
5.根据权利要求4所述的方法,其中,所述根据所述若干个元素中的字符赋值生成并呈现所述第一验证码,包括:
根据所述若干个元素中的字符赋值以及所述验证码请求对应的验证码排序信息生成所述第一验证码,并呈现所述第一验证码,其中所述验证码排序信息用于表示所述第一验证码中各字符的排列次序关系。
6.根据权利要求5所述的方法,其中,所述验证码排序信息包含于所述验证码设置信息或者所述验证码矩阵。
7.根据权利要求6所述的方法,其中,所述验证码排序信息包含于所述验证码矩阵;
所述方法还包括:
通过图像识别技术从所述验证码矩阵的显示信息中提取排序指示信息,其中,所述排序指示信息包括箭头指示信息或关于排序的文字描述信息;
根据所述排序指示信息确定所述验证码矩阵所包含的所述验证码排序信息。
8.一种在网络设备端进行安全验证的方法,其中,所述方法包括:
接收用户设备通过其中目标应用的操作界面发送的验证请求;
响应于所述验证请求,生成所述验证请求对应的验证码矩阵,并将所述验证码矩阵返回至所述用户设备;
接收所述用户设备提交的第一验证码,并根据所述验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的,所述验证码设置信息是所述用户设备在接收所述网络设备返回的验证码矩阵后实时生成的,所述用户设备向所述网络设备提交所述第一验证码及所述验证码设置信息;
将关于所述第一验证码的验证结果信息返回至所述用户设备,或者,根据关于所述第一验证码的验证结果信息,并将所述验证请求对应的验证结果信息返回至所述用户设备。
9.根据权利要求8所述的方法,其中,所述方法还包括:
根据所述验证码设置信息确定所述验证码矩阵对应的第二验证码。
10.根据权利要求9所述的方法,其中,所述根据所述验证码设置信息确定所述验证码矩阵对应的第二验证码,包括:
根据所述验证码设置信息,从所述验证码矩阵中提取符合所述验证码设置信息的若干元素;
根据所述若干元素中的字符赋值,以及所述验证请求对应的验证码排序信息,生成所述验证码矩阵对应的第二验证码。
11.根据权利要求10所述的方法,其中,所述验证码排序信息包含于所述验证码矩阵;
所述生成所述验证请求对应的验证码矩阵,还包括:
确定所述验证码排序信息对应的排序指示信息;并将所述排序指示信息添加至所生成的所述验证码矩阵中。
12.根据权利要求8所述的方法,其中,所述响应于所述验证请求,生成所述验证请求对应的验证码矩阵,并将所述验证码矩阵返回至所述用户设备,包括:
响应于所述验证请求,根据所述验证码设置信息生成所述验证码矩阵,并将所述验证码矩阵返回至所述用户设备。
13.根据权利要求12所述的方法,其中,所述根据所述验证码设置信息生成所述验证码矩阵,包括:
生成随机数矩阵,其中所述随机数矩阵中的每个元素为0至9中的一个随机整数或一个随机字母;
根据所述验证码设置信息对所述随机数矩阵中的特定元素进行着色处理,以获得所述验证请求对应的验证码矩阵。
14.根据权利要求12所述的方法,其中,所述根据所述验证码设置信息生成所述验证码矩阵,包括:
随机生成所述第二验证码;
根据所述验证码设置信息将所述第二验证码中各字符分别填入初始验证码矩阵中的相应元素位置,并根据所述验证码设置信息对所述相应元素位置进行着色处理,以获得所述验证码矩阵。
15.根据权利要求14所述的方法,其中,所述根据所述验证码设置信息将所述第二验证码中各字符分别填入初始验证码矩阵中的相应元素位置,并根据所述验证码设置信息对所述相应元素位置进行着色处理,以获得所述验证码矩阵,还包括:
在所述初始验证码矩阵中除所述相应元素位置外的其他元素位置填入随机数,其中所述随机数为0-9间的一个整数或一个字母。
16.根据权利要求14或15所述的方法,其中,所述方法还包括:
存储所述第二验证码。
17.一种安全验证的方法,其中,所述方法包括:
用户设备通过所述用户设备中目标应用的操作界面向所述目标应用对应的网络设备发送验证请求;
所述网络设备接收所述用户设备发送所述验证请求;响应于所述验证请求,生成所述验证请求对应的验证码矩阵,并将所述验证码矩阵返回至所述用户设备;
所述用户设备接收并显示所述网络设备基于所述验证请求返回的验证码矩阵;在接收所述网络设备返回的验证码矩阵后,实时生成所述验证请求对应的验证码设置信息;响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;所述响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码,包括:响应于验证码输入操作,获取用户输入的第一验证码,并向所述网络设备提交所述第一验证码及所述验证码设置信息,其中,所述第一验证码是基于所述验证请求对应的验证码设置信息从所述验证码矩阵中提取的;
所述网络设备接收所述用户设备提交的第一验证码,并根据所述验证码矩阵对应的第二验证码,对所述第一验证码进行验证处理;将关于所述第一验证码的验证结果信息返回至所述用户设备,或者,根据关于所述第一验证码的验证结果信息,并将所述验证请求对应的所述验证结果信息返回至所述用户设备;
所述用户设备接收所述网络设备返回的所述验证请求对应的验证结果信息;或者接收所述网络设备返回的、关于所述第一验证码的验证结果信息,并根据关于所述第一验证码的验证结果信息确定所述验证请求是否通过验证。
18.一种安全验证的设备,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被处理器执行时使所述处理器执行如权利要求1-16中任一项所述方法的操作。
19.一种存储指令的计算机可读介质,所述指令在被计算机执行时使得所述计算机进行如权利要求1至16中任一项所述方法的操作。
CN202011642685.1A 2020-12-30 2020-12-30 一种安全验证的方法与设备 Active CN112685725B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011642685.1A CN112685725B (zh) 2020-12-30 2020-12-30 一种安全验证的方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011642685.1A CN112685725B (zh) 2020-12-30 2020-12-30 一种安全验证的方法与设备

Publications (2)

Publication Number Publication Date
CN112685725A CN112685725A (zh) 2021-04-20
CN112685725B true CN112685725B (zh) 2022-12-06

Family

ID=75456847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011642685.1A Active CN112685725B (zh) 2020-12-30 2020-12-30 一种安全验证的方法与设备

Country Status (1)

Country Link
CN (1) CN112685725B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114296651B (zh) * 2021-12-28 2023-08-01 上海右云信息技术有限公司 一种用于存储自定义数据信息的方法与设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164137A (zh) * 2011-04-15 2011-08-24 华南理工大学 一种基于动态映射口令的强验证方法
CN103873432A (zh) * 2012-12-10 2014-06-18 深圳市腾讯计算机系统有限公司 验证码实现方法及其系统、验证码服务端
CN104794385A (zh) * 2015-03-03 2015-07-22 新浪网技术(中国)有限公司 一种信息验证方法及装置
CN106330448A (zh) * 2015-06-30 2017-01-11 华为软件技术有限公司 一种用户合法性验证方法、装置及系统
CN110378095A (zh) * 2019-07-17 2019-10-25 网易(杭州)网络有限公司 基于验证码的交互验证方法、装置、介质和计算设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102957682A (zh) * 2011-08-30 2013-03-06 北京百度网讯科技有限公司 一种用于基于验证安全等级提供图片验证码的方法与设备
CN106899411B (zh) * 2016-12-08 2021-09-21 创新先进技术有限公司 一种基于验证码的校验方法及装置
CN108989269B (zh) * 2017-06-02 2021-10-15 阿里巴巴集团控股有限公司 获取验证码的方法、装置和系统
CN109117624A (zh) * 2018-08-03 2019-01-01 上海掌门科技有限公司 生成验证码图像的方法、电子设备和计算机可读介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164137A (zh) * 2011-04-15 2011-08-24 华南理工大学 一种基于动态映射口令的强验证方法
CN103873432A (zh) * 2012-12-10 2014-06-18 深圳市腾讯计算机系统有限公司 验证码实现方法及其系统、验证码服务端
CN104794385A (zh) * 2015-03-03 2015-07-22 新浪网技术(中国)有限公司 一种信息验证方法及装置
CN106330448A (zh) * 2015-06-30 2017-01-11 华为软件技术有限公司 一种用户合法性验证方法、装置及系统
CN110378095A (zh) * 2019-07-17 2019-10-25 网易(杭州)网络有限公司 基于验证码的交互验证方法、装置、介质和计算设备

Also Published As

Publication number Publication date
CN112685725A (zh) 2021-04-20

Similar Documents

Publication Publication Date Title
US9672523B2 (en) Generating barcode and authenticating based on barcode
CN110336735B (zh) 一种用于发送提醒消息的方法与设备
CN103918292A (zh) 使用近场通信对系统的用户进行认证
TW201832127A (zh) 驗證方法及裝置
CN110290557B (zh) 一种加载应用内页面标签的方法与设备
US20230035104A1 (en) Verification method, apparatus and device, and storage medium
CN104252613A (zh) 一种虚拟物品获取方法、装置及终端
CN110334144A (zh) 报文展示方法、装置、计算机设备及存储介质
CN112685725B (zh) 一种安全验证的方法与设备
CN110276027B (zh) 一种基于二维码识别进行信息推送的方法与设备
CN111523039B (zh) 一种用于处理阅读应用中书籍催更请求的方法与设备
CN112866302B (zh) 对集群数据完整性检查的方法、设备、介质及程序产品
CN112818719B (zh) 一种识别二维码的方法与设备
CN110516414B (zh) 一种访问小说付费章节的方法与设备
CN112306606A (zh) 一种用于呈现控件样式的方法与设备
CN111859322A (zh) 身份验证方法、装置和电子设备
CN108133132B (zh) 身份验证方法、系统和电子设备
CN110780955A (zh) 一种用于处理表情消息的方法与设备
CN109657514B (zh) 一种用于生成和识别二维码的方法与设备
CN114296651A (zh) 一种用于存储自定义数据信息的方法与设备
CN112272213B (zh) 一种活动报名方法与设备
CN113159316A (zh) 模型训练方法、进行预测业务的方法及装置
CN113706131B (zh) 一种基于加密卡的区块链交易方法、装置和设备
CN115048289A (zh) 一种用于测试函件模板的方法、设备及介质
CN117313773A (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