一种密码验证方法及其装置、服务器、通信系统与流程

文档序号:15818718发布日期:2018-11-02 22:53阅读:217来源:国知局
一种密码验证方法及其装置、服务器、通信系统与流程

本发明涉及通信技术领域,特别是涉及一种密码验证方法及其装置、服务器、通信系统。

背景技术

信息安全一直是社会热议的话题。目前非对称加密算法,基本上能满足信息的加密安全,但是由于用户的安全意识薄弱,将密码设置的十分简单,又或者在不经意间(如输入密码的过程中,未遮挡密码),造成密码泄露,极大影响到用户的信息安全。

传统技术提供一种动态口令认证方法,用户根据随机数及预设值计算出待验证码,并且由终端将该待验证码发送至服务器,服务器将预先设置的正确验证码与待验证码进行比对,以确定验证结果。

发明人在实现本发明的过程中,发现相关传统技术至少存在以下区别:由于该预设值是固定不变的,一些非法人员通过其它非法手段获取不同随机数及该随机数对应的验证码,轻而易举地推倒出登录模块计算出验证码的加密逻辑,例如,预设值是12,第一次随机数是6,则第一次验证码是18;第二次随机数是51,则第二次验证码是63。非法人员通过其它非法手段获取该两次的随机数及验证码,可以推倒出预设值是12,因此,在第三次随机数是23时,非法人员可以轻易地计算出验证码是35。



技术实现要素:

本发明实施例的一个目的旨在提供一种密码验证方法及其装置、服务器、通信系统,其解决了现有技术密码验证的安全性较差的技术问题。

为解决上述技术问题,本发明实施例提供以下技术方案:

在第一方面,本发明实施例公开一种密码验证方法,所述方法包括:获取待验证密码;确定随机数的每个随机位及所述每个随机位在预设数轴上的推算位数,所述每个随机位及推算位数皆用于指示用户计算出所述待验证密码;根据所述每个随机位及推算位数计算出标准密码;根据所述待验证密码及标准密码确定验证结果。

可选的,所述每个随机位及推算位数皆用于指示用户计算出所述待验证密码,包括:所述每个随机位用于指示用户在预设数轴上确定一个与所述每个随机位相等的预设数值;所述推算位数用于指示用户以所述预设数值为起始点,在预设数轴上循环推算至所述待验证密码的对应密码位,所述对应密码位在预设数轴上的位数值顺延所述推算位数的推算方向,与所述预设数值间隔所述推算位数减去自然数一后的位数。

可选的,所述预设数轴包括由自然数n组成的数轴,其中,自然数n为0-9中任一自然数,并且自然数n为预设数值。

可选的,所述推算位数的推算方向至少包括在所述预设数轴上的正推算方向与负推算方向。

可选的,所述确定所述每个随机位在预设数轴上的推算位数,包括:判断所述每个随机位在预设数轴上的推算方向;若所述每个随机位在预设数轴上的推算方向为正推算方向,确定所述每个随机位在预设数轴上的推算位数为正推算位数;若所述每个随机位在预设数轴上的推算方向为负推算方向,确定所述每个随机位在预设数轴上的推算位数为负推算位数。

可选的,所述根据所述每个随机位及推算位数计算出标准密码,包括:根据验证公式,计算出标准密码的每个密码位;将每个密码位组合成所述标准密码;其中,所述验证公式为:

a(n)={random(n)+rule(n)+10}%10

a(n)表示标准密码的第n个密码位,random(n)表示随机数的第n个随机位,rule(n)表示推算方向对应的推算位数,正推算位数对应的推算范围包括0、1、2、3、4、5,负推算位数对应的推算范围包括-5、-4、-3、-2、-1,%表示取模运算。

可选的,在确定随机数的每个随机位及所述每个随机位在预设数轴上的推算位数之前,所述方法还包括:在检测到所述随机数大于预设时间时,重新生成随机数;在检测到所述随机数小于预设时间时,确定所述随机数为有效的。

可选的,所述根据所述待验证密码及标准密码确定验证结果,包括:判断所述待验证密码与所述标准密码是否相同;若相同,确定验证成功;若不相同,确定验证失败。

