验证方法、装置、设备及存储介质与流程

文档序号:33620277发布日期:2023-03-25 11:18阅读:59来源:国知局
验证方法、装置、设备及存储介质与流程

1.本发明涉及通信安全技术领域,尤其涉及一种验证方法、装置、设备及存储介质。


背景技术:

2.目前,为了防止恶意破解密码,以及有效防止黑客攻击,通常采用在用户登录、用户注册等特定操作中额外增加一项验证码输入,用来校验本次操作是否是正常业务操作。例如,验证码包括随机生成的数字验证码、两个或若干个数字与操作符号组合的计算验证码等等。
3.然而,现有的验证码还是存在被自动化程序破解的风险,因此,如何提供一种安全性较高的验证方法,是本领域待以解决的技术难题。


技术实现要素:

4.本发明的主要目的在于提供了一种验证方法、装置、设备和存储介质,旨在解决现有技术中验证方法的安全性较低的技术问题。
5.为实现上述目的,第一方面,本发明提供了一种验证方法,所述方法包括:基于获取到的终端发送的验证请求,生成按照第一顺序排序的n个第一拼图和第一验证码;每个第一拼图与一个字符相关联,所述第一验证码基于按照第一顺序排序的n个字符确定,n为大于1的正整数;对所述按照第一顺序排序的n个第一拼图进行乱序处理,获得按照第二顺序排序的n个第一拼图;将所述按照第二顺序排序的n个第一拼图发送至所述终端;接收所述终端发送的第二验证码,所述第二验证码是根据所述按照第二顺序排序的n个第一拼图确定的;向所述终端发送验证结果;所述验证结果基于所述第一验证码和所述第二验证码确定。
6.第二方面,本发明还提供一种验证装置,所述装置包括:生成模块,用于基于获取到的终端发送的验证请求,生成按照第一顺序排序的n个第一拼图和第一验证码;每个第一拼图与一个字符相关联,所述第一验证码基于按照第一顺序排序的n个字符确定,n为大于1的正整数;处理模块,用于对所述按照第一顺序排序的n个第一拼图进行乱序处理,获得按照第二顺序排序的n个第一拼图;第一发送模块,用于将所述按照第二顺序排序的n个第一拼图发送至所述终端;接收模块,用于接收所述终端发送的第二验证码,所述第二验证码是根据所述按照第二顺序排序的n个第一拼图确定的;第二发送模块,用于向所述终端发送验证结果;所述验证结果基于所述第一验证码和所述第二验证码确定。
7.第三方面,本发明还提供一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的程序或指令,所述处理器执行所述程序或指时实现如上所述验证方法的步骤。
8.第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述验证方法的步骤。
9.本发明提供了一种验证方法、装置、设备和存储介质,上述验证方法包括:基于获取到的终端发送的验证请求,生成按照第一顺序排序的n个第一拼图和第一验证码;每个第一拼图与一个字符相关联,第一验证码基于按照第一顺序排序的n个字符确定,n为大于1的正整数;对按照第一顺序排序的n个第一拼图进行乱序处理,获得按照第二顺序排序的n个第一拼图;将按照第二顺序排序的n个第一拼图发送至终端;接收终端发送的第二验证码,第二验证码是根据按照第二顺序排序的n个第一拼图确定的;向终端发送验证结果;验证结果基于第一验证码和第二验证码确定。本发明中,根据第一验证码和第二验证码确定验证结果,上述第一验证码是基于按照第一顺序排序的n个第一拼图确定的,上述第二验证码是用户根据按照第二顺序排序的n个第一拼图确定的。这样,用户需要根据n个第一拼图的排序确定第二验证码,以此降低验证码被自动化程序破解的风险,提高验证过程的安全性。
附图说明
10.图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;图2是本发明实施例提供的验证方法的流程示意图;图3是本发明实施例提供的第一拼图的示意图之一;图4是本发明实施例提供的第一拼图的示意图之二;图5是本发明实施例提供的验证方法的应用流程示意图;图6是本发明实施例提供的验证装置的结构示意图;图7是本发明实施例提供的电子设备的结构示意图。
11.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
12.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
13.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
14.本发明终端是一种可移动设备,该终端还可以其他具有存储功能的终端设备。
15.如图1所示,该终端可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选地用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选地可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选地还可以是独立于前述处理器1001的存储装置。
16.可选地,终端还可以包括摄像头、wi-fi模块等等,在此不再赘述。
17.本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
18.在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要包括输入单元比如键盘,键盘包括无线键盘和有线键盘,用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的验证程序,并执行以下操作:基于获取到的终端发送的验证请求,生成按照第一顺序排序的n个第一拼图和第一验证码;对所述按照第一顺序排序的n个第一拼图进行乱序处理,获得按照第二顺序排序的n个第一拼图;将所述按照第二顺序排序的n个第一拼图发送至所述终端;接收所述终端发送的第二验证码;向所述终端发送验证结果;所述验证结果基于所述第一验证码和所述第二验证码确定。
19.进一步的,处理器1001可以调用存储器1005中存储的验证程序,还执行以下操作:将从预设的图库中随机选择的图片,确定为目标图片;对所述目标图片进行切割处理,获得按照第一顺序排序的n个第一拼图;对每个第一拼图进行随机编号,获得每个第一拼图相关联的字符;根据所述第一顺序对所述每个第一拼图相关联的字符进行排序,获得第一验证码。
20.进一步的,处理器1001可以调用存储器1005中存储的验证程序,还执行以下操作:接收所述终端发送的按照第三顺序排序的n个第一拼图;根据所述第三顺序对每个第一拼图相关联的字符进行排序,获得第二验证码。
21.进一步的,处理器1001可以调用存储器1005中存储的验证程序,还执行以下操作:接收用户输入的第二验证码。
22.进一步的,处理器1001可以调用存储器1005中存储的验证程序,还执行以下操作:在所述验证结果表征验证成功的情况下,执行所述验证请求对应的业务操作。
23.进一步的,处理器1001可以调用存储器1005中存储的验证程序,还执行以下操作:在所述验证结果表征验证失败的情况下,向所述终端发送提示信息。
24.进一步的,处理器1001可以调用存储器1005中存储的验证程序,还执行以下操作:将所述按照第二顺序排序的n个第一拼图,以及与所述验证请求相关联的请求标识发送至所述终端;所述接收所述终端发送的第二验证码包括:接收所述终端发送的第二验证码和所述请求标识。
25.本终端的具体实施例与下述验证方法各实施例基本相同,在此不作赘述。
26.本发明提供了一种验证方法,应理解,本发明提供的验证方法可以应用于服务端,处于清楚阐述技术方案的需要,以下以本发明提供的验证方法应用于服务端为例进行说明。请参阅图2,图2是本发明实施例提供的验证方法的流程示意图。本发明实施例提供的验
证方法包括如下步骤:s110,基于获取到的终端发送的验证请求,生成按照第一顺序排序的n个第一拼图和第一验证码。
27.上述终端又称为客户端,应理解,客户端与服务端通信连接。
28.本步骤中,终端向服务端发送验证请求,其中,上述验证请求为用户通过终端执行业务操作发送的验证用户身份的请求。
29.服务端在接收到验证请求后,生成按照第一顺序排序的n个第一拼图和第一验证码,其中,上述第一顺序可以理解为n个第一拼图对应的初始顺序,每个第一拼图与一个字符相关联,第一验证码基于按照第一顺序排序的n个字符确定,n为大于1的正整数。
30.具体的如何生成按照第一顺序排序的n个第一拼图和第一验证码的实施方式,请参阅后续实施例。
31.s120,对所述按照第一顺序排序的n个第一拼图进行乱序处理,获得按照第二顺序排序的n个第一拼图。
32.本步骤中,服务端对上述按照第一顺序排序的n个第一拼图进行乱序处理,即打乱n个第一拼图之间的排序,获得按照第二顺序排序的n个第一拼图。
33.为便于理解,请参阅图3,图3示出的是按照第二顺序排序的n个第一拼图的示意图。图3示出的应用场景包括6个第一拼图,如上所述,每个第一拼图与一个字符相关联,在图3示出的应用场景中,按照从上到下,从左到右的顺序,第一个第一拼图与字符“2”相关联,第二个第一拼图与字符“b”相关联,第三个第一拼图与字符“f”相关联,第四个第一拼图与字符“9”相关联,第五个第一拼图与字符“6”相关联,第六个第一拼图与字符“g”相关联。
34.s130,将所述按照第二顺序排序的n个第一拼图发送至所述终端。
35.本步骤中,在得到按照第二顺序排序的n个第一拼图之后,服务端将上述按照第二顺序排序的n个第一拼图发送至终端。
36.s140,接收所述终端发送的第二验证码。
37.本步骤中,终端根据接收到的按照第二顺序排序的n个第一拼图,确定第二验证码,并向服务端发送该第二验证码。应理解,具体的如何确定第二验证码的实施方式,请参阅后续实施例。
38.s150,向所述终端发送验证结果。
39.服务端在接收第二验证码之后,根据第二验证码和步骤s110中生成的第一验证码,确定验证结果,并向终端发送验证结果,其中,上述验证结果是基于第一验证码和第二验证码确定的。
40.应理解,验证结果包括验证失败和验证成功,其中,验证失败表征终端未通过用户验证;验证成功表征终端通过了用户验证。
41.本发明提供了一种验证方法、装置、设备和存储介质,上述验证方法包括:基于获取到的终端发送的验证请求,生成按照第一顺序排序的n个第一拼图和第一验证码;每个第一拼图与一个字符相关联,第一验证码基于按照第一顺序排序的n个字符确定,n为大于1的正整数;对按照第一顺序排序的n个第一拼图进行乱序处理,获得按照第二顺序排序的n个第一拼图;将按照第二顺序排序的n个第一拼图发送至终端;接收终端发送的第二验证码,第二验证码是根据按照第二顺序排序的n个第一拼图确定的;向终端发送验证结果;验证结
果基于第一验证码和第二验证码确定。本发明中,根据第一验证码和第二验证码确定验证结果,上述第一验证码是基于按照第一顺序排序的n个第一拼图确定的,上述第二验证码是用户根据按照第二顺序排序的n个第一拼图确定的。这样,用户需要根据n个第一拼图的排序确定第二验证码,以此降低验证码被自动化程序破解的风险,提高验证过程的安全性。
42.可选地,所述生成按照第一顺序排序的n个第一拼图和第一验证码包括:将从预设的图库中随机选择的图片,确定为目标图片;对所述目标图片进行切割处理,获得按照第一顺序排序的n个第一拼图;对每个第一拼图进行随机编号,获得每个第一拼图相关联的字符;根据所述第一顺序对所述每个第一拼图相关联的字符进行排序,获得第一验证码。
43.需要说明的是,服务端预先设置有图库,上述图库存储有多张图片。
44.本实施例中,在接收到验证请求之后,从图库中随机选择一张图片,并将上述图片确定为目标图片。
45.进一步的,对该目标图片进行划分,获得n个第一拼图,并对每个第一拼图进行随机编号,即对于每个第一拼图,随机设置与该第一拼图相关联的字符,以此获得每个第一拼图相关联的字符。
46.根据n个第一拼图的排序即第一顺序,对每个第一拼图相关联的字符进行排序,获得第一验证码。
47.为便于理解,请参阅图4,图4示出的是按照第一顺序排序的n个第一拼图的示意图。图4示出的应用场景包括6个第一拼图,在图4示出的应用场景中,按照从上到下,从左到右的顺序,第一个第一拼图与字符“2”相关联,第二个第一拼图与字符“9”相关联,第三个第一拼图与字符“6”相关联,第四个第一拼图与字符“b”相关联,第五个第一拼图与字符“f”相关联,第六个第一拼图与字符“g”相关联。如此,可以基于第一拼图的排序和相关联的字符,确定第一验证码为296bfg。
48.应理解,图4示出的应用场景与图3示出的应用场景可以为同一场景,换句话说,图4示出的应用场景中的6个第一拼图按照初始顺序即第一顺序排序,在对图4示出的6个第一拼图进行乱序处理后,得到图3示出的应用场景中的6个第一拼图。
49.可选地,所述接收所述终端发送的第二验证码包括:接收所述终端发送的按照第三顺序排序的n个第一拼图;根据所述第三顺序对每个第一拼图相关联的字符进行排序,获得第二验证码。
50.服务端在将乱序处理后的按照第二顺序排序的n个第一拼图发送给终端后,接收终端发送的第二验证码。一种可选地实施方式为,服务端接收终端发送的按照第三顺序排序的n个第一拼图。具体而言,客户端在接收到按照第二顺序排序的n个第一拼图之后,用户可以在客户端上执行相关操作,例如滑动操作,调整n个第一拼图的排序,对n个第一拼图进行重排序,获得按照第三顺序排序的n个第一拼图,并将上述按照第三顺序排序的n个第一拼图发送至服务端。
51.如上所述,每个第一拼图与一个字符相关联,如此,可以根据第三顺序对每个第一拼图相关联的字符进行排序,获得第二验证码。
52.本实施例中,对按照第二顺序排序的n个第一拼图进行重排序的过程具有一定的
趣味性,以此提高用户体验。
53.可选地,所述接收所述终端发送的第二验证码包括:接收用户输入的第二验证码;其中,所述第二验证码是用户对按照第二顺序排序的n个第一拼图进行重排序确定的。
54.服务端在将乱序处理后的按照第二顺序排序的n个第一拼图发送给终端后,接收终端发送的第二验证码。
55.另一种可选地实施方式为,用户直接在终端输入第二验证码,并将上述第二验证码发送至服务端。
56.可选地,终端显示有输入框,用户可以在对按照第二顺序排序的n个第一拼图进行重排序之后,根据重排序后的第三顺序以及每个第一拼图相关联的字符确定第二验证码,并在该输入框内输入该第二验证码。
57.可选地,所述向所述终端发送验证结果之后,方法还包括:在所述验证结果表征验证成功的情况下,执行所述验证请求对应的业务操作。
58.本实施例中,若终端发送的第二验证码与服务端生成的第一验证码为同一验证码,则表示用户身份验证成功,该服务端执行验证请求对应的业务操作,或者,接收终端后续发送的操作指令,并执行该操作指令指示的业务操作。
59.可选地,所述向所述终端发送验证结果之后,方法还包括:在所述验证结果表征验证失败的情况下,向所述终端发送提示信息,所述提示信息用于表征验证失败。
60.本实施例中,若终端发送的第二验证码与服务端生成的第一验证码不为同一验证码,则表示用户身份验证失败,该服务端向终端发送提示信息,该提示信息用于表征验证失败。
61.可选地,上述提示信息包括但不限于文字信息、语音信息或视频信息。
62.可选地,所述将所述按照第二顺序排序的n个第一拼图发送至所述终端包括:将所述按照第二顺序排序的n个第一拼图,以及与所述验证请求相关联的请求标识发送至所述终端;所述接收所述终端发送的第二验证码包括:接收所述终端发送的第二验证码和所述请求标识。
63.应理解,服务端在接收到终端发送的验证请求之后,可以基于该验证请求生成请求标识,上述请求标识又称为请求唯一id。
64.服务端在生成第一验证码之后,可以将第一验证码和请求标识以键值(kv)的形式存储至键值数据库中。
65.本实施例中,服务端在将按照第二顺序排序的n个第一拼图发送至终端的过程中,同步将上述请求标识发送至终端。且终端在将第二验证码发送至服务端的过程中,也同步将上述请求标识发送至服务端。
66.为便于理解本发明提供的整体技术方案,请参阅图5,如图5所示,服务端接收终端发送的验证请求,并生成请求标识;从图库中随机选择目标图片,并将目标图片切割为按照第一顺序排序的n个第一拼图;对每个第一拼图进行随机编号;按照第一顺序拼接n个第一
拼图的编号得到第一验证码;将乱序后的n个第一拼图和请求标识发送至终端;终端页面保存请求标识和显示按照第二顺序排序的n个第一拼图;用户拖拽n个第一拼图进行拼接;按照拼接后的排列顺序拼接第一拼图的编号,获得第二验证码;终端将请求标识和第二验证码发送给服务端进行验证;若第一验证码与第二验证码一致,则确定验证通过;若第一验证码与第二验证码不一致,则拒绝用户请求。
67.此外,本发明实施例还提出一种验证装置,请参阅图6,图6是本发明实施例提供的验证装置的结构示意图。
68.如图6所示,验证装置200包括:生成模块210,用于基于获取到的终端发送的验证请求,生成按照第一顺序排序的n个第一拼图和第一验证码;每个第一拼图与一个字符相关联,所述第一验证码基于按照第一顺序排序的n个字符确定,n为大于1的正整数;处理模块220,用于对所述按照第一顺序排序的n个第一拼图进行乱序处理,获得按照第二顺序排序的n个第一拼图;第一发送模块230,用于将所述按照第二顺序排序的n个第一拼图发送至所述终端;接收模块240,用于接收所述终端发送的第二验证码,所述第二验证码是根据所述按照第二顺序排序的n个第一拼图确定的;第二发送模块250,用于向所述终端发送验证结果;所述验证结果基于所述第一验证码和所述第二验证码确定。
69.可选地,所述生成模块210,具体用于:将从预设的图库中随机选择的图片,确定为目标图片;对所述目标图片进行切割处理,获得按照第一顺序排序的n个第一拼图;对每个第一拼图进行随机编号,获得每个第一拼图相关联的字符;根据所述第一顺序对所述每个第一拼图相关联的字符进行排序,获得第一验证码。
70.可选地,所述接收模块,具体用于:接收所述终端发送的按照第三顺序排序的n个第一拼图;所述按照第三顺序排序的n个第一拼图是基于用户对所述按照第二顺序排序的n个第一拼图进行重排序后得到的;根据所述第三顺序对每个第一拼图相关联的字符进行排序,获得第二验证码。
71.可选地,所述接收模块,还具体用于:接收用户输入的第二验证码;其中,所述第二验证码是用户对按照第二顺序排序的n个第一拼图进行重排序确定的。
72.可选地,所述验证装置200还包括:在所述验证结果表征验证成功的情况下,执行所述验证请求对应的业务操作。
73.可选地,所述验证装置200还包括:在所述验证结果表征验证失败的情况下,向所述终端发送提示信息,所述提示信息用于表征验证失败。
74.可选地,所述第一发送模块230,具体用于:
将所述按照第二顺序排序的n个第一拼图,以及与所述验证请求相关联的请求标识发送至所述终端;可选地,所述接收模块240,还具体用于:接收所述终端发送的第二验证码和所述请求标识。
75.验证装置200能够实现本发明实施例中图2方法实施例的各个过程,且能实现相同的技术效果,在此不做重复阐述。
76.此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有验证程序,所述验证程序被处理器执行时实现上述验证方法中的各个步骤,在此不作重复阐述。
77.本发明计算机可读存储介质的具体实施例与上述验证方法各实施例基本相同,在此不作赘述。
78.本发明实施例还提供了一种电子设备,如图7所示,包括处理器310、通信接口320、存储器330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。
79.其中,存储器330,用于存放计算机程序;所述计算机程序被处理器310执行时实现上述验证方法中的各个步骤,且能实现相同的技术效果,在此不作重复阐述。
80.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extendedindustry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
81.通信接口用于上述终端与其他设备之间的通信。
82.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
83.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
84.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
85.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
86.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质
(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
87.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1