掌桥专利:专业的专利平台
掌桥专利
首页

一种离线型临时密码的生成、验证方法及其智能门锁

文献发布时间:2023-06-19 18:30:43


一种离线型临时密码的生成、验证方法及其智能门锁

技术领域

本发明公开涉及智能门锁的技术领域,尤其涉及一种离线型临时密码的生成、验证方法及其智能门锁。

背景技术

目前,智能门锁已经越来越普及。智能门锁是指区别于传统机械锁的基础上改进的,在用户安全性、识别、管理性方面更加智能化简便化的锁具。由于智能门锁可通过密码、指纹、人脸识别等方式进行开锁,避免出现忘带钥匙,进不了门的尴尬。

为了方便使用,智能门锁大多设置有访客模式,通过生成的临时密码进行解锁,方便访客的进入,避免出现主人临时有事未能及时回来为客人开门,导致客人需要在门外等待多时的现象发生。以往对于临时密码的生产大多是采用aes算法或者哈西算法,上述两种算法均存在计算量较大的问题。

因此,是否可以研发一种计算量小、安全性高的临时密码生成方法,成为人们亟待解决的问题。

发明内容

鉴于比,本发明提供了一种离线型临时密码的生成、验证方法及其智能门锁,以解决以往临时密码存在计算量大等问题。

一方面,本发明提供了一种离线型临时密码的生成方法,应用于智能门锁的APP端,所述生成方法包括如下步骤:

在智能门锁的APP中获取管理员密码X,截取所述管理员密码X的前n位,作为初始密码A,所述n为大于等于6的自然数;

在智能门锁的APP中获取预存的常量Z,所述常量Z的位数与所述初始密码A的位数相同;

基于所述初始密码A以及所述常量Z,获得与所述初始密码A位数相同的第一密码N1;

获取当前时间,并读取当前时间对应的月、日、小时以及分钟;

根据所述第一密码N1以及读取的当前时间对应的月、日、小时以及分钟,使用预设的加密算法获得处理后密码N3;

将读取的分钟以两位数的形式插入到处理后密码N3的预设位置,得到最终临时密码P。

优选,所述根据所述第一密码N1以及读取的当前时间对应的月、日、小时以及分钟,使用预设的加密算法获得处理后密码N3步骤,具体为:

将所述第一密码N1的每一位均分别与读取的分钟相加,每位结果均保留个位,得到与所述初始密码A位数相同的第二密码N2;

将所述第二密码N2的每一位均分别乘以读取的月,然后再依次加上读取的日和小时后,将每位结果均分别除以读取的分钟+1,保留余数的个位,获得与所述初始密码A位数相同的处理后密码N3。

进一步优选,所述基于所述初始密码A以及所述常量Z,获得与所述初始密码A位数相同的第一密码N1,具体为:

将所述初始密码A的每一位均分别与所述常量Z的每一位对应相加,每位结果保留个位,获得与所述初始密码A位数相同的第一密码N1;

或者,

将所述初始密码A倒序后,将倒序后的初始密码A的每一位均分别与所述常量Z的每一位对应相加,每位结果保留个位,获得与所述初始密码A位数相同的第一密码N1。

另一方面,本发明还提供了一种离线型临时密码的验证方法,应用于智能门锁端,所述验证方法包括如下步骤:

接收输入的最终临时密码P,并提取所述临时密码P中的分钟,所述最终临时密码P由任意一种方法生成;

在智能门锁系统中获取管理员密码X’,截取所述管理员密码X’的前n位,作为初始密码A’,所述n为大于等于6的自然数;

在智能门锁系统中获取预存的常量Z’,所述常量Z’的位数与所述初始密码A’的位数相同;

基于所述初始密码A’以及所述常量Z’,获得与所述初始密码A’位数相同的第一密码N1’;

提取智能门锁系统中的时间,将提取时间中的分钟替换为所述临时密码P中的分钟后,生成更新的时间,读取更新后时间对应的月、日以及分钟;

根据所述第一密码N1’、小时数以及读取的更新后时间对应的月、日及分钟,使用预设的加密算法计算获得24个处理后密码N3’,其中,所述小时数为大于等于0小于等于23的整数;

将提取所述最终临时密码P中的分钟以两位数的形式分别插入到24个处理后密码N3’的预设位置,生成智能门锁端的24个最终临时密码P’;

将输入的最终临时密码P与生成的智能门锁端的24个最终临时密码P’进行逐一比对,若存在一致的,则验证成功;否则验证失败。

优选,所述根据所述第一密码N1’、小时数以及读取的更新后时间对应的月、日及分钟,使用预设的加密算法计算获得24个处理后密码N3’步骤,具体为:

1)将所述第一密码N1’的每一位均分别与读取更新后时间对应的分钟相加,每位结果均保留个位,得到与所述初始密码A’位数相同的第二密码N2’;

2)将所述第二密码N2’的每一位均分别乘以读取更新后时间对应的月,然后再依次加上小时数以及读取更新后时间对应的日,将每位结果均分别除以读取更新后时间对应的分钟+1,保留余数的个位,获得1个与所述初始密码A’位数相同的处理后密码N3’,其中,小时数为0;

3)将小时数加1后,重复步骤2),直至小时数为23,获得24个处理后密码N3’。

进一步优选,所述基于所述初始密码A’以及所述常量Z’,获得与所述初始密码A’位数相同的第一密码N1’,具体为:

将所述初始密码A’的每一位均分别与所述常量Z’的每一位对应相加,每位结果保留个位,获得与所述初始密码A’位数相同的第一密码N1’;

或者,

将所述初始密码A’倒序后,将倒序后的初始密码A’的每一位均分别与所述常量Z’的每一位对应相加,每位结果保留个位,获得与所述初始密码A’位数相同的第一密码N1’。

此外,本发明还提供了一种智能门锁,包括:

密码接收单元,用于接收输入的最终临时密码P;

存储单元,用于存储管理员密码X’以及常量Z’;

时间提取单元,用于提取所述密码接收单元中最终临时密码P中的分钟;以及提取智能门锁系统中的时间,将提取时间中的分钟替换为所述最终临时密码P中的分钟后,生成更新的时间,并读取更新后时间对应的月、日以及分钟;

密码生成单元,用于从所述存储单元中获取管理员密码X’以及常量Z’,截取所述管理员密码X’的前n位,作为初始密码A’,所述n为大于等于6的自然数,并基于所述初始密码A’以及所述常量Z’,获得与所述初始密码A’位数相同的第一密码N1’;根据所述第一密码N1’小时数以及读取的更新后时间对应的月、日以及分钟,使用预设的加密算法获得24个处理后密码N3’;将提取所述临时密码P中的分钟以两位数的形式分别插入到24个处理后密码N3’的预设位置,生成智能门锁端的24个最终临时密码P’;

密码验证单元:分别读取所述密码接收单元中的最终临时密码P以及密码生成单元中智能门锁端的24个最终临时密码P’,并将最终临时密码P与智能门锁端的24个最终临时密码P’进行逐一比对,若存在一致,则验证成功;否则验证失败。

优选,所述密码生成单元中所述根据所述第一密码N1’、小时数以及读取的更新后时间对应的月、日以及分钟,使用预设的加密算法获得24个处理后密码N3’步骤,具体为:

1)将所述第一密码N1’的每一位均分别与读取更新后时间对应的分钟相加,每位结果均保留个位,得到与所述初始密码A’位数相同的第二密码N2’;

2)将所述第二密码N2’的每一位均分别乘以读取更新后时间对应的月,然后再依次加上小时数以及读取更新后时间对应的日,将每位结果均分别除以读取更新后时间对应的分钟+1,保留余数的个位,获得1个与所述初始密码A’位数相同的处理后密码N3’,其中,小时数为0;

3)将小时数加1后,重复步骤2),直至小时数为23,获得24个处理后密码N3’。

本发明提供的离线型临时密码的生成方法,是基于管理员设置的管理员密码和预设的加密方法生成的,生成过程不可逆,所以即便当预设加密方法的计算公式被暴露,还是很难推算出原始密码,提高了生成的临时密码的安全性。而该生成方法中预设的加密方法是基于时间中的月、日、小时以及分钟进行计算获得,计算过程简单,计算量小,便可得出相对可靠的临时密码。不需要复杂的数学算法,简单实用。

本发明提供的离线型临时密码的生成方法,具有生成临时密码存在计算量小、安全性高等优点。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明的公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明公开实施例提供的一种离线型临时密码的生成方法的流程示意图;

图2为本发明公开实施例提供的一种离线型临时密码的生成方法中步骤S5的流程示意图;

图3为本发明公开实施例提供的一种离线型临时密码的验证方法的流程示意图;

图4为本发明公开实施例提供的一种离线型临时密码的验证方法中步骤S6’的流程示意图;

图5为本发明公开实施例提供的一种智能门锁的组成模块示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的方法的例子。

为了解决以往智能门锁中的临时密码均是采用aes算法或者哈西算法生成,存在计算量大等问题,本实施方案提供了一种离线型临时密码的生成方法,该方法主要应用于智能门锁的APP端,参见图1,具体的步骤包括:

S1:在智能门锁的APP中获取管理员密码X,截取管理员密码X的前n位,作为初始密码A,所述n为大于等于6的自然数;

S2:在智能门锁的APP中获取预存的常量Z,该常量Z的位数与初始密码A的位数相同;

S3:基于初始密码A以及常量Z,获得与初始密码A位数相同的第一密码N1;

S4:获取当前时间,并读取当前时间对应的月、日、小时以及分钟;

S5:根据第一密码N1以及读取的当前时间对应的月、日、小时以及分钟,使用预设的加密算法获得处理后密码N3;

S6:将读取的分钟以两位数的形式插入到处理后密码N3的预设位置,得到最终临时密码P。

上述实施方案提供的离线型临时密码的生成方法中,步骤S1在进行管理员密码X的截取时,通常是截取管理员密码X的前6位,为了防止截取的初始密码A各位均为0,生全为0的无意义密码,因此,在步骤S2中提取了常量Z,通过初始密码A以及常量Z获得不为0的有意义第一密码N1,上述管理员密码X和常量Z均是预存在APP软件中。步骤S5中通过步骤S4中提取的时间对应月、日、小时以及分钟与第一密码N1通过加密算法进行加密获得处理后密码N3,由于提取时间具有随机性,不是固定的常数,可进一步增加破译的难度,提高密码的安全性。为了为生成的最终临时密码打上时间标记,因此在步骤S6中将读取的分钟以两位数的形式插入到处理后密码N3的预设位置,形成最终临时密码,通常是将该分钟插入到处理后密码N3的后面,若初始密码A为6位,则生成的最终临时密码为8位,如果分钟对应的是一位数,则在前面增加0进行补位,形成两位数的形式。

参见图2,上述步骤S5中,根据第一密码N1以及读取的当前时间对应的月、日、小时以及分钟,使用预设的加密算法获得处理后密码N3,具体为:

S501:将第一密码N1的每一位均分别与读取的分钟相加,每位结果均保留个位,得到与所述初始密码A位数相同的第二密码N2;

S502:将第二密码N2的每一位均分别乘以读取的月,然后再依次加上读取的日和小时后,将每位结果均分别除以读取的分钟+1,保留余数的个位,获得与初始密码A位数相同的处理后密码N3。

上述方案仅给出了一种加密算法,在实际应用中,还可以采用其他的类似加减乘除的方式,采用读取的当前时间对应的月、日、小时以及分钟对第一密码N1进行加密,上述整体的加密过程均为简单的逻辑计算,由于是以管理员密码为基础,再配合读取时间的随机性,仅通过简单的逻辑计算,便可得出相对可靠的临时密码,简单实用。

上述步骤S3中,基于初始密码A以及常量Z,获得与初始密码A位数相同的第一密码N1,具体为

将初始密码A的每一位均分别与常量Z的每一位对应相加,每位结果保留个位,获得与初始密码A位数相同的第一密码N1;

或者,

将初始密码A倒序后,将倒序后的初始密码A的每一位均分别与常量Z的每一位对应相加,每位结果保留个位,获得与初始密码A位数相同的第一密码N1。

上述操作的主要目的就是将常量Z作用到初始密码A上,避免截取的初始密码A为全0的情况,其中,如果增加倒序是为了增加破译难度,提高生成密码的安全性。

本实施方案提供的是一种针对上述实施方案生成的离线型临时密码的验证方法,应用于智能门锁端,参见图3,具体包括如下步骤:

S1’:接收输入的最终临时密码P,并提取临时密码P中的分钟,上述最终临时密码P由上述实施方案提供的方法生成的;

S2’:在智能门锁系统中获取管理员密码X’,截取管理员密码X’的前n位,作为初始密码A’,所述n为大于等于6的自然数;

S3’:在智能门锁系统中获取预存的常量Z’,所述常量Z’的位数与初始密码A’的位数相同;

S4’:基于初始密码A’以及常量Z’,获得与初始密码A’位数相同的第一密码N1’;

S5’:提取智能门锁系统中的时间,将提取时间中的分钟替换为临时密码P中的分钟后,生成更新的时间,读取更新后时间对应的月、日以及分钟;

S6’:根据第一密码N1’、小时数以及读取的更新后时间对应的月、日及分钟,使用预设的加密算法计算获得24个处理后密码N3’,其中,小时数为大于等于0小于等于23的整数;

S7’:将提取最终临时密码P中的分钟以两位数的形式分别插入到24个处理后密码N3’的预设位置,生成智能门锁端的24个最终临时密码P’;

S8’:将输入的最终临时密码P与生成的智能门锁端的24个最终临时密码P’进行逐一比对,若存在一致的,则验证成功;否则验证失败。

上述实施方案提供的离线型临时密码的验证方法,管理员密码X’和常量Z’均是预存在只能门锁系统中的,其数值与APP中预存管理员密码X和常量Z相同,门锁系统实质上是将从门锁系统中提取的时间把分钟丢掉,由输入的最终临时密码中的分钟代替,进而确保二者的运算时使用的月、日以及分钟与APP端相同,小时由0-23进行变换,采用与APP端相同的方法计算出24套密码,然后将计算出的24套密码与输入的密码进行逐一比对,如果存在一致即验证成功,进行开锁,如果不存在一致即验证失败,不进行开锁。

对于时效性密码,可在密码前面加上日期,使用时,把密码和日期一块输入门锁,激活一次,门锁记录下日期,下次在使用不用输入日期,直接输密码就可以开门。

参见图4,上述步骤S6’中,根据所述第一密码N1’、小时数以及读取的更新后时间对应的月、日及分钟,使用预设的加密算法计算获得24个处理后密码N3’步骤,其具体的过程也与APP端的生成方法相同,具体为:

S601’:将第一密码N1’的每一位均分别与读取更新后时间对应的分钟相加,每位结果均保留个位,得到与初始密码A’位数相同的第二密码N2’;

S602’:将第二密码N2’的每一位均分别乘以读取更新后时间对应的月,然后再依次加上小时数以及读取更新后时间对应的日,将每位结果均分别除以读取更新后时间对应的分钟+1,保留余数的个位,获得1个与初始密码A’位数相同的处理后密码N3’,其中,小时数为0;

S603’:将小时数加1后,重复步骤S602’,直至小时数为23,获得24个处理后密码N3’。

与APP端相同,上述关于仅给出了一种加密算法的方式,在实际应用中,还可以采用其他的类似加减乘除的方式,采用读取的当前时间对应的月、日以及分钟对第一密码N1’进行加密,只要保证门锁系统中的加密算法与APP端的加密算法完全一致即可。

上述步骤S4’中,基于所述初始密码A’以及所述常量Z’,获得与所述初始密码A’位数相同的第一密码N1’,也与APP端相同,可为:

将初始密码A’的每一位均分别与所述常量Z’的每一位对应相加,每位结果保留个位,获得与初始密码A’位数相同的第一密码N1’;

或者,

将初始密码A’倒序后,将倒序后的初始密码A’的每一位均分别与所述常量Z’的每一位对应相加,每位结果保留个位,获得与初始密码A’位数相同的第一密码N1’。

当APP端直接相加,门锁系统中就采用直接相加;当APP端采用倒序后再相加,门锁系统中就采用倒序后再相加。

参见图5,本实施方案提供了一种智能门锁,包括:

密码接收单元1,用于接收输入的最终临时密码P;

存储单元2,用于存储管理员密码X’以及常量Z’;

时间提取单元3,用于提取所述密码接收单元1中最终临时密码P中的分钟;以及提取智能门锁系统中的时间,将提取时间中的分钟替换为所述最终临时密码P中的分钟后,生成更新的时间,并读取更新后时间对应的月、日以及分钟;

密码生成单元4,用于从存储单元中获取管理员密码X’以及常量Z’,截取管理员密码X’的前n位,作为初始密码A’,n为大于等于6的自然数,并基于所述初始密码A’以及常量Z’,获得与初始密码A’位数相同的第一密码N1’;根据第一密码N1’小时数以及读取的更新后时间对应的月、日以及分钟,使用预设的加密算法获得24个处理后密码N3’;将提取临时密码P中的分钟以两位数的形式分别插入到24个处理后密码N3’的预设位置,生成智能门锁端的24个最终临时密码P’;

密码验证单元5:分别读取密码接收单元中的最终临时密码P以及密码生成单元中智能门锁端的24个最终临时密码P’,并将最终临时密码P与智能门锁端的24个最终临时密码P’进行逐一比对,若存在一致,则验证成功;否则验证失败。

其中,密码生成单元中所述根据所述第一密码N1’、小时数以及读取的更新后时间对应的月、日以及分钟,使用预设的加密算法获得24个处理后密码N3’步骤,具体为:

1)将第一密码N1’的每一位均分别与读取更新后时间对应的分钟相加,每位结果均保留个位,得到与初始密码A’位数相同的第二密码N2’;

2)将第二密码N2’的每一位均分别乘以读取更新后时间对应的月,然后再依次加上小时数以及读取更新后时间对应的日,将每位结果均分别除以读取更新后时间对应的分钟+1,保留余数的个位,获得1个与初始密码A’位数相同的处理后密码N3’,其中,小时数为0;

3)将小时数加1后,重复步骤2),直至小时数为23,获得24个处理后密码N3’。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述的内容,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

相关技术
  • 一种基于智能门锁管理智能家电的方法及智能门锁
  • 一种具有机械密码的智能门锁锁头
  • 一种智能门锁控制方法、控制装置、门锁、门及控制系统
  • 一种门锁检测的方法、装置及智能门锁
  • 基于用户人脸和二维码验证的智能门锁及其运行方法
  • 智能门锁的临时密码的验证方法、生成方法及装置
  • 一种智能门锁的临时密码设置以及验证方法
技术分类

06120115592206