在第二方面,本发明实施例提供一种密码验证装置,所述装置包括:获取模块,用于获取待验证密码;第一确定模块,用于确定随机数的每个随机位及所述每个随机位在预设数轴上的推算位数,所述每个随机位及推算位数用于指示用户计算出所述待验证密码;计算模块,用于根据所述每个随机位及推算位数计算出标准密码;第二确定模块,用于根据所述待验证密码及标准密码确定验证结果。

可选的,所述每个随机位及推算位数皆用于指示用户计算出所述待验证密码,包括:所述每个随机位用于指示用户在预设数轴上确定一个与所述每个随机位相等的预设数值;所述推算位数用于指示用户以所述预设数值为起始点,在预设数轴上循环推算至所述待验证密码的对应密码位,所述对应密码位在预设数轴上的位数值顺延所述推算位数的推算方向,与所述预设数值间隔所述推算位数减去自然数一后的位数。

可选的,所述预设数轴包括由自然数n组成的数轴,其中,自然数n为0-9中任一自然数,并且自然数n为预设数值。

可选的,所述推算位数的推算方向至少包括在所述预设数轴上的正推算方向与负推算方向。

可选的,所述第一确定模块包括:第一判断单元,用于判断所述每个随机位在预设数轴上的推算方向;第一确定单元,用于若所述每个随机位在预设数轴上的推算方向为正推算方向,确定所述每个随机位在预设数轴上的推算位数为正推算位数;第二确定单元,用于若所述每个随机位在预设数轴上的推算方向为负推算方向,确定所述每个随机位在预设数轴上的推算位数为负推算位数。

可选的,所述计算模块包括:计算单元,用于根据验证公式,计算出标准密码的每个密码位;组合单元,用于将每个密码位组合成所述标准密码;

其中,所述验证公式为:

a(n)={random(n)+rule(n)+10}%10

a(n)表示标准密码的第n个密码位,random(n)表示第n个密码位对应的随机位,rule(n)表示第n个密码位的推算方向对应的推算位数,正推算位数对应的推算范围包括0、1、2、3、4、5,负推算位数对应的推算范围包括-5、-4、-3、-2、-1,%表示取模运算。

可选的,所述装置还包括:生成模块,用于在检测到所述随机数大于预设时间时,重新生成随机数;第三确定模块,用于在检测到所述随机数小于预设时间时,确定所述随机数为有效的。

可选的,所述第二确定模块包括:第二判断单元,用于判断所述待验证密码与所述标准密码是否相同;第三确定单元,用于若相同,确定验证成功;第四确定单元,用于若不相同,确定验证失败。

在第三方面,本发明实施例提供一种服务器,所述服务器包括:至少一个处理器;以及与所述至少一个处理通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行上述任一项的密码验证方法。

在第四方面,本发明实施例提供一种通信系统,所述通信系统包括终端与至少一个服务器,所述至少一个服务器与终端通讯;所述服务器包括:至少一个处理器;以及与所述至少一个处理通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行上述任一项的密码验证方法。

在本发明各个实施例中,在进行密码验证时,通过获取待验证密码,确定随机数的每个随机位及每个随机位在预设数轴上的推算位数,其中,每个随机位及推算位数皆用于指示用户计算出待验证密码,根据每个随机位及推算位数计算出标准密码,根据待验证密码及标准密码确定验证结果。由于每个随机位数在预设数轴上对应的推算位数可以相同,也可以不相同,并且随机数的每个随机位数可以相同,也可以不相同,因此,在计算待验证密码或标准密码时,每次的待验证密码或标准密码是动态变化的,并且计算的过程是基于预设数轴,然而预设数轴包括多个不同的预设数值,从而使非法人员比较难以解密,即使非法人员通过其它非法手段获取不同随机数及待验证密码,其尚未能够简单地推理出加密逻辑,因此,该密码验证方法能够提高信息的安全性。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明实施例提供一种动态密码的应用场景示意图;

图2是本发明实施例提供另一种动态密码的应用场景示意图;

图3是本发明实施例提供一种通信系统的结构示意图;

图4是本发明实施例提供一种服务器的结构示意图;

图5是本发明实施例提供一种密码验证装置的结构示意图;

图6是图5中第一确定模块的结构示意图;

图7是图5中计算模块的结构示意图;

