CN104168116B - 一种数据库身份验证方法及*** - Google Patents
一种数据库身份验证方法及*** Download PDFInfo
- Publication number
- CN104168116B CN104168116B CN201410409637.6A CN201410409637A CN104168116B CN 104168116 B CN104168116 B CN 104168116B CN 201410409637 A CN201410409637 A CN 201410409637A CN 104168116 B CN104168116 B CN 104168116B
- Authority
- CN
- China
- Prior art keywords
- password
- dynamic password
- dynamic
- database
- application program
- 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
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本申请提供了数据库身份验证方法及***,口令生成端当接收到应用程序的数据库访问指令时,生成与所述应用程序对应的第一动态口令,并将所述第一动态口令发送至口令验证端,口令验证端当接收到应用程序对应的第一动态口令时,生成第二动态口令,并比对所述第一动态口令与所述第二动态口令是否一致,当比对一致时,将数据库的账号及密码返回至应用程序,口令生成端触发应用程序依据该账号及密码创建与数据库的连接,以使数据库对该连接进行身份验证。与现有技术中直接将数据库账号及密码存储在配置文件相比,本申请通过动态口令验证的方式才能获得数据库账号及密码,提高了数据库的访问安全性。
Description
技术领域
本申请涉及数据库技术领域,尤其是一种数据库身份验证方法及***。
背景技术
数据库,是按照一定的数据结构存储并管理数据的技术,其具有共享性高及与应用程序独立等优点,广泛应用于对各种业务数据的处理过程中。其中,为了提高业务数据的安全性,对访问数据库的应用程序进行身份验证至关重要。具体地,当应用程序访问数据库时,需要录入数据库的账户与密码,当录入的账户与密码与数据库中存储的账户与密码完全相同时,允许此次访问,否则,拒绝访问。
目前,数据库的身份验证方法是,应用程序调用存储在本地配置文件中的数据库账户及密码,并依据该账户及密码向数据库进行访问身份验证。该种方法,由于本地配置文件的易读取性,导致数据库的账户及密码易被非法获取,从而降低数据库的安全性。
发明内容
有鉴于此,本申请提供了一种数据库身份验证方法及***,用以解决现有技术的身份验证方法导致数据库的账户及密码易被非法获取,从而降低数据库的安全性的技术问题。为实现所述发明目的,本发明提供的技术方案如下:
一种数据库身份验证方法,包括:
当接收到应用程序的数据库访问指令时,生成与所述应用程序对应的第一动态口令;
将所述第一动态口令发送至口令验证端,触发所述口令验证端生成第二动态口令并比对所述第一动态口令与所述第二动态口令是否一致,并触发所述口令验证端当比对一致时,将数据库的账号及密码返回至所述应用程序;
触发所述应用程序依据所述账号及密码创建与数据库的连接,使所述数据库对所述连接进行验证。
上述验证方法,优选地,所述生成与所述应用程序对应的第一动态口令包括:
获取与所述应用程序对应的公开密钥及预设动态因子的值;其中,所述预设动态因子包括时间;
将所述公开密钥及所述预设动态因子的值顺序连接为第一字符串,并依据预设加密算法,将所述第一字符串加密为第二字符串;
将所述第二字符串转化生成第一动态口令。
上述验证方法,优选地,所述将所述第二字符串转化生成第一动态口令,包括:
将所述第二字符串转换为第一字节数组;
依据预设动态口令位数,将所述第一字节数组等分为多个第二字节数组;其中,每个所述第二字节数组的长度均与所述预设动态口令位数相同;
将各个所述第二字节数组中相同位置的元素进行逻辑运算,获得第三字节数组,并提取所述第三字节数组的每个字节元素中的一位二进制值,生成第一动态口令。
上述验证方法,优选地,所述公开密钥为应用程序的项目名称加密后生成的字符串;
所述预设动态因子还包括:应用程序的项目编号和/或应用程序的运行次数;且所述预设动态因子中时间的精度为分。
本申请还提供了一种数据库身份验证方法,包括:
当接收到应用程序对应的第一动态口令时,生成第二动态口令;
比对所述第一动态口令与所述第二动态口令是否一致;
当比对一致时,将数据库的账号及密码返回至所述应用程序,触发所述应用程序依据所述账号及密码创建与数据库的连接,使所述数据库对所述连接进行验证。
上述验证方法,优选地,还包括:
依据第一预设时间间隔,定时生成第三动态口令;其中,所述第一预设时间间隔的精度为周或月;
每当生成所述第三动态口令后,将所述数据库的密码更新为所述生成的第三动态口令。
上述验证方法,优选地,所述当接收到应用程序对应的第一动态口令时,生成第二动态口令,包括:
当接收到应用程序对应的第一动态口令时,获取当前时间点;
依据第二预设时间间隔,分别生成当前时间点及上一时间点各自对应的第二动态口令;
相应地,所述比对所述第一动态口令与所述第二动态口令是否一致,包括:
比对所述第一动态口令与所述当前时间点对应的第二动态口令或上一时间点对应的第二动态口令是否一致。
上述验证方法,优选地,还包括:
加密存储所述第三动态口令。
本申请还提供了一种数据库身份验证***,包括:
口令生成端,用于当接收到应用程序的数据库访问指令时,生成与所述应用程序对应的第一动态口令,并将所述第一动态口令发送至口令验证端;
口令验证端,用于当接收到应用程序对应的第一动态口令时,生成第二动态口令,并比对所述第一动态口令与所述第二动态口令是否一致,当比对一致时,将数据库的账号及密码返回至所述应用程序;
所述口令生成端,还用于触发所述应用程序依据所述账号及密码创建与数据库的连接,使所述数据库对所述连接进行验证。
上述验证***,优选地,所述口令验证端还用于依据第一预设时间间隔,定时生成第三动态口令,且每当生成所述第三动态口令后,将所述数据库的密码更新为所述生成的第三动态口令;其中,所述第一预设时间间隔的精度为周或月。
与现有技术相比,本申请具有如下有益效果:
本申请提供的技术方案中,口令生成端当接收到应用程序的数据库访问指令时,生成与所述应用程序对应的第一动态口令,并将所述第一动态口令发送至口令验证端,口令验证端当接收到应用程序对应的第一动态口令时,生成第二动态口令,并比对所述第一动态口令与所述第二动态口令是否一致,当比对一致时,将数据库的账号及密码返回至应用程序,口令生成端触发应用程序依据该账号及密码创建与数据库的连接,以使数据库对该连接进行身份验证。与现有技术中直接将数据库账号及密码存储在配置文件相比,本申请通过动态口令验证的方式才能获得数据库账号及密码,提高了数据库的访问安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的口令生成端数据库身份验证方法的流程图;
图2为本发明实施例提供的口令生成端数据库身份验证方法中生成第一动态口令的流程图;
图3为本发明实施例提供的口令验证端端数据库身份验证方法的流程图;
图4为本发明实施例提供的口令验证端数据库身份验证方法的另一流程图;
图5为本发明实施例提供的数据库身份验证***的结构图;
图6为本发明实施例提供的数据库身份验证***结构及方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,其示出了本发明实施例提供的数据库身份验证方法的流程,具体包括:
步骤S101:当接收到应用程序的数据库访问指令时,生成与所述应用程序对应的第一动态口令。
其中,应用程序需要访问数据库中的业务数据时,生成数据库访问指令,并将该指令发送至本实施例对应的模块,即口令生成端。其中,口令验证端可以是动态链接库,动态链接库中包含生成动态口令的算法。
需要说明的是,动态口令是利用动态口令算法生成的。由于动态口令算法生成动态口令的过程中需要对参数进行加密,参数与进行数据库访问的应用程序相对应,也就是说,每一应用程序具有对应的参数,当接收到到一应用程序的数据库访问指令时,获取与该应用程序对应的参数,从而使得对参数加密生成的第一动态口令具有唯一性。
步骤S102:将所述第一动态口令发送至口令验证端,触发所述口令验证端生成第二动态口令并比对所述第一动态口令与所述第二动态口令是否一致,并触发所述口令验证端当比对一致时,将数据库的账号及密码返回至所述应用程序。
其中,口令验证端与口令生成端可以是在同一台计算机上,也可以是通过网络相连的不同台计算机。当口令验证端接收到该第一动态口令后,可以认为接收到触发指令从而执行后续生成及比对动作。
需要说明的是,所述口令验证端生成第二动态口令的算法与生成第一动态口令的算法完全相同,具体包括算法规则及算法加密使用的参数。
步骤S103:触发所述应用程序依据所述账号及密码创建与数据库的连接,使所述数据库对所述连接进行验证。
其中,当应用程序接收到返回的账户及密码后创建与数据库的连接,数据库接收到该连接后,对该连接中的账号及密码进行身份验证。
由以上的技术方案可知,本申请提供的数据库身份验证方法中,获取数据库账号及密码是通过动态口令验证的方式,即数据库账号及密码存储在口令验证端,当应用程序需要访问数据库时,生成与该应用程序对应的第一动态口令并发送至口令验证端,触发口令验证端依据生成的第二动态口令对该第一动态口令进行验证,当验证结果一致时,才将数据库账号及密码返回至应用程序。
现有技术中,账号及密码存储在本地配置文件中,本地配置文件可以很容易地通过文本编辑工具打开,账号及密码易被获取。然而,本发明实施例中将账号及密码存储在口令验证端,且当验证结果一致时,才将该账号及密码返回至应用程序,提高了数据库账号及密码的安全性,也即提高了数据库访问的安全性。
更进一步地,本实施例中生成的第一动态口令只是在身份验证过程中实时生成的,与静态存储在配置文件的方式相比,不易被非法程序获取;同时,生成该动态口令的参数也是与应用程序对应的,非法程序的参数与该应用程序的参数不同,因此,生成的第一动态口令也与合法的第一动态口令不同,导致口令验证结果不一致,从而不会获取到数据库的账号及密码。
从本实施例的实现方式看,本实施例向应用程序提供接口,应用程序需要访问数据库时调用该接口,从而触发本实施例生成第一动态口令。由于接口及用于生成动态口令的参数具有隐私性,并不对其他未授权的应用程序开放,因此,对于非法程序而言,其不易获得并篡改,也就不能生成非法的第一动态口令及第二动态口令,因此,增强了本实施例中动态口令的安全性。
具体地,上述方法实施例中步骤S101中生成与所述应用程序对应的第一动态口令,可以通过以下方式实现:
步骤S201:获取与所述应用程序对应的公开密钥及预设动态因子的值;其中,所述预设动态因子包括时间。
其中,生成动态口令的参数包括公开密钥及动态因子。应用程序对应的公开密钥,是利用预设加密算法对应用程序信息加密生成的字符串。可选地,应用程序信息为应用程序的项目标识,预设加密算法为DES算法。将生成的公开密钥预先设置在口令生成端,用于生成第一动态口令,将生成的公开密钥预先设置在口令验证端,用于生成第二动态口令。
需要说明的是,预设动态因子中包括时间,可选地,时间精度为分,即获取的时间值精确到分。例如,获取的时间为“201407221503”,表示2014年7月22日15时3分。基于时间点的唯一性,不同的时间点生成的动态口令也具有唯一性。当然,预设动态因子除了时间以外,还可以包括其他类型的参数,例如,应用程序的项目编号和/或应用程序的运行次数等。
步骤S202:将所述公开密钥及所述预设动态因子的值顺序连接为第一字符串,并依据预设加密算法,将所述第一字符串加密为第二字符串。
当然,公开密钥及预设动态因子的连接顺序并不作限定,二者可以是任意一者在前。且,可选地,预设加密算法可以是MD5算法。
步骤S203:将所述第二字符串转换为第一字节数组。
可选地,该第一字节数组为16字节长度的字节数组。
步骤S204:依据预设动态口令位数,将所述第一字节数组等分为多个第二字节数组;其中,每个所述第二字节数组的长度均与所述预设动态口令位数相同。
可选地,预设动态口令为8位,则将第一字节数组等分为两个8位的字节数组。
步骤S205:将各个所述第二字节数组中相同位置的元素进行逻辑运算,获得第三字节数组,并提取所述第三字节数组的每个字节元素中的一位二进制值,生成第一动态口令。
可选地,所述逻辑运算为异或运算。例如,将两个8位字节数组每一位相同位置的数组元素进行异或运算,获得一个8位字节数组。
每一个字节元素中包含一个字节,即8位二进制数。可选地,提取的每个字节元素中的二进制值为最左一位,形成8位数字,该8位数字即第一动态口令。
需要说明的是,第二动态口令的生成算法与上述第一动态口令的生成算法可以一致,也就是说,公开密钥及动态因子的种类是相同的,且算法规则也是相同的。具体地,口令验证端生成第二动态口令使用的是与该应用程序对应的公开密钥及动态因子。当然,口令验证端生成第二动态口令的时间可以是接收到应用程序对应的第一动态口令后,也可以是依据预设时间间隔,定时生成第二动态口令。需要说明的是,该预设时间间隔的单位为分,如每隔5分钟,从而可以避免高频率地对数据库进行访问时造成的访问失败。
需要说明的是,上述方法实施例可以应用到具体场景中,用以对具体行业领域中的数据库访问进行身份验证。现将场景限定为煤炭行业,并对该煤炭行业应用场景中该数据库身份验证算法进行详细说明。
在煤炭行业应用场景中,数据库中存储的是煤炭生产及销售等行业数据,应用程序是煤炭生产监控程序。生成第一动态口令及第二动态口令的动态口令生成算法中的公开密钥,是将煤炭项目信息与煤炭项目实施单位信息进行顺序相连,并对相连后的字符串进行DES算法加密生成的。生成第一动态口令及第二动态口令的动态因子为时间,精度为分。进而,将公开密钥及动态因子顺序相连生成待加密字符串,当然,连接时可以是公开密钥在前动态因子在后,也可以是动态因子在前密钥在后。利用MD5算法,对生成的待加密字符串进行加密。
例如,煤炭项目信息为“KJ95N煤矿监控***”,煤炭项目实施单位信息为“山东北皂煤矿”,顺序相连后的字符串为“KJ95N煤矿监控***山东北皂煤矿”;利用DES算法对该字符串加密后生成的字符串为“QFwMUIaqJ9t8jNb8ALPLcQOriwP/K4mQdbRYRzXvJWpFysmKHtK/yJwo2NBeJG6a”,该字符串为公开密钥;获取的时间为“201407221503”,表示2014年7月22日15时3分;按照动态因子在前密钥在后的方式连接后生成的待加密字符串为“201407221503QFwMUIaqJ9t8jNb8ALPLcQOriwP/K4mQdbRYRzXvJWpFysmKHtK/yJwo2NBeJG6a”;利用MD5算法,将该待加密字符串进行加密后生成的字符串为“NwMlwZhrCaTGu7KCUctukg==”。这里计算错误了,重新修正了。
需要说明的是,上述各个方法实施例中提供的数据库身份验证方法应用于口令生成端,相对应地,本申请还提供了一种应用于口令验证端的数据库身份验证方法。参见图3,其示出了该方法的具体流程,包括:
步骤S301:当接收到应用程序对应的第一动态口令时,生成第二动态口令。
需要说明的是,本实施例中,生成第二动态口令时使用的加密参数,即公开密钥及动态因子的种类,与生成第一动态口令的相同,且公开密钥为预先根据应用程序的项目信息生成的,也就是说,公开密钥与应用程序一一对应,每一个合法的应用程序均对应一个唯一的密钥。需要说明的是,该应用程序可以是指一类应用程序,并非一个独立的应用程序,该类应用程序的共同点为访问同一数据库。
步骤S302:比对所述第一动态口令与所述第二动态口令是否一致。
步骤S303:当比对一致时,将数据库的账号及密码返回至所述应用程序,触发所述应用程序依据所述账号及密码创建与数据库的连接,使所述数据库对所述连接进行验证。
以上的技术方案应用在口令验证端,可以对口令生成端发送的第一动态口令进行验证,当验证结果一致时,返回数据库账号及密码。与现有技术中,将数据库账号及密码存储在配置文件中相比,提高了账号及密码的安全性,进而提高数据库访问的安全性。
当然,当上述比对不一致时,可以向应用程序返回错误提示信息。
需要说明的是,由于口令生成端与口令验证端可以通过网络相连,且第一动态口令及第二动态口令的生成算法中包含时间因素,为了避免网络传输的时间误差,进而提高动态口令验证的成功率,上述步骤S302可以通过以下方式实现:
当接收到应用程序对应的第一动态口令时,获取当前时间点;依据第二预设时间间隔,分别生成当前时间点及上一时间点各自对应的第二动态口令。
需要说明的是,第二预设时间间隔的单位为分,例如5分钟。上一时间点为当前时间点减去第二预设时间间隔,例如,当前时间点为2014-8-1323时25分,上一时间点为2014-8-1323时20分。
相应地,上述步骤S303可以通过以下方式实现:
比对所述第一动态口令与所述当前时间点对应的第二动态口令或上一时间点对应的第二动态口令是否一致。
需要说明的是,第一动态口令与上述两个第二动态口令中的任一个一致,即认定该第一动态口令为合法。
参见图4,在上述方法实施例的基础上,还可以包括:
步骤S304:依据第一预设时间间隔,定时生成第三动态口令;其中,所述第一预设时间间隔的精度为周或月。
步骤S305:每当生成所述第三动态口令后,将所述数据库的密码更新为所述生成的第三动态口令。
由以上技术方案可知,本实施例可以按照预设的时间间隔对数据库的账号及密码进行更新,相较于固定密码而言,提高了安全性。同时,更新的频率为周或月,相较于更新频率为天、甚至为时或分而言,可以避免高频地修改密码造成的访问失败、复杂的人工数据库维护及数据存储延时。
可选地,在上述方法实施例之后,还可以包括:
加密存储所述第三动态口令。
具体地,将第三动态口令加密后导出成文件,为了防止***意外关闭后,再次启动后无法得知上次生成的密码而无法访问数据库。
下面对申请提供的数据库身份验证***进行说明,需要说明的是,该***可以参照上文提供的数据库身份验证方法,并不做赘述。
参照图5,其示出了本发明实施例提供的数据库身份验证***的结构,具体包括:口令生成端1及口令验证端2;其中:
口令生成端1,用于当接收到应用程序的数据库访问指令时,生成与所述应用程序对应的第一动态口令,并将所述第一动态口令发送至口令验证端;
口令验证端2,用于当接收到应用程序对应的第一动态口令时,生成第二动态口令,并比对所述第一动态口令与所述第二动态口令是否一致,当比对一致时,将数据库的账号及密码返回至所述应用程序;
所述口令生成端1,还用于触发所述应用程序依据所述账号及密码创建与数据库的连接,使所述数据库对所述连接进行验证。
可选地,所述口令验证端还用于依据第一预设时间间隔,定时生成第三动态口令,且每当生成所述第三动态口令后,将所述数据库的密码更新为所述生成的第三动态口令;其中,所述第一预设时间间隔的精度为周或月。
参照图6所示的***结构及各个结构之间的数据交互关系可知,数据库身份验证的具体流程为:
应用程序需要访问数据库时,口令生成端生成第一动态口令,并将该第一动态口令发送至口令验证端,口令验证端接收到该第一动态口令后依据生成的第二动态口令比对该第一动态口令,当比对结果一致时,返回数据库账号及密码,当应用程序接收到该账号密码后生成与数据库的连接,数据库对该连接中的账号及密码进行验证。同时,口令验证端可以定时生成第三动态口令,以更新数据库的密码。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种数据库身份验证方法,其特征在于,包括:
当接收到应用程序的数据库访问指令时,生成与所述应用程序对应的第一动态口令;
将所述第一动态口令发送至口令验证端,触发所述口令验证端生成第二动态口令并比对所述第一动态口令与所述第二动态口令是否一致,并触发所述口令验证端当比对一致时,将数据库的账号及密码返回至所述应用程序;
触发所述应用程序依据所述账号及密码创建与数据库的连接,使所述数据库对所述连接进行验证;
其中所述生成与所述应用程序对应的第一动态口令包括:
获取与所述应用程序对应的公开密钥及预设动态因子的值;其中,所述预设动态因子包括时间;
将所述公开密钥及所述预设动态因子的值顺序连接为第一字符串,并依据预设加密算法,将所述第一字符串加密为第二字符串;
将所述第二字符串转换为第一字节数组;
依据预设动态口令位数,将所述第一字节数组等分为多个第二字节数组;其中,每个所述第二字节数组的长度均与所述预设动态口令位数相同;
将各个所述第二字节数组中相同位置的元素进行逻辑运算,获得第三字节数组,并提取所述第三字节数组的每个字节元素中的一位二进制值,生成第一动态口令。
2.根据权利要求1所述的验证方法,其特征在于,所述公开密钥为应用程序的项目名称加密后生成的字符串;
所述预设动态因子还包括:应用程序的项目编号和/或应用程序的运行次数;且所述预设动态因子中时间的精度为分。
3.一种数据库身份验证方法,其特征在于,包括:
当接收到应用程序对应的第一动态口令时,生成第二动态口令;
比对所述第一动态口令与所述第二动态口令是否一致;
当比对一致时,将数据库的账号及密码返回至所述应用程序,触发所述应用程序依据所述账号及密码创建与数据库的连接,使所述数据库对所述连接进行验证;
其中所述第二动态口令的生成方式包括:
获取与所述应用程序对应的公开密钥及预设动态因子的值;其中,所述预设动态因子包括时间;
将所述公开密钥及所述预设动态因子的值顺序连接为第一字符串,并依据预设加密算法,将所述第一字符串加密为第二字符串;
将所述第二字符串转换为第一字节数组;
依据预设动态口令位数,将所述第一字节数组等分为多个第二字节数组;其中,每个所述第二字节数组的长度均与所述预设动态口令位数相同;
将各个所述第二字节数组中相同位置的元素进行逻辑运算,获得第三字节数组,并提取所述第三字节数组的每个字节元素中的一位二进制值,生成第二动态口令。
4.根据权利要求3所述的验证方法,其特征在于,还包括:
依据第一预设时间间隔,定时生成第三动态口令;其中,所述第一预设时间间隔的精度为周或月;
每当生成所述第三动态口令后,将所述数据库的密码更新为所述生成的第三动态口令。
5.根据权利要求3所述的验证方法,其特征在于,所述当接收到应用程序对应的第一动态口令时,生成第二动态口令,包括:
当接收到应用程序对应的第一动态口令时,获取当前时间点;
依据第二预设时间间隔,分别生成当前时间点及上一时间点各自对应的第二动态口令;
相应地,所述比对所述第一动态口令与所述第二动态口令是否一致,包括:
比对所述第一动态口令与所述当前时间点对应的第二动态口令或上一时间点对应的第二动态口令是否一致。
6.根据权利要求4所述的验证方法,其特征在于,还包括:
加密存储所述第三动态口令。
7.一种数据库身份验证***,其特征在于,包括:
口令生成端,用于当接收到应用程序的数据库访问指令时,生成与所述应用程序对应的第一动态口令,并将所述第一动态口令发送至口令验证端;
口令验证端,用于当接收到应用程序对应的第一动态口令时,生成第二动态口令,并比对所述第一动态口令与所述第二动态口令是否一致,当比对一致时,将数据库的账号及密码返回至所述应用程序;
所述口令生成端,还用于触发所述应用程序依据所述账号及密码创建与数据库的连接,使所述数据库对所述连接进行验证;
其中,第一动态口令或第二动态口令的生成方式包括:
获取与所述应用程序对应的公开密钥及预设动态因子的值;其中,所述预设动态因子包括时间;
将所述公开密钥及所述预设动态因子的值顺序连接为第一字符串,并依据预设加密算法,将所述第一字符串加密为第二字符串;
将所述第二字符串转换为第一字节数组;
依据预设动态口令位数,将所述第一字节数组等分为多个第二字节数组;其中,每个所述第二字节数组的长度均与所述预设动态口令位数相同;
将各个所述第二字节数组中相同位置的元素进行逻辑运算,获得第三字节数组,并提取所述第三字节数组的每个字节元素中的一位二进制值,生成第一动态口令或第二动态口令。
8.根据权利要求7所述的验证***,其特征在于,所述口令验证端还用于依据第一预设时间间隔,定时生成第三动态口令,且每当生成所述第三动态口令后,将所述数据库的密码更新为所述生成的第三动态口令;其中,所述第一预设时间间隔的精度为周或月。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410409637.6A CN104168116B (zh) | 2014-08-19 | 2014-08-19 | 一种数据库身份验证方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410409637.6A CN104168116B (zh) | 2014-08-19 | 2014-08-19 | 一种数据库身份验证方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104168116A CN104168116A (zh) | 2014-11-26 |
CN104168116B true CN104168116B (zh) | 2019-06-04 |
Family
ID=51911768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410409637.6A Active CN104168116B (zh) | 2014-08-19 | 2014-08-19 | 一种数据库身份验证方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104168116B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102015209895A1 (de) * | 2015-05-29 | 2016-12-01 | Kuka Roboter Gmbh | Verfahren zur Konvertierung von zumindest einer ersten Sicherheitskonfigurationsdatei |
CN106411830B (zh) * | 2016-01-25 | 2019-06-21 | 平安科技(深圳)有限公司 | 防止访问数据被篡改的方法及移动终端 |
CN107332819A (zh) * | 2017-05-25 | 2017-11-07 | 苏州科达科技股份有限公司 | 一种用于会议***的鉴权方法及装置 |
CN110349351A (zh) * | 2018-04-02 | 2019-10-18 | 菜鸟智能物流控股有限公司 | 一种物流对象管理设备的解锁方法和*** |
CN111368264A (zh) * | 2018-12-26 | 2020-07-03 | 技嘉科技股份有限公司 | 应用程序的验证方法、电脑装置及其主机板 |
CN110048834A (zh) * | 2019-03-12 | 2019-07-23 | 深圳壹账通智能科技有限公司 | 动态密码发送方法、装置及计算机可读存储介质 |
CN111488331B (zh) * | 2020-04-08 | 2024-03-01 | 广州虎牙科技有限公司 | 数据库连接方法、装置和计算机设备 |
CN112434094B (zh) * | 2020-11-24 | 2023-12-29 | 人和数智科技有限公司 | 基于加密算法的数据库连接方法、装置及计算机设备 |
CN112953711B (zh) * | 2021-01-28 | 2022-12-02 | 杉德银卡通信息服务有限公司 | 数据库安全连接***及方法 |
CN113645249A (zh) * | 2021-08-17 | 2021-11-12 | 杭州时趣信息技术有限公司 | 一种服务器密码管控方法、***及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801699A (zh) * | 2004-12-31 | 2006-07-12 | 联想(北京)有限公司 | 一种访问密码设备的方法 |
CN103152172A (zh) * | 2011-12-07 | 2013-06-12 | 中国电信股份有限公司 | 一种手机令牌动态口令生成方法、客户端、服务器以及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101496344B (zh) * | 2006-07-20 | 2014-08-20 | 黄金富 | 网上银钱支付和身份确认的带自设认证算式的方法和*** |
CN101197667B (zh) * | 2007-12-26 | 2010-07-14 | 北京飞天诚信科技有限公司 | 一种动态口令认证的方法 |
CN101651675B (zh) * | 2009-08-27 | 2015-09-23 | 飞天诚信科技股份有限公司 | 通过认证码对客户端进行验证的方法和*** |
CN102866998A (zh) * | 2011-07-05 | 2013-01-09 | 中兴通讯股份有限公司 | 一种同步***中集中式密码管理方法和*** |
-
2014
- 2014-08-19 CN CN201410409637.6A patent/CN104168116B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801699A (zh) * | 2004-12-31 | 2006-07-12 | 联想(北京)有限公司 | 一种访问密码设备的方法 |
CN103152172A (zh) * | 2011-12-07 | 2013-06-12 | 中国电信股份有限公司 | 一种手机令牌动态口令生成方法、客户端、服务器以及*** |
Also Published As
Publication number | Publication date |
---|---|
CN104168116A (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104168116B (zh) | 一种数据库身份验证方法及*** | |
US9934400B2 (en) | System and methods for encrypting data | |
CN109429222B (zh) | 一种对无线网络设备升级程序及通讯数据加密的方法 | |
US20230171086A1 (en) | Encrypting and decrypting information | |
US9537657B1 (en) | Multipart authenticated encryption | |
US20150134950A1 (en) | Storage array password management | |
US20190303349A1 (en) | Security via data concealment | |
CN109921902B (zh) | 一种密钥管理方法、安全芯片、业务服务器及信息*** | |
CN104636444B (zh) | 一种数据库的加解密方法及装置 | |
CN107241184B (zh) | 基于改良aes的个人密码生成和管理方法 | |
CN113225297A (zh) | 数据混合加密方法、装置及设备 | |
CN113079001A (zh) | 密钥更新方法、信息处理设备及密钥更新装置 | |
CN104579630A (zh) | ***随机数生成方法 | |
CN104579686A (zh) | 一种用于手机令牌的种子匹配方法 | |
CN109150813A (zh) | 一种设备的验证方法及装置 | |
CN116800535A (zh) | 多台服务器之间相互免密方法及装置 | |
CN108512657B (zh) | 一种密码生成方法及装置 | |
EP3214797B1 (en) | Deriving a device unique encryption key of a system on chip using a physical unclonable function | |
CN115361198A (zh) | 解密方法、加密方法、装置、计算机设备和存储介质 | |
CN112637160A (zh) | 登陆验证方法、装置、设备和存储介质 | |
CN112702161B (zh) | 一次性数据对称加密解密算法 | |
CN114095154B (zh) | 一种App登录的动态口令实现方法、装置、设备和介质 | |
KR102331835B1 (ko) | 오류 주입 공격 시스템 | |
US20220166767A1 (en) | Authentication system(s) with multiple authentication modes using one-time passwords of increased security | |
CN109583155B (zh) | 一种内嵌安全芯片的iot模组及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |