1.本技术涉及信息安全技术领域,尤其涉及一种
密码验证方法及装置。
背景技术:
2.虚位密码是在正确的密码前面和后面加上任意位数的数字,只要中间有连续正确的密码就可以通过验证。
3.虚位密码相比于固定密码,其安全等级更高,密码泄露风险更小,可以随意增加长度,从而增加用户使用的安全性。
4.但是,由于虚位密码的可复制性,不法分子通过多次窥探密码输入,可以将密码数字整合对比,出数组之间的交集,从而获取真实密码,导致虚位密码的安全性较低。
技术实现要素:
5.有鉴于此,本技术实施例提供了一种密码验证方法及装置,旨在增强虚位密码中
目标密码
序列的随机性,进而提高虚位密码的安全性。
6.第一方面,本技术实施例提供了一种密码验证方法,
所述方法包括:
7.获取目标用户输入的第一密码序列,所述第一密码序列包括多个数字;
8.响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列;
9.响应于所述目标密码序列与预设的第二密码序列匹配,确定所述第一密码序列通过验证,所述预设的第二密码序列为正确的密码序列。
10.优选地,在所述确定所述第一密码序列的目标密码序列之前,所述方法还包括:
11.响应于所述第一密码序列的位数大于所述预设的第二密码序列的位数,执行所述确定所述第一密码序列的目标密码序列的步骤。
12.优选地,在所述确定所述第一密码序列的目标密码序列之前,所述方法还包括:
13.响应于所述第一密码序列的位数小于预设的第二密码序列的位数,发送提示信息,所述提示信息用于提示所述第一密码序列错误。
14.优选地,所述响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列包括:根据第一密码序列的首位数字,利用第一预设算法,确定所述目标密码序列在所述第一密码序列的位置。
15.优选地,所述在确定所述第一密码序列的目标密码序列之后,所述方法还包括:
16.根据所述第一密码序列中第二位数字,确定第二预设算法的类型;
17.根据所述第二预设算法,对所述目标密码序列进行加密,得到加密后的目标密码序列;
18.响应于所述加密后的目标密码序列与所述第二密码序列匹配,确定所述第一密码序列通过验证。
19.第二方面,本技术实施例提供了一种密码验证装置,所述装置包括:
20.第一获取模块,用于获取目标用户输入的第一密码序列,所述第一密码序列包括多个数字;
21.第一确定模块,用于响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列;
22.第二确定模块,用于响应于所述目标密码序列与预设的第二密码序列匹配,确定所述第一密码序列通过验证,所述预设的第二密码序列为正确的密码序列。
23.优选地,所述第一确定模块,具体用于根据第一密码序列的首位数字,利用第一预设算法,确定所述目标密码序列在所述第一密码序列的位置。
24.优选地,所述装置还包括:
25.第三确定模块,用于根据所述第一密码序列中第二位数字,确定第二预设算法的类型;
26.加密模块,用于根据所述第二预设算法,对所述目标密码序列进行加密,得到加密后的目标密码序列;
27.第四确定模块,用于响应于所述加密后的目标密码序列与所述第二密码序列匹配,确定所述第一密码序列通过验证。
28.第三方面,本技术实施例提供了一种电子设备,所述电子设备包括:
29.存储器,用于存储一个或多个程序;
30.处理器;当所述一个或多个程序被所述处理器执行时,实现前述第一方面任一项所述的密码验证方法。
31.第四方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质中存储有程序,当所述程序被处理器执行时,实现前述第一方面任一项所述的密码验证方法。
32.上述技术方案具有如下有益效果:
33.本技术实施例提供了一种密码验证方法及装置。在执行所述方法时,先获取目标用户输入的第一密码序列,其中,所述第一密码序列包括多个数字;然后响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列;最后响应于所述目标密码序列与预设的第二密码序列匹配,确定所述第一密码序列通过验证,所述预设的第二密码序列为正确的密码序列。这样,通过目标用户输入的密码序列,利用第一预设算法,确定出密码序列中首位数字对应的目标密码序列,增强目标密码序列的随机性,进而提高虚位密码的安全性。
附图说明
34.为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为本技术实施例提供的密码验证方法的一种方法流程图;
36.图2为本技术实施例提供的密码验证装置的一种结构示意图。
具体实施方式
37.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
38.虚位密码是在正确的密码前面和后面加上任意位数的数字,只要中间有连续正确的密码就可以通过验证。虚位密码相比于固定密码,其安全等级更高,密码泄露风险更小,可以随意增加长度,从而增加用户使用的安全性。
39.但是,通过多次窥探密码输入,不法分子可以将密码数字整合对比,出数组之间的交集,从而获取真实密码,导致虚位密码的安全性较低。
40.为了克服上述技术问题,本技术实施例提供了一种密码验证方法,该方法可以由一种密码验证装置来执行,该装置可以由软件和/或硬件的方式实现,并一般可集成于终端设备中。
41.需要说明的是,本技术提供的一种密码验证方法及装置可用于信息安全技术领域或金融领域。上述仅为实例,并不对本技术提供的一种密码验证方法及装置的应用领域进行限定。
42.参见图1,图1为本技术实施例提供的密码验证方法的一种方法流程图,该方法可以包括:
43.步骤s101:获取目标用户输入的第一密码序列,所述第一密码序列包括多个数字。
44.具体地,本技术实施例中,可以由终端设备获取目标用户输入的第一密码序列;其中,所述第一密码序列包括多个数字。例如:目标用户可以在终端设备的操作界面上,输入第一密码序列“123456”,终端设备获取该第一密码序列,方便后续根据第一密码序列的首位数字,利用第一预设算法,确定所述第一密码序列的目标密码序列。
45.步骤s102:响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列。
46.本技术实施例中,在终端设备获取到目标用户输入的第一密码序列后,当所述第一密码序列的首位数字为预设数字时,则可以根据第一预设算法,确定出所述第一密码序列的目标密码序列,其中,所述第一预设算法用于确定所述第一密码序列的目标密码序列。
47.可以理解的是,本技术实施例将所述第一密码序列的目标密码序列作为验证序列,便于后续验证目标密码序列是否与预设的正确密码序列匹配。
48.需要说明的是,本技术实施例通过目标用户输入的第一密码序列的首位,利用第一预设算法,确定用于验证的目标密码序列,增强虚位密码中目标密码序列的随机性,进而提高虚位密码的安全性。
49.需要说明的是,当目标用户输入的第一密码序列携带有目标位数标识时,则可以直接通过目标位数标识,确定出述第一密码序列的目标密码序列,不需要判断第一密码序列的首位数字为是否为预设数字。例如:当目标用户输入第一密码序列为“123456789”,其中,目标位数标识为第4位,则可以直接确定出用于验证的目标密码序列为“456789”,此时,不需要判断第一密码序列的首位数字是否为预设数字。
50.作为一种优选地实施方式,在所述确定所述第一密码序列的目标密码序列之前,
所述方法可以包括:当目标用户输入的第一密码序列的位数大于预设的正确密码序列时,则执行步骤s102,确定出第一密码序列的目标密码序列。
51.当目标用户输入的第一密码序列的位数小于预设的正确密码序列时,则终端设备可以发送提示消息,所述提示消息用于提示目标用户输入的第一密码序列错误。例如:当正确密码为245679,目标用户输入5位的第一密码序列12345,则终端设备可以发送提示消息,提示目标用户输入的第一密码序列错误。
52.作为一种优选地实施方式,所述响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列可以包括:根据目标用户输入的第一密码序列的首位数字,利用第一预设算法,确定出所述目标密码序列在所述第一密码序列的位置,其中,第一预设算法用于确定所述目标密码序列在所述第一密码序列的位置。需要说明的是,第一预设算法可以由管理人员预先设定。
53.例如:假设预先设定的第一预设算法为:当目标用户输入的第一密码序列的首位数字为1时,对应的目标密码序列是所述第一密码序列中第三位到最后一位的密码序列。此时,若目标用户输入第一密码序列为“123456789”,可以根据第一预设算法,确定出所述第一密码序列的第一目标密码序列为“3456789”。假设预先设定的第一预设算法为,当目标用户输入的第一密码序列的首位数字为2时,对应的目标密码序列是所述第一密码序列中第四位到最后一位的密码序列。此时,若目标用户输入第一密码序列为“23456789”,可以根据第一预设算法,确定出所述第一密码序列的第一目标密码序列为“56789”。
54.可以看出,本技术实施例通过目标用户输入的第一密码序列的首位,利用第一预设算法,确定用于验证的目标密码序列,从而增强虚位密码中目标密码序列的随机性,进而提高虚位密码的安全性。
55.步骤s103:响应于所述目标密码序列与预设的第二密码序列匹配,确定所述第一密码序列通过验证,所述预设的第二密码序列为正确的密码序列。
56.具体地,本技术实施例中,通过步骤s102,确定出所述第一密码序列的目标密码序列后,将所述目标密码序列与预设的第二密码序列进行匹配,若匹配成功,则确定所述第一密码序列通过验证。
57.需要说明的是,本技术实施例中,可以将目标用户最近6次输入的错误密码序列记录在数据库中,在目标用户再次输入密码序列时,会先检查目标用户此次输入的密码序列是否与数据库中记载的错误密码序列是否相同,若相同,则终端设备可以发送提示消息,所述提示消息用于提示目标用户此次输入的密码序列错误,从而提高密码验证的效率。
58.从上述技术方案可以看出,本技术实施例中先获取目标用户输入的第一密码序列,其中,所述第一密码序列包括多个数字;然后响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列;最后响应于所述目标密码序列与预设的第二密码序列匹配,确定所述第一密码序列通过验证,所述预设的第二密码序列为正确的密码序列。这样,通过目标用户输入的密码序列,利用第一预设算法,确定出密码序列中首位数字对应的目标密码序列,增强目标密码序列的随机性,进而提高虚位密码的安全性。
59.例如:假设正确的密码序列为“3456789”,预先设定的第一预设算法为:当目标用户输入的第一密码序列的首位数字为1时,对应的目标密码序列是所述第一密码序列中第
三位到最后一位的密码序列,当目标用户输入的第一密码序列的首位数字为2时,对应的目标密码序列是所述第一密码序列中第四位到最后一位的密码序列。
60.当目标用户第一次输入的密码序列为“123456789”,此时,目标密码序列为“3456789”;第二次输入的密码序列为“223456789”,此时,目标密码序列为“456789”。
61.即使第二次输入的密码序列包含正确的密码序列,由于预先设定的第一预设算法中当目标用户输入的第一密码序列的首位数字为2时,对应的目标密码序列是所述第一密码序列中第四位到最后一位的密码序列,此时,目标密码序列为“456789”,与正确的密码序列为“3456789”不匹配,无法通过验证,即使被不法分子窥探到两次输入的密码序列,也无法获取真实密码。
62.由此可见,目标用户两次输入的密码序列除了首位不同外,其他位全部相同的情况下,由于首位不同,得到的目标密码序列也不相同,这样一来,增强目标密码序列的随机性,进而提高虚位密码的安全性。
63.作为一种优选的实施方式,所述在确定所述第一密码序列的目标密码序列之后,所述方法可以包括:根据目标用户输入的第一密码序列中第二位数字,确定出第二预设算法的类型后,可以根据第二预设算法,对所述第一密码序列的目标密码序列进行加密,从而得到加密后的目标密码序列,将所述加密后的目标密码序列与所述第二密码序列进行匹配,若匹配成功,则确定所述第一密码序列通过验证。
64.例如:当目标用户输入第一密码序列为“123456789”,确定出的目标密码序列为“456789”,则可以根据第一密码序列的第二位“2”,确定出第二预设算法的类型为将目标密码序列中的第3位数字加2,则加密后的目标密码序列为“458789”,将所述加密后的目标密码序列与所述第二密码序列进行匹配,若匹配成功,则确定所述第一密码序列通过验证。
65.需要说明的是,本技术实施例第二预设算法的类型以及第一密码序列中第二位数字与第二预设算法的类型的对应关系可以由管理用户通过终端提前设定。
66.例如,当第一密码序列中第二位数字为“2”,第二预设算法的类型可以为“将目标密码序列中的第2位数字加2”,当第一密码序列中第二位数字为“3”,第二预设算法的类型可以为“将目标密码序列中的每一位数字加1”等。
67.以上为本技术实施例提供一种密码验证方法的一些具体实现方式,基于此,本技术还提供了对应的装置。下面将从功能模块化的角度对本技术实施例提供的装置进行介绍。
68.参见图2所示的一种密码验证装置的结构举例示意图,该装置包括第一获取模块100、第一确定模块200和第二确定模块300。
69.第一获取模块100,用于获取目标用户输入的第一密码序列,所述第一密码序列包括多个数字;
70.第一确定模块200,用于响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列;
71.第二确定模块300,用于响应于所述目标密码序列与预设的第二密码序列匹配,确定所述第一密码序列通过验证,所述预设的第二密码序列为正确的密码序列。
72.可选地,所述第一确定模块,具体用于根据第一密码序列的首位数字,利用第一预设算法,确定所述目标密码序列在所述第一密码序列的位置。
73.可选地,所述装置还包括:
74.第三确定模块,用于根据所述第一密码序列中第二位数字,确定第二预设算法的类型;
75.加密模块,用于根据所述第二预设算法,对所述目标密码序列进行加密,得到加密后的目标密码序列;
76.第四确定模块,用于响应于所述加密后的目标密码序列与所述第二密码序列匹配,确定所述第一密码序列通过验证。
77.从上述技术方案可以看出,本技术实施例中先获取目标用户输入的第一密码序列,其中,所述第一密码序列包括多个数字;然后响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列;最后响应于所述目标密码序列与预设的第二密码序列匹配,确定所述第一密码序列通过验证,所述预设的第二密码序列为正确的密码序列。这样,通过目标用户输入的密码序列,利用第一预设算法,确定出密码序列中首位数字对应的目标密码序列,增强目标密码序列的随机性,进而提高虚位密码的安全性。
78.本技术实施例还提供了一种电子设备,包括:存储器,用于存储一个或多个程序;
79.处理器;当所述一个或多个程序被所述处理器执行时,实现上述实施例中密码验证方法。
80.其中,处理器可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器可以采用数字信号处理dsp(digital signal processing)、现场可编程门阵列fpga(field-programmable gate array)、可编程逻辑阵列pla(programmable logic array)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器cpu(central processing unit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
81.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有程序,当所述程序被处理器执行时,实现上述实施例中密码验证方法。
82.本技术实施例中提到的“第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
83.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
84.本领域技术人员可以理解,图所示的流程图仅是本技术的实施方式可以在其中得以实现的一个示例,本技术实施方式的适用范围不受到该流程图任何方面的限制。
85.在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
86.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
87.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
88.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种密码验证方法,其特征在于,所述方法包括:获取目标用户输入的第一密码序列,所述第一密码序列包括多个数字;响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列;响应于所述目标密码序列与预设的第二密码序列匹配,确定所述第一密码序列通过验证,所述预设的第二密码序列为正确的密码序列。2.根据权利要求1所述的方法,其特征在于,在所述确定所述第一密码序列的目标密码序列之前,所述方法还包括:响应于所述第一密码序列的位数大于所述预设的第二密码序列的位数,执行所述确定所述第一密码序列的目标密码序列的步骤。3.根据权利要求1所述的方法,其特征在于,在所述确定所述第一密码序列的目标密码序列之前,所述方法还包括:响应于所述第一密码序列的位数小于预设的第二密码序列的位数,发送提示信息,所述提示信息用于提示所述第一密码序列错误。4.根据权利要求1所述的方法,其特征在于,所述响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列包括:根据第一密码序列的首位数字,利用第一预设算法,确定所述目标密码序列在所述第一密码序列的位置。5.根据权利要求1所述的方法,其特征在于,所述在确定所述第一密码序列的目标密码序列之后,所述方法还包括:根据所述第一密码序列中第二位数字,确定第二预设算法的类型;根据所述第二预设算法,对所述目标密码序列进行加密,得到加密后的目标密码序列;响应于所述加密后的目标密码序列与所述第二密码序列匹配,确定所述第一密码序列通过验证。6.一种密码验证装置,其特征在于,所述装置包括:第一获取模块,用于获取目标用户输入的第一密码序列,所述第一密码序列包括多个数字;第一确定模块,用于响应于所述第一密码序列的首位数字为预设数字,根据第一预设算法,确定所述第一密码序列的目标密码序列;第二确定模块,用于响应于所述目标密码序列与预设的第二密码序列匹配,确定所述第一密码序列通过验证,所述预设的第二密码序列为正确的密码序列。7.根据权利要求6所述的装置,其特征在于,所述第一确定模块,具体用于根据第一密码序列的首位数字,利用第一预设算法,确定所述目标密码序列在所述第一密码序列的位置。8.根据权利要求6所述的装置,其特征在于,所述装置还包括:第三确定模块,用于根据所述第一密码序列中第二位数字,确定第二预设算法的类型;加密模块,用于根据所述第二预设算法,对所述目标密码序列进行加密,得到加密后的目标密码序列;第四确定模块,用于响应于所述加密后的目标密码序列与所述第二密码序列匹配,确
定所述第一密码序列通过验证。9.一种电子设备,其特征在于,包括:存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现如权利要求1至5中任一项所述的方法。10.一种存储介质,其特征在于,所述存储介质上存储有程序,所述程序被处理器执行时实现权利要求1至5中任一项所述方法。
技术总结
本申请公开的一种密码验证方法及装置,可应用于信息安全技术领域或金融领域。在执行该方法时,先获取目标用户输入的第一密码序列,其中,第一密码序列包括多个数字;然后响应于第一密码序列的首位数字为预设数字,根据第一预设算法,确定第一密码序列的目标密码序列;最后响应于目标密码序列与预设的第二密码序列匹配,确定第一密码序列通过验证,预设的第二密码序列为正确的密码序列。这样,通过目标用户输入的密码序列,利用第一预设算法,确定出密码序列中首位数字对应的目标密码序列,增强目标密码序列的随机性,进而提高虚位密码的安全性。安全性。安全性。
技术研发人员:
吕明明
受保护的技术使用者:
中国银行股份有限公司
技术研发日:
2022.08.17
技术公布日:
2022/11/22