图8是图5中第二确定模块的结构示意图;

图9是本发明另一实施例提供一种密码验证装置的结构示意图;

图10是本发明实施例提供一种密码验证方法的流程示意图;

图11是图10中步骤62的流程示意图;

图12是本发明实施例提供一种电子设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

用户登录应用程序或者进行一些重要业务时,需要进行密码的验证。本发明实施例提供一种动态密码的应用场景。如图1所示,该应用场景100包括以下元素:用户甲11、自动柜员机12及服务器13,自动柜员机12通过无线或有线方式与服务器13连接。

在一些实施例中,自动柜员机12还可以是各种具有逻辑运算功能的电子设备,例如,移动通信设备、超移动个人计算机设备、便携式娱乐设备、其他具有视频播放功能和上网功能的电子设备以及等等。

移动通信设备是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

超移动个人计算机设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

便携式娱乐设备可以显示和播放视频内容,一般也具备移动上网特性。该类设备包括:视频播放器,掌上游戏机,以及智能玩具和便携式车载导航设备。

服务器13可以是一个物理服务器或者多个物理服务器虚拟而成的一个逻辑服务器。服务器13也可以是多个可互联通信的服务器组成的服务器群,且提供动态密码验证装置的各个功能模块可分别分布在服务器群中的各个服务器上。

如图1所示,用户甲11在自动柜员机12插入银行卡,自动柜员机12向服务器13申请生成一个具有n位随机位的随机数,因此,服务器13向对应端口的自动柜员机12发送该随机数,并且由自动柜员机12的显示界面向用户甲11呈现该随机数,用户可以根据预先设置的计算规则,结合随机数,从而计算出待验证密码,并且在自动柜员机12的用户界面输入该待验证密码。自动柜员机12将该待验证密码发送至服务器13,服务器13再次根据该计算规则计算出标准密码,该标准密码是正确的。服务器13件该标准密码与待验证密码进行比对,若比对结果符合预设期望值,则服务器13认为该用户甲是合法用户,便可开放相关的操作权限给用户甲。若比对结果尚未符合预设期望值,则服务器13认为该用户甲是非法用户,禁止开放相关权限给用户甲。在一些实施例中,所谓的预设期望值可以是多种多样的,例如,其可以是“待验证密码与标准密码相同”,亦可以是“待验证密码与标准密码的差值皆是固定设置好的数值,例如5”,甚至可以是“待验证密码与标准密码之间符合某种函数关系”以及等等。

在一些应用场景中,自动柜员机12与服务器13实现与密码验证功能相关的功能模块可以集成一体,亦即:服务器13部分与密码验证功能相关的功能模块可以集成于自动柜员机12,因此,在一些应用场景中,如图2所示,服务器13是可以被忽略的,可以只保留自动柜员机12。

为了进一步阐述本发明实施例提供的密码验证方法,如图3所示,本发明实施例提供一种通信系统,该通信系统300包括终端31与多个服务器32,终端31分别通过无线方式与多个服务器32进行通讯。

用户在终端31进行操作,例如,在终端31执行激活密码的操作。终端31向服务器32申请生成一个具有n位随机位的随机数(例如,随机数是12,因此该随机数12具有两位随机位1和2)。在一些实施例中,该随机数可以是服务器32动态产生的,亦可以使参考时间的日期数、小时数以及等等。例如,2017-03-2811:03:01,则可提取月份的个位数和小时的个位数作为基数,例如,3月份中的“3”,11小时中的“1”。

服务器32将该随机数下发至对应端口的终端31。用户根据随机数与计算规则计算出待验证密码,并且通过终端31的用户界面输入该待验证密码,终端31将该待验证密码发送至服务器32。

