验证码生成方法、装置、验证码登录系统及电子设备与流程

文档序号:29474762发布日期:2022-04-02 06:41阅读:150来源:国知局
验证码生成方法、装置、验证码登录系统及电子设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种验证码生成方法、装置、验证码登录系统及电子设备。


背景技术:

2.随着网络技术的发展,互联网已涉及到人们工作学习和生活的各个领域,在当今信息网络时代,信息安全显得越来越重要。验证码技术在登录系统有着广泛的应用,许多网络应用在登录时都需要用到验证码,可以有效防止登录用户时恶意使用程序暴力破解方式进行不断的登录尝试。
3.现有技术中验证码生成方式,通常是产生一个随机字符串,将此字符串存到内存中,并直接将验证码生成验证码图片显示给用户,用户根据验证码图片识别字符串并将识别出的字符串输入提交,服务器用内存中的字符串和用户输入的字符串进行对比,若对比一致,则表示验证通过。
4.然而,现有技术中直接将验证码生成验证码图片的方式,恶意程序容易自动识别,导致的验证码的安全性较低。


技术实现要素:

5.本技术提供一种验证码生成方法、装置、验证码登录系统及电子设备,用以解决现有技术中,验证码安全性较低的技术问题。
6.第一方面,本技术提供一种验证码生成方法,包括:
7.响应于客户端的验证登录请求,生成第一验证码;将第一验证码,发送至缓存器进行存储;对第一验证码中的每个字符按照预设规则进行渲染,并将渲染后的字符随机组合成验证码图片;将验证码图片和第一提示信息发送至客户端,第一提示信息用于提示用户按照预设规则输入第一验证码。
8.本技术实施例中,服务器通过生成验证码之后,对验证码中的每个字符,按照预设规则进行渲染,然后将渲染后的字符随机组合成验证码图片,并提示用户按照预设规则输入验证码,提高了验证码的安全性。
9.在一种可能的实施方式中,本技术实施例提供的验证码生成方法,将第一验证码,发送至缓存器进行存储,包括:
10.利用预设加密方法对第一验证码进行加密处理,生成第一加密字符串;将第一加密字符串发送至缓存器进行存储。
11.本技术实施例中,通过利用预设加密方法对验证码进行加密处理,并将加密字符串存储至缓存器中,提高了缓存器中存储的验证码的安全性。
12.在一种可能的实施方式中,本技术实施例提供的验证码生成方法,还包括:
13.接收客户端发送的第二验证码;按照预设加密方法对第二验证码进行加密处理,生成第二加密字符串;判断第二加密字符串与第一加密字符串是否一致;若第二加密字符
串与第一加密字符串一致,则验证成功,并发送第二提示信息至客户端,第二提示信息用于提示用户验证码验证成功。
14.本技术实施例中,通过对客户端发送的第二验证码,采用与第一验证码相同的加密方式进行加密,生成第二验证码的加密字符串,与第一验证码的加密字符串进行比对,相比于直接对比第一验证码和第二验证码,提高了验证码验证的安全性。
15.在一种可能的实施方式中,本技术实施例提供的验证码生成方法,利用预设加密方法对第一验证码进行加密处理,生成第一加密字符串,包括:
16.获取预设密钥、第一验证码以及第一当前时间戳;对预设密钥、第一验证码以及第一当前时间戳进行拼接,生成第一待加密字符串;对第一待加密字符串进行加密处理,生成第一加密字符串。
17.按照预设加密方法对第二验证码进行加密,生成第二加密字符串,包括:
18.获取预设密钥、第二验证码以及第二当前时间戳之前的多个预设时间;对预设密钥、第二验证码和多个预设时间进行拼接,生成多个第二待加密字符串;对多个第二待加密字符串进行加密处理,生成多个第二加密字符串,多个第二加密字符串与多个预设时间一一对应;则判断第二加密字符串与第一加密字符串是否一致,包括:判断多个第二加密字符串中是否存在第二加密字符串与第一加密字符串一致;若存在,则验证成功。
19.本技术实施例中,通过对拼接的预设密钥、验证码和当前时间戳进行加密处理,生成验证码的加密字符串,不仅可以提高验证码的安全性,而且,还可以通过当前时间戳以及预设时间,设置验证码的有效时间,保证了验证码的时效性。
20.在一种可能的实施方式中,本技术实施例提供的验证码生成方法,利用预设加密方法对第一验证码进行加密处理,包括:
21.通过信息摘要5(message-digest 5;md5)加密算法对第一验证码进行加密处理。
22.本技术实施例中,通过采用md5加密算法对验证码进行加密处理,避免了恶意通过技术手段推算验证码,进一步保证了验证码的安全性。
23.在一种可能的实施方式中,对第一验证码中的每个字符按照预设规则进行渲染包括:
24.按照第一验证码中每个字符的字符顺序,对每个字符按照大小、颜色、粗细或位置中的任意一种或多种方式进行渲染。
25.下面介绍本技术实施例提供的验证码生成装置、验证码登录系统、电子设备、计算机可读存储介质以及计算机程序产品,其内容和效果可参考本技术实施例提供的验证码生成方法,不再赘述。
26.第二方面,本技术提供一种验证码生成装置,包括:
27.生成模块,用于响应于客户端的验证登录请求,生成第一验证码。
28.第一发送模块,用于将第一验证码,发送至缓存器进行存储。
29.第一处理模块,用于对第一验证码中的每个字符按照预设规则进行渲染,并将渲染后的字符随机组合成验证码图片。
30.第二发送模块,还用于将验证码图片和第一提示信息发送至客户端,第一提示信息用于提示用户按照预设规则输入第一验证码。
31.在一种可能的实施方式中,本技术实施例提供的验证码生成装置,
32.第一处理模块还用于利用预设加密装置对第一验证码进行加密处理,生成第一加密字符串;第一发送模块,具体用于将第一加密字符串发送至缓存器进行存储。
33.在一种可能的实施方式中,本技术实施例提供的验证码生成装置,还可以包括:
34.接收模块,用于接收客户端发送的第二验证码。
35.第二处理模块,用于按照预设加密装置对第二验证码进行加密处理,生成第二加密字符串;判断第二加密字符串与第一加密字符串是否一致。
36.第二发送模块,还用于若第二加密字符串与第一加密字符串一致,则发送第二提示信息至客户端,第二提示信息用于提示用户验证码验证成功。
37.在一种可能的实施方式中,第一处理模块,具体用于:
38.获取预设密钥、第一验证码以及第一当前时间戳;对预设密钥、第一验证码以及第一当前时间戳进行拼接,生成第一待加密字符串;对第一待加密字符串进行加密处理,生成第一加密字符串。
39.第二处理模块,具体用于:
40.获取预设密钥、第二验证码以及第二当前时间戳之前的多个预设时间;对预设密钥、第二验证码和多个预设时间进行拼接,生成多个第二待加密字符串;对多个第二待加密字符串进行加密处理,生成多个第二加密字符串,多个第二加密字符串与多个预设时间一一对应;判断多个第二加密字符串中是否存在第二加密字符串与第一加密字符串一致;若存在,则验证成功。
41.在一种可能的实施方式中,第一处理模块,具体用于:
42.通过md5加密算法对第一验证码进行加密处理。
43.在一种可能的实施方式中,第一处理模块,具体用于:
44.按照第一验证码中每个字符的字符顺序,对每个字符按照大小、颜色、粗细或位置中的任意一种或多种方式进行渲染。
45.第三方面,本技术实施例提供一种验证码登录系统,包括客户端和服务器。
46.客户端发送验证登录请求至服务器;服务器响应于客户端的验证登录请求,生成第一验证码,并将第一验证码,发送至缓存器进行存储;对第一验证码中的每个字符按照预设规则进行渲染,并将渲染后的字符随机组合成验证码图片;然后将验证码图片和第一提示信息发送至客户端,第一提示信息用于提示用户按照预设规则输入第一验证码;客户端接收并显示验证码图片和第一提示信息,接收用户输入的第二验证码并将第二验证码发送至服务器;服务器接收客户端发送的第二验证码,并判断第二验证码与第一验证码是否一致,以执行客户端的验证登录。
47.第四方面,本技术实施例提供一种电子设备,包括:
48.处理器,以及与处理器通信连接的存储器;
49.存储器存储计算机执行指令;
50.处理器执行存储器存储的计算机执行指令,以实现第一方面或第一方面可实现方式提供验证码生成方法。
51.第五方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面或第一方面可实现方式提供的验证码生成方法。
52.第六方面,本技术实施例提供一种计算机程序产品,包括计算机执行指令,该计算机执行指令被处理器执行时用于实现如第一方面或第一方面可实现方式提供的验证码生成方法。
53.本技术提供的验证码生成方法、装置、验证码登录系统及电子设备,通过响应于客户端的验证登录请求,生成第一验证码;将第一验证码,发送至缓存器进行存储;然后对第一验证码中的每个字符按照预设规则进行渲染,并将渲染后的字符随机组合成验证码图片;进而将验证码图片和第一提示信息发送至客户端,第一提示信息用于提示用户按照预设规则输入第一验证码。由于服务器通过生成验证码之后,对验证码中的每个字符,按照预设规则进行渲染,然后将渲染后的字符随机组合成验证码图片,并提示用户按照预设规则输入验证码,提高了验证码的安全性。
附图说明
54.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
55.图1是本技术实施例提供的一示例性应用场景架构图;
56.图2是本技术一实施例提供的验证码生成方法的流程示意图;
57.图3a-3b是本技术一实施例提供的验证码的示意图;
58.图4a-4b是本技术一实施例提供的验证码图片的示意图;
59.图5是本技术一实施例提供的客户端的界面示意图;
60.图6是本技术另一实施例提供的验证码生成方法的流程示意图;
61.图7是本技术又一实施例提供的验证码生成方法的流程示意图;
62.图8是本技术一实施例提供的验证码生成装置的结构示意图;
63.图9是本技术另一实施例提供的验证码生成装置的结构示意图;
64.图10是本技术实施例提供的验证码登录系统的工作流程示意图;
65.图11是本技术实施例提供的电子设备的结构示意图。
66.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
67.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
68.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的
那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
69.随着网络技术的发展,互联网已涉及到人们工作学习和生活的各个领域,在当今信息网络时代,信息安全显得越来越重要。验证码技术在登录系统有着广泛的应用,许多网络应用在登录时都需要用到验证码,可以有效防止登录用户时恶意使用程序暴力破解方式进行不断的登录尝试。然而现有技术中验证码生成方式,通常是产生一个随机字符串,将此字符串存到内存中,并生成验证码图片显示给用户,验证码的安全性较低。
70.本技术实施例提供的验证码生成方法、装置、验证码登录系统及电子设备的发明构思在于,通过生成验证码之后,对验证码中的每个字符,按照预设规则进行渲染,然后将渲染后的字符随机组合成验证码图片,并提示用户按照预设规则输入验证码,提高了验证码的安全性。另外,本技术实施例还通过对验证码进行加密处理的方式,保证存储的验证码的安全性,以及通过在加密验证码时,同时存储当前时间戳的方式,设置了验证码的时效,进一步保证了验证码的安全性。
71.以下,对本技术实施例的示例性应用场景进行介绍。
72.本技术实施例提供的验证码生成方法可以通过本技术实施例提供的验证码生成装置执行,本技术实施例提供的验证码生成装置可以集成在服务器上,或者该验证码生成装置可以为服务器本身。本技术实施例对服务器的具体类型不做限制。
73.日常工作和生活中,在网页账户登录界面,通常需要用户输入验证码的方式,确认登录者为用户本人,而非恶意软件的自动识别登录,进而保护了用户账户的信息安全。图1是本技术实施例提供的一示例性应用场景架构图,如图1所示,该架构主要包括:终端设备11(个人电脑)和服务器12。通过终端设备11的客户端获取用户的验证登录请求,并将验证登录请求发送至服务器12,然后通过服务器12生成验证码图片,并发送至客户端,终端设备11显示验证码图片,用户对验证码图片进行识别,输入验证码至客户端,客户端接收用户输入的验证码,并将用户输入的验证码发送至服务器12,服务器12对验证码进行验证,以执行登录。本技术实施例仅以此为例,并不限于此。例如,终端设备还可以是平板电脑、智能手机、车载终端等。
74.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
75.图2是本技术一实施例提供的验证码生成方法的流程示意图,该方法可以由验证码生成装置执行,该装置可以通过软件和/或硬件的方式实现,下面以服务器为执行主体对验证码生成方法进行说明。如图2所示,本技术实施例提供的验证码生成方法可以包括:
76.步骤s101:响应于客户端的验证登录请求,生成第一验证码。
77.用户在通过客户端登录用户账户时,客户端向服务器发送验证登录请求,服务器响应于客户端的验证登录请求,生成第一验证码,本技术实施例对服务器生成第一验证码的具体实现方式不做限制,例如可以通过现有技术中生成第一验证码的方式生成。第一验证码可以包括数字、汉字、符号、英文大写字母或英文小写字母等中的一种或多种的任意组合,本技术实施例对此不做限制。
78.步骤s102:将第一验证码,发送至缓存器进行存储。
79.服务器在生成第一验证码之后,将第一验证码发送至缓存器中进行存储,为后续服务器对验证码的验证过程做准备。
80.步骤s103:对第一验证码中的每个字符按照预设规则进行渲染,并将渲染后的字符随机组合成验证码图片。
81.服务器除了将第一验证码发送至缓存器中存储之外,还需要对第一验证码中的每个字符按照预设规则进行渲染,并将渲染后的字符随机组合成验证码图片。
82.本技术实施例对第一验证码的每个字符按照预设规则进行渲染的方式不做限制,在一种可能的实施方式中,对第一验证码中的每个字符按照预设规则进行渲染包括:
83.按照第一验证码中每个字符的字符顺序,对每个字符按照大小、颜色、粗细或位置中的任意一种或多种方式进行渲染。
84.为了便于理解,本技术实施例以第一验证码为五个英文字母即abcde为例进行介绍,本技术实施例并不限于此。在一种可能的实施方式中,图3a-3b是本技术一实施例提供的验证码的示意图,如图3a所示,服务器按照第一验证码中abcde的顺序,分别对a、b、c、d、e以从大到小的顺序进行渲染。或者如图3b所示,服务器按照第一验证码中abcde的顺序,分别对a、b、c、d、e以从小到大的顺序进行渲染。
85.在另一种可能的实施方式中,服务器还可以按照第一验证码中abcde的顺序,按照颜色明亮程度、按照线条的粗细、按照各字母的位置高低等等任意一种或多种规则对a、b、c、d、e进行渲染,本技术实施例不再赘述。
86.在对第一验证码中的每个字符按照预设规则进行渲染之后,将渲染后的字符随机组合成验证码图片。以上述第一验证码为abcde且服务器按照图3a的方式渲染第一验证码为例,图4a-4b是本技术一实施例提供的验证码图片的示意图,服务器将渲染后的abcde随机组合的验证码图片,例如可以为图4a或者图4b,还可以为其他随机组合形式。本技术实施例仅以此为例,并不限于此。
87.步骤s104:将验证码图片和第一提示信息发送至客户端。
88.服务器生成验证码图片之后,将验证码图片和第一提示信息发送至客户端,其中,第一提示信息用于提示用户按照预设规则输入第一验证码。本技术实施例对验证码图片的大小、清晰度等不做限制,对第一提示信息的具体内容、形式等也不做限制,只要用户能够理解和识别即可。
89.为便于理解,本技术实施例以验证码图片为图4a中的图片,客户端为手机客户端为例,图5是本技术一实施例提供的客户端的界面示意图,如图5所示,在客户端的登录界面,用户输入账户和密码之后,显示服务器发送的验证码图片,并附有“请按照字母大小顺序输入验证码”的第一提示信息,以提示用户按照预设规则输入第一验证码。用户通过识别验证码图片以及第一提示信息可知,验证码为abcde。本技术实施例仅以上述为例,并不限于此。
90.客户端接收用户输入的第二验证码,并将第二验证码发送至服务器,服务器对比第一验证码和第二验证码是否一致,若第一验证码和第二验证码一致,则验证通过,执行客户端的验证登录,若第一验证码和第二验证码不一致,则登录失败。不管验证结果是否成功,均失效掉缓存器中的第一验证码。
91.本技术实施例中,由于服务器通过生成验证码之后,对验证码中的每个字符,按照
预设规则进行渲染,然后将渲染后的字符随机组合成验证码图片,并提示用户按照预设规则输入验证码,提高了验证码的安全性。
92.在图2所示的实施例的基础上,在一种可能的实施方式中,图6是本技术另一实施例提供的验证码生成方法的流程示意图,该方法可以由验证码生成装置执行,该装置可以通过软件和/或硬件的方式实现,下面以服务器为执行主体对验证码生成方法进行说明,如图6所示,本技术实施例提供的验证码生成方法,步骤s102将第一验证码,发送至缓存器进行存储,可以包括:
93.步骤s201:利用预设加密方法对第一验证码进行加密处理,生成第一加密字符串。
94.步骤s202:将第一加密字符串发送至缓存器进行存储。
95.在生成第一验证码之后,服务器利用预设加密方法对第一验证码进行加密处理,本技术实施例对第一验证码加密的预设加密方法不做限制。例如,预设加密方法可以是对称加密算法、非对称加密算法或md5加密算法。在一种可能的实施方式中,利用预设加密方法对第一验证码进行加密处理,可以是利用对称加密算法、非对称加密算法或md5加密算法,对第一验证码进行加密处理。其中,由于md5加密算法是不可逆的,通过采用md5加密算法对第一验证码进行加密处理,避免了恶意通过技术手段推算验证码,进一步保证了验证码的安全性。
96.服务器在生成第一加密字符串之后,将第一加密字符串发送至缓存器中进行存储。
97.本技术实施例中,通过利用预设加密方法对验证码进行加密处理,并将加密字符串存储至缓存器中,提高了缓存器中存储的验证码的安全性。
98.在上述实施例的基础上,在一种可能的实施方式中,图7是本技术又一实施例提供的验证码生成方法的流程示意图,该方法可以由验证码生成装置执行,该装置可以通过软件和/或硬件的方式实现,下面以服务器为执行主体对验证码生成方法进行说明,如图7所示,本技术实施例提供的验证码生成方法,在步骤s104将验证码图片和第一提示信息发送至客户端之后,还可以包括:
99.步骤s301:接收客户端发送的第二验证码。
100.步骤s302:按照预设加密方法对第二验证码进行加密处理,生成第二加密字符串。
101.步骤s303:判断第二加密字符串与第一加密字符串是否一致。
102.步骤s304:若第二加密字符串与第一加密字符串一致,则验证成功,并发送第二提示信息至客户端。
103.用户通过识别验证码图片和第一提示信息,输入第二验证码,客户端接收用户输入的第二验证码之后,将第二验证码发送至服务器,服务器接收客户端发送的第二验证码,并按照预设加密方法对第二验证码进行加密处理,生成第二加密字符串。若第二验证码与第一验证码相同,则通过相同的预设加密方法对第二验证码进行加密处理生成的第二加密字符串,应该与第一加密字符串一致。
104.服务器通过判断第二加密字符串与第一加密字符串是否一致,判断第二验证码和第一验证码是否一致,若第二加密字符串与第一加密字符串一致,则表示用户输入的第二验证码与第一验证码一致,则验证成功,发送第二提示信息至客户端,第二提示信息用于提示用户验证码验证成功。若第二加密字符串与第一加密字符串不一致,则表示用户输入的
第二验证码与第一验证码不一致,则验证失败,服务器可以向客户端发送第三提示信息,提示用户验证码验证失败。
105.本技术实施例中,通过对客户端发送的第二验证码,采用与第一验证码相同的加密方式进行加密,生成第二验证码的加密字符串,与第一验证码的加密字符串进行比对,相比于直接对比第一验证码和第二验证码,提高了验证码验证的安全性。
106.在上述实施例的基础上,在一种可能的实施方式中,本技术实施例可以通过将预设密钥、当前时间戳和验证码进行拼接为待加密字符串,进行加密处理的方式,实现对验证码时效性控制。基于此,本技术实施例提供的验证码生成方法的步骤s201利用预设加密方法对第一验证码进行加密处理,生成第一加密字符串,可以包括:
107.获取预设密钥、第一验证码以及第一当前时间戳;对预设密钥、第一验证码以及第一当前时间戳进行拼接,生成第一待加密字符串;对第一待加密字符串进行加密处理,生成第一加密字符串。
108.预设密钥可以是每天随机生成的16位随机数字或字母,第一当前时间戳可以为生成第一验证码的当前时间戳,对预设密钥、第一验证码和当前时间戳可以通过拼接符号拼接。例如,第一验证码为abcde,预设密钥为1234567890123456,第一当前时间戳为1634375609,拼接符号为&,则第一待加密字符串为1234567890123456&abcde&1634375609。其中,拼接符号还可以为#、¥、*等其他特殊符号,本技术实施例不限于&。对第一待加密字符串进行加密处理,可以通过对称加密算法、非对称加密算法或者md5加密算法进行加密处理,生成第一加密字符串。
109.则本技术实施例提供的验证码生成方法的步骤s302按照预设加密方法对第二验证码进行加密,生成第二加密字符串,可以包括:
110.获取预设密钥、第二验证码以及第二当前时间戳之前的多个预设时间;对预设密钥、第二验证码和多个预设时间进行拼接,生成多个第二待加密字符串;对多个第二待加密字符串进行加密处理,生成多个第二加密字符串,多个第二加密字符串与多个预设时间一一对应。
111.第二当前时间戳为接收第二验证码时的当前时间戳,第二当前时间戳之前的多个预设时间,可以是第二当前时间戳之前1秒、第二当前时间戳之前2秒、
……
、第二当前时间戳之前n秒,其中n为正整数。对预设密钥、第二验证码和多个预设时间进行拼接,生成多个第二待加密字符串,然后分别对每个第二加密字符串进行加密处理得到多个第二加密字符串。
112.本技术实施例可以通过设置n的数值,设置验证码的时效。例如,设置n为10,则表示验证码的有效时间为10秒,这意味着输入第二验证码的时间与生成第一验证码的时间间隔不能超过10秒,否则验证码无效。本技术实施例对n的具体数值不做限制,具体可以根据不同的用户需求,设置不同的验证码时效。
113.在上述实施例的基础上,本技术实施例提供的验证码生成方法的步骤s303判断第二加密字符串与第一加密字符串是否一致,可以包括:判断多个第二加密字符串中是否存在第二加密字符串与第一加密字符串一致。
114.通过判断多个第二加密字符串中,是否存在第二加密字符串与第一加密字符串一致,可以判断在验证码的时效内,是否接收到了客户端发送的第二验证码。
115.本技术实施例中,通过对拼接的预设密钥、验证码和当前时间戳进行加密处理,生成验证码的加密字符串,不仅可以提高验证码的安全性,而且,还可以通过当前时间戳以及预设时间,设置验证码的有效时间,保证了验证码的时效性。
116.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
117.图8是本技术一实施例提供的验证码生成装置的结构示意图,该装置可以通过软件和/或硬件的方式实现,例如可以通过服务器实现,如图8所示,本技术实施例提供的验证码生成装置可以包括:生成模块41、第一发送模块42、第一处理模块43和第二发送模块44。
118.生成模块41,用于响应于客户端的验证登录请求,生成第一验证码。
119.第一发送模块42,用于将第一验证码,发送至缓存器进行存储。
120.第一处理模块43,用于对第一验证码中的每个字符按照预设规则进行渲染,并将渲染后的字符随机组合成验证码图片。
121.第二发送模块44,还用于将验证码图片和第一提示信息发送至客户端,第一提示信息用于提示用户按照预设规则输入第一验证码。
122.在一种可能的实施方式中,第一处理模块43,具体用于:
123.按照第一验证码中每个字符的字符顺序,对每个字符按照大小、颜色、粗细或位置中的任意一种或多种方式进行渲染。
124.本实施例的装置可以执行上述图2所示的方法实施例,其技术原理和技术效果与上述实施例相似,此处不再赘述。
125.在图8所示实施例的基础上,进一步地,在一种可能的实施方式中,本技术实施例提供的验证码生成装置,第一处理模块43还用于利用预设加密装置对第一验证码进行加密处理,生成第一加密字符串;第一发送模块42,具体用于将第一加密字符串发送至缓存器进行存储。
126.在一种可能的实施方式中,第一处理模块43,具体用于:
127.通过md5加密算法对第一验证码进行加密处理。
128.本实施例的装置可以执行上述图6所示的方法实施例,其技术原理和技术效果与上述实施例相似,此处不再赘述。
129.在图8所示实施例的基础上,进一步地,图9是本技术另一实施例提供的验证码生成装置的结构示意图,该装置可以通过软件和/或硬件的方式实现,例如可以通过服务器实现,如图9所示,本技术实施例提供的验证码生成装置,还可以包括接收模块45和第二处理模块46。
130.接收模块45,用于接收客户端发送的第二验证码。
131.第二处理模块46,用于按照预设加密装置对第二验证码进行加密处理,生成第二加密字符串;判断第二加密字符串与第一加密字符串是否一致。
132.第二发送模块44,还用于若第二加密字符串与第一加密字符串一致,则发送第二提示信息至客户端,第二提示信息用于提示用户验证码验证成功。
133.在一种可能的实施方式中,第一处理模块43,具体用于:
134.获取预设密钥、第一验证码以及当前时间戳;对预设密钥、第一验证码以及当前时间戳进行拼接,生成第一待加密字符串;对第一待加密字符串进行加密处理,生成第一加密
字符串。
135.第二处理模块46,具体用于:
136.获取预设密钥、第二验证码以及当前时间戳之前的多个预设时间;对预设密钥、第二验证码和多个预设时间进行拼接,生成多个第二待加密字符串;对多个第二待加密字符串进行加密处理,生成多个第二加密字符串,多个第二加密字符串与多个预设时间一一对应;判断多个第二加密字符串中是否存在第二加密字符串与第一加密字符串一致;若存在,则验证成功。
137.本实施例的装置可以执行上述图7所示的方法实施例,其技术原理和技术效果与上述实施例相似,此处不再赘述。
138.本技术所提供的装置实施例仅仅是示意性的,图8和图9中的模块划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个模块可以结合或者可以集成到另一个系统。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。
139.本技术实施例提供一种验证码登录系统,包括客户端和服务器,图10是本技术实施例提供的验证码登录系统的工作流程示意图,如图10所示,本技术实施例提供的验证码登录系统,包括:
140.步骤s401:客户端发送验证登录请求至服务器。
141.步骤s402:服务器响应于客户端的验证登录请求,生成第一验证码,并将第一验证码,发送至缓存器进行存储;对第一验证码中的每个字符按照预设规则进行渲染,并将渲染后的字符随机组合成验证码图片。
142.步骤s403:服务器将验证码图片和第一提示信息发送至客户端。
143.第一提示信息用于提示用户按照预设规则输入第一验证码。
144.步骤s404:客户端接收并显示验证码图片和第一提示信息,接收用户输入的第二验证码并将第二验证码发送至服务器。
145.步骤s405:服务器接收客户端发送的第二验证码,并判断第二验证码与第一验证码是否一致,以执行客户端的验证登录。
146.本技术实施例中,在用户登录账户的过程中,触发客户端发送验证码登录请求至服务器,服务器响应于客户端的验证登录请求,生成第一验证码,并将第一验证码发送至缓存器进行存储,以及对第一验证码中的每个字符按照预设规则进行渲染,并将渲染后的字符随机组合成验证码图片,将验证码图片和第一提示信息发送至客户端。客户端接收并显示验证码图片和第一提示信息,用户通过客户端显示的验证码图片和第一提示信息,输入第二验证码至客户端,客户端接收用户输入的第二验证码并将第二验证码发送至服务器,服务器接收客户端发送的第二验证码,并判断第二验证码与第一验证码是否一致,以执行客户端的验证登录。
147.图11是本技术实施例提供的电子设备的结构示意图,电子设备可以为服务器,如图11所示,该电子设备包括:
148.接收器50、发送器51、处理器52和存储器53以及计算机程序;其中,接收器50和发
送器51,实现与其他设备之间的数据传输,计算机程序被存储在存储53中,并且被配置为由处理器52执行,计算机程序包括用于执行上述验证码生成方法的指令,其内容及效果请参考方法实施例。
149.此外,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。
150.其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
151.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
152.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由权利要求书指出。
153.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1