其中,该计算规则所确定的标准密码中的每一位密码值(亦称密码位的值)所对应的规则需要用户进行预先设定。例如,标准密码的第一位密码值设置为随机数的第三位随机值在预设数轴中对应的预设数值向前推算两位所确定的数值,其中,该预设数轴包括由自然数n组成的数轴,其中,自然数n为0、1、2、3、4、5、6、7、8、9中任一自然数,并且自然数n为预设数值,例如,随机数为4582,则标准密码的第一位密码值的推算过程如下:随机数的第三位随机值为8,随机位“8”在预设数轴0-9中对应的预设数值是“8”(若随机位为“6”,则其对应的预设数值为“6”),于是,预设数值“8”在预设数轴上往前推算2位(推算位数为2),推算后的数值落在“6”上,因此,标准密码的第一位密码值是“6”。因此,每个随机位皆用于指示用户在预设数轴上确定一个与每个随机位相等的预设数值。推算位数用于指示用户以预设数值为起始点,在预设数轴上循环推算至待验证密码的对应密码位,对应密码位在预设数轴上的位数值顺延推算位数的推算方向,与预设数值间隔推算位数减去自然数一后的位数。(如上例子,第一位密码位“6”与预设数值“8”间隔1位,该1位等于推算位数2减去自然数1)。

在本实施例中,该计算规则如下所述:

1)用户设定标准密码的密码位数;例如,本发明实施例选择4位的标准密码。

2)设置标准密码的第一位;例如,选择随机数的第几位往前推算或往后推算几位,其中,往前推算为负(-),往后推算为正(+)。在一些实施例中,用户还可以自定义固定号码作为标注密码的第一位。

3)设置标准密码的第二位;例如,选择随机数的第几位往前推算或往后推算几位,其中,往前推算为负(-),往后推算为正(+)。

4)设置标准密码的第三位;例如,选择随机数的第几位往前推算或往后推算几位,其中,往前推算为负(-),往后推算为正(+)。

……

……

5)设置标准密码的第n位;例如,选择随机数的第几位往前推算或往后推算几位,其中,往前推算为负(-),往后推算为正(+)。

6)设置完成。

用户设置每一位密码位时,可以有多种选择。随机数的随机位数的设置,其受限于系统内置或用户自行设置随机数的随机位数。并且,值得注意的是:随机数的随机位数并非一定等于标准密码的密码位数。

在一些实施例中,用户在终端31设置上述的计算规则时,其需要一定地权限,只有开放设置计算规则的权限,用户方可自定义计算规则。例如,在银行系统中,设置终端侧的计算规则应当由拥有最高权限的银行行长或其它银行工作人员掌握。每当设置终端侧的计算规则时,终端31皆需要检测该用户是否拥有对应的权限。

基于上述的计算规则,此处再次提供一个例子,以辅助理解该计算规则。

服务器32向终端31下发一个随机数1369,其中,标准密码的第一位密码位设置为:随机数的第2位向前推算5位(推算位数是5);标准密码的第二位密码位设置为:随机数的第1位向后推算3位;标准密码的第三位密码位设置为:随机数的第3位向前推算3位;标准密码的第四位密码位设置为:随机数的第4位向后推算8位。

那么,基于上述计算规则,计算出的标准密码为:第一位为8;第二位为:4;第三位为:3;第四位为:7。因此,标准密码为8437。

当终端31接收到用户在用户界面输入的待验证密码之后,服务器32响应于终端31的请求并且从终端31获取到该待验证密码。于是,服务器32调取与该待验证密码对应的随机数,并且确定随机数的每个随机位及每个随机位在预设数轴上的推算位数。在一些实施例中,推算位数的推算方向至少包括在预设数轴上的正推算方向与负推算方向,因此,服务器32在确定每个随机位在预设数轴上的推算位数时,判断每个随机位在预设数轴上的推算方向;若每个随机位在预设数轴上的推算方向为正推算方向,确定每个随机位在预设数轴上的推算位数为正推算位数;若每个随机位在预设数轴上的推算方向为负推算方向,确定每个随机位在预设数轴上的推算位数为负推算位数。例如,如上面所述的标准密码位8437对应的例子,标准密码的第一位密码位设置为:随机数的第2位向前推算5位,此时可以确定第二随机位在预设数轴上的推算位数为负推算位数,亦即为“-2”。又例如,标准密码的第二位密码位设置为:随机数的第1位向后推算3位,此时可以确定第一随机位在预设数轴上的推算位数为正推算位数,亦即为“+3”。

又例如,如上面所述的标准密码位8437对应的例子,当服务器32接收到待验证密码之后,服务器32便可锁定随机数“1369”,进一步的,服务器32还可以锁定随机数“1369”中第一位随机位“1”及第一位随机位“1”对应的推算位数“+3(因为向后推算是正,向前推算是负)”,第二位随机位“3”及第二位随机位“3”对应的推算位数“-5(因为向后推算是正,向前推算是负)”,以此类推,便可得到各个随机位所对应的推算位数及随机位。

紧接着,终端31根据验证公式,计算出标准密码的每个密码位,并且将每个密码位组合成该标准密码。其中,该验证公式为:

a(n)={random(n)+rule(n)+10}%10

a(n)表示标准密码的第n个密码位,random(n)表示第n个密码位对应的随机位,rule(n)表示第n个密码位的推算方向对应的推算位数,正推算位数对应的推算范围包括0、1、2、3、4、5,负推算位数对应的推算范围包括-5、-4、-3、-2、-1,%表示取模运算。

如上面所述的标准密码位8437对应的例子,服务器32计算标准密码的过程如下:

标准密码的第一位密码位:

a(1)={random(1)+rule(1)+10}%10

其中,由于标准密码的第一位密码位设置为:随机数的第2位向前推算5位(向前推算是负),然而,随机数“1369”的第二位随机位为“3”,因此random(1)为“3”,rule(1)为“-5”,因此:

a(1)=(3-5+10)%10;

通过取模运算,a(1)=8;

同理可得,a(2)=4,a(3)=3,a(4)=7。

最后,服务器32根据待验证密码及标准密码确定验证结果,若待验证密码与标准密码相同,确定验证成功;若待验证密码与标准密码不相同,确定验证失败。

服务器32在验证过程中,若检测到随机数大于预设时间时,重新生成随机数;若检测到随机数小于预设时间时,确定随机数为有效的。有效的随机数方可用于验证密码,因此,此举可以保证验证过程的密码安全性。

在一些实施例中,如图4所示,服务器32包括至少一个处理器321;以及与所述至少一个处理器321通信连接的存储器322;其中,所述存储器322存储有可被所述至少一个处理器321执行的指令,所述指令被所述至少一个处理器321执行,以使所述至少一个处理器321能够用于执行如上述的密码验证方法。

由于每个随机位数在预设数轴上对应的推算位数可以相同,也可以不相同,并且随机数的每个随机位数可以相同,也可以不相同,因此,在计算待验证密码或标准密码时,每次的待验证密码或标准密码是动态变化的,并且计算的过程是基于预设数轴,然而预设数轴包括多个不同的预设数值,从而使非法人员比较难以解密,即使非法人员通过其它非法手段获取不同随机数及待验证密码,其尚未能够简单地推理出加密逻辑,因此,该密码验证方法能够提高信息的安全性。

作为本发明实施例的另一方面,本发明实施例提供一种密码验证装置,如图5所示,该密码验证装置500包括获取模块51、第一确定模块52、计算模块53及第二确定模块54。

获取模块51获取待验证密码,并且向第一确定模块52发送请求,第一确定模块52响应于获取模块51的请求,确定随机数的每个随机位及每个随机位在预设数轴上的推算位数,每个随机位及推算位数皆用于指示用户计算出待验证密码。具体的,每个随机位及推算位数皆用于指示用户计算出所述待验证密码包括:每个随机位用于指示用户在预设数轴上确定一个与每个随机位相等的预设数值;推算位数用于指示用户以所述预设数值为起始点,在预设数轴上循环推算至待验证密码的对应密码位,对应密码位在预设数轴上的位数值顺延推算位数的推算方向,与预设数值间隔推算位数减去自然数一后的位数。

在一些实施例中,预设数轴包括由自然数n组成的数轴,其中,自然数n为0-9中任一自然数,并且自然数n为预设数值。

在一些实施例中,推算位数的推算方向至少包括在预设数轴上的正推算方向与负推算方向。进一步的,如图6所示,第一确定模块52包括第一判断单元521、第一确定单元522及第二确定单元523,第一判断单元521用于判断每个随机位在预设数轴上的推算方向;第一确定单元522用于若每个随机位在预设数轴上的推算方向为正推算方向,确定每个随机位在预设数轴上的推算位数为正推算位数;第二确定单元523用于若每个随机位在预设数轴上的推算方向为负推算方向,确定每个随机位在预设数轴上的推算位数为负推算位数。例如,如上面所述的标准密码位8437对应的例子,标准密码的第一位密码位设置为:随机数的第2位向前推算5位,此时可以确定第二随机位在预设数轴上的推算位数为负推算位数,亦即为“-2”。又例如,标准密码的第二位密码位设置为:随机数的第1位向后推算3位,此时可以确定第一随机位在预设数轴上的推算位数为正推算位数,亦即为“+3”。

计算模块53根据每个随机位及推算位数计算出标准密码。具体的,如图7所示,计算模块53包括计算单元531与组合单元532,计算单元531根据验证公式,计算出标准密码的每个密码位,组合单元532将每个密码位组合成该标准密码。其中,该验证公式为:

a(n)={random(n)+rule(n)+10}%10

a(n)表示标准密码的第n个密码位,random(n)表示第n个密码位对应的随机位,rule(n)表示第n个密码位的推算方向对应的推算位数,正推算位数对应的推算范围包括0、1、2、3、4、5,负推算位数对应的推算范围包括-5、-4、-3、-2、-1,%表示取模运算。

如上面所述的标准密码位8437对应的例子,计算模块53计算标准密码的过程如下:

标准密码的第一位密码位:

a(1)={random(1)+rule(1)+10}%10

其中,由于标准密码的第一位密码位设置为:随机数的第2位向前推算5位(向前推算是负),然而,随机数“1369”的第二位随机位为“3”,因此random(1)为“3”,rule(1)为“-5”,因此:

a(1)=(3-5+10)%10;

通过取模运算,a(1)=8;

同理可得,a(2)=4,a(3)=3,a(4)=7。

第二确定模块54根据待验证密码及标准密码确定验证结果。具体的,如图8所示,第二确定模块54包括第二判断单元541、第三确定单元542及第四确定单元543。第二判断单元541用于判断待验证密码与标准密码是否相同;第三确定单元542用于若相同,确定验证成功;第四确定单元543用于若不相同,确定验证失败。

在一些实施例中,如图9所示,该密码验证装置500还包括生成模块55与第三确定模块56,生成模块55用于在检测到随机数大于预设时间时,重新生成随机数。第三确定模块56用于在检测到随机数小于预设时间时,确定随机数为有效的。有效的随机数方可用于验证密码,因此,此举可以保证验证过程的密码安全性。

由于每个随机位数在预设数轴上对应的推算位数可以相同,也可以不相同,并且随机数的每个随机位数可以相同,也可以不相同,因此,在计算待验证密码或标准密码时,每次的待验证密码或标准密码是动态变化的,并且计算的过程是基于预设数轴,然而预设数轴包括多个不同的预设数值,从而使非法人员比较难以解密,即使非法人员通过其它非法手段获取不同随机数及待验证密码,其尚未能够简单地推理出加密逻辑,因此,该密码验证方法能够提高信息的安全性。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现密码验证装置500,当然也可以通过硬件实现。并且,由于密码验证装置500的构思与上述各个实施例所述的服务器实现密码验证的构思一样,在内容不互相冲突下,密码验证装置500的实施例可以引用上述各个实施例的内容,在此不赘述。

作为本发明实施例的又另一方面,本发明实施例提供一种密码验证方法,如图10所示,该密码验证方法600包括:

步骤61、获取待验证密码;

步骤62、确定随机数的每个随机位及每个随机位在预设数轴上的推算位数;

每个随机位及推算位数皆用于指示用户计算出待验证密码;具体的,每个随机位及推算位数皆用于指示用户计算出所述待验证密码包括:每个随机位用于指示用户在预设数轴上确定一个与每个随机位相等的预设数值;推算位数用于指示用户以所述预设数值为起始点,在预设数轴上循环推算至待验证密码的对应密码位,对应密码位在预设数轴上的位数值顺延推算位数的推算方向,与预设数值间隔推算位数减去自然数一后的位数。

在一些实施例中,预设数轴包括由自然数n组成的数轴,其中,自然数n为0-9中任一自然数,并且自然数n为预设数值。

在一些实施例中,推算位数的推算方向至少包括在预设数轴上的正推算方向与负推算方向。于是,如图11所示,步骤62包括:

步骤621、判断每个随机位在预设数轴上的推算方向;

步骤622、若每个随机位在预设数轴上的推算方向为正推算方向,确定每个随机位在预设数轴上的推算位数为正推算位数;

步骤623、若每个随机位在预设数轴上的推算方向为负推算方向,确定每个随机位在预设数轴上的推算位数为负推算位数。

如上面所述的标准密码位8437对应的例子,标准密码的第一位密码位设置为:随机数的第2位向前推算5位,此时可以确定第二随机位在预设数轴上的推算位数为负推算位数,亦即为“-2”。又例如,标准密码的第二位密码位设置为:随机数的第1位向后推算3位,此时可以确定第一随机位在预设数轴上的推算位数为正推算位数,亦即为“+3”。

步骤63、根据每个随机位及推算位数计算出标准密码;

具体的,其根据验证公式,计算出标准密码的每个密码位,并且将每个密码位组合成标准密码;

其中,所述验证公式为:

a(n)={random(n)+rule(n)+10}%10

a(n)表示标准密码的第n个密码位,random(n)表示第n个密码位对应的随机位,rule(n)表示第n个密码位的推算方向对应的推算位数,正推算位数对应的推算范围包括0、1、2、3、4、5,负推算位数对应的推算范围包括-5、-4、-3、-2、-1,%表示取模运算。

如上面所述的标准密码位8437对应的例子,计算模块53计算标准密码的过程如下:

标准密码的第一位密码位:

a(1)={random(1)+rule(1)+10}%10

其中,由于标准密码的第一位密码位设置为:随机数的第2位向前推算5位(向前推算是负),然而,随机数“1369”的第二位随机位为“3”,因此random(1)为“3”,rule(1)为“-5”,因此:

a(1)=(3-5+10)%10;

通过取模运算,a(1)=8;

同理可得,a(2)=4,a(3)=3,a(4)=7。

步骤64、根据待验证密码及标准密码确定验证结果。

具体的,判断待验证密码与所述标准密码是否相同,若相同,确定验证成功;若不相同,确定验证失败。

由于每个随机位数在预设数轴上对应的推算位数可以相同,也可以不相同,并且随机数的每个随机位数可以相同,也可以不相同,因此,在计算待验证密码或标准密码时,每次的待验证密码或标准密码是动态变化的,并且计算的过程是基于预设数轴,然而预设数轴包括多个不同的预设数值,从而使非法人员比较难以解密,即使非法人员通过其它非法手段获取不同随机数及待验证密码,其尚未能够简单地推理出加密逻辑,因此,该密码验证方法能够提高信息的安全性。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现密码验证方法,当然也可以通过硬件实现。并且,由于密码验证方法的构思与上述各个实施例所述的服务器或密码验证装置实现密码验证的构思一样,在内容不互相冲突下,密码验证方法的实施例可以引用上述各个实施例的内容,在此不赘述。

在一些实施例中,在执行步骤62之前,该密码验证方法600还包括:在检测到所述随机数大于预设时间时,重新生成随机数;在检测到所述随机数小于预设时间时,确定随机数为有效的。有效的随机数方可用于验证密码,因此,此举可以保证验证过程的密码安全性。

作为本发明实施例的又一方面,本发明实施例提供一种电子设备,如图12所示,该电子设备700包括存储介质71与处理器72,处理器72和存储介质71可以通过总线或者其他方式连接,图12中以通过总线连接为例。该存储介质作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的密码验证方法对应的程序指令/模块。处理器72通过运行存储在存储器71中的非易失性软件程序、指令以及模块,从而执行密码验证方法的各种功能应用以及数据处理,即实现上述方法实施例的密码验证方法的各个模块的功能。

存储介质71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储介质71可选包括相对于处理器72远程设置的存储器,这些远程存储器可以通过网络连接至处理器72。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述程序指令/模块存储在所述存储器71中,当被所述一个或者多个处理器72执行时,执行上述任意方法实施例中的密码验证方法,例如,执行以上描述的各个步骤的功能。

本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图12中的一个处理器72,可使得上述一个或多个处理器可执行上述任意方法实施例中的密码验证方法,例如,执行上述任意方法实施例中的密码验证方法。

以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1