离线电子锁临时密码生成方法、系统及设备技术方案

技术编号:27103484 阅读:28 留言:0更新日期:2021-01-25 18:50
本发明专利技术公开了一种离线电子锁临时密码生成方法,包括以下步骤:通过有效时间信息和伪随机数生成临时密码的第一部分;通过固定密码以及与步骤一中相同的伪随机数生成临时密码的第二部分;将第一部分和第二部分合并为所述的临时密码。的临时密码。的临时密码。

【技术实现步骤摘要】
离线电子锁临时密码生成方法、系统及设备


[0001]本专利技术涉及加密领域,具体涉及一种离线电子锁临时密码生成方法、系统及设备。

技术介绍

[0002]电子锁是一种通过输入密码来控制电路或者芯片,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
[0003]现有技术中电子锁临时密码是通过固定时效的动态密码方法生成的,这种方法是以当前时间为种子,每隔固定时间段就会更新一次密码,密码只在固定的时间段有效,不能灵活设置临时密码生效的时间点以及有效的时长。

技术实现思路

[0004]为解决上述技术问题,本专利技术提供一种离线电子锁临时密码生成方法、系统及设备。
[0005]为解决上述技术问题,本专利技术采用如下技术方案:
[0006]一种离线电子锁临时密码生成方法,包括以下步骤:
[0007]步骤一:通过有效时间信息和伪随机数生成临时密码的第一部分;
[0008]步骤二:通过固定密码以及与步骤一中相同的伪随机数生成临时密码的第二部分;
[0009]步骤三:将第一部分和第二部分合并为所述的临时密码。
[0010]具体地,步骤一和步骤二中使用相同的初始种子和生成函数生成所述伪随机数,且每次生成临时密码时,步骤一中的伪随机数与步骤二中的伪随机数相同。
[0011]具体地,步骤一中通过有效时间信息T和伪随机数R生成临时密码的第一部分P1的方法如下:P1=T*R。
[0012]具体地,所述有效时间信息为该临时密码的有效时间,所述有效时间信息为六位数字,该六位数字的前两位为临时密码的有效天数,第三位和第四位为当前日期,第五位为当前年份的末位数字,第六位为当前月份的末位数字。
[0013]具体地,步骤二中通过固定密码S和伪随机数R生成临时密码的第二部分P2的方法如下:P2=S+R*H;其中H为房间地址。
[0014]具体地,固定密码为四位数字;房间地址为四位数字,其中前两位为楼层数,后两位为房间号。
[0015]具体地,第一部分P1的位数为6-8位,第二部分P2的位数为4-6位;步骤三中将第一部分和第二部分合并为临时密码时,如第二部分的位数不足6位,则在第二部分的开头补零,使第二部分成为6位数字;将第一部分的前6位数字依次放置在临时密码的奇数位且第二部分依次放置在临时密码的偶数位,然后将第一部分中超过6位的数字放在临时密码的末尾。
[0016]一种离线电子锁临时密码生成系统,包括:
[0017]有效时间模块,其通过有效时间信息和伪随机数生成临时密码的第一部分;
[0018]固定信息模块,其通过固定密码以及与步骤一中相同的伪随机数生成临时密码的第二部分;
[0019]密码合并模块,其将第一部分和第二部分合并为所述的临时密码。
[0020]一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的生成方法。
[0021]与现有技术相比,本专利技术的有益技术效果是:
[0022]本专利技术将临时密码分为两部分,第一部分携带密码的有效时间信息;第二部分携带固定密码信息,用于验证本次临时密码的合法性;当需要开锁时,第一次输入临时密码后,电子锁将其解析成两部分,通过第二部分验证本次临时密码是否合法,如果合法,再解析第一部分所包含的有效时间信息,设置该临时密码的有效时间;使临时密码既满足开锁时的安全需求,又可以对临时密码本身进行解析,获取临时密码的有效时间。
附图说明
[0023]图1为本专利技术临时密码生成方法的流程示意图。
具体实施方式
[0024]下面结合附图对本专利技术的一种优选实施方式作详细的说明。
[0025]现有技术中电子锁临时密码是通过固定时效的动态密码方法生成的,这种方法是以当前时间为种子,每隔固定时间段就会更新一次密码,即密码的有效时间是固定的,无法根据需要进行设置的。
[0026]如图1所示,本专利技术提供一种离线电子锁临时密码生成方法,包括以下步骤:
[0027]S1:通过有效时间信息和伪随机数生成临时密码的第一部分。
[0028]具体地,步骤一和步骤二中使用相同的初始种子和生成函数生成所述伪随机数,且每次生成临时密码时,步骤一中的伪随机数与步骤二中的伪随机数相同。
[0029]具体地,步骤一中通过有效时间信息T和伪随机数R生成临时密码的第一部分P1的方法如下:P1=T*R。
[0030]具体地,所述有效时间信息为该临时密码的有效时间,所述有效时间信息为六位数字,该六位数字的前两位为临时密码的有效天数,取值范围01-31;第三位和第四位为当前日期,取值范围为01-31;第五位为当前年份的末位数字,取值范围0-9;第六位为当前月份的末位数字,取值范围为0-9;假设当前日期为2023年5月12日,有效天数为7天,有效时间信息的六位数字为071235。
[0031]伪随机数的取值范围为1-99,在电子锁开锁程序中和酒店后台的密码生成程序中使用相同的种子和生成函数,能够保证每次伪随机数的数序保持不变;电子锁开锁成功后,伪随机数会更新,以供电子锁解析下一组临时密码;在密码生成程序中,客人办理入住后,伪随机数更新,以供生成下一组临时密码;这样密码生成程序中的伪随机数和电子锁内的伪随机数的更新是一致的,便于电子锁能够正确解析密码生成程序中生成的临时密码。
[0032]根据用于生成第一部分的各数的取值范围,能够计算出第一部分的取值范围是999999-31006701。
[0033]S2:通过固定密码以及与步骤一中相同的伪随机数生成临时密码的第二部分。
[0034]具体地,步骤二中通过固定密码S和伪随机数R生成临时密码的第二部分P2的方法如下:P2=S+R*H;其中H为房间地址。
[0035]具体地,固定密码为四位数字,取值范围为0000-9999;房间地址为四位数字,取值范围0101-4999,其中前两位为楼层数,后两位为房间号。
[0036]根据用于生成第二部分的各数的取值范围,能够计算出第二部分的取值范围是0101-504900。
[0037]S3:将第一部分和第二部分合并为所述的临时密码。
[0038]具体地,第一部分P1的位数为6-8位,第二部分P2的位数为4-6位;步骤三中将第一部分和第二部分合并为临时密码时,如第二部分的位数不足6位,则在第二部分的开头补零,使第二部分成为6位数字;将第一部分的前6位数字依次放置在临时密码的奇数位且第二部分依次放置在临时密码的偶数位,然后将第一部分中超过6位的数字放在临时密码的末尾。
[0039]为了便于合并,当第二部分为一个四位数或五位数时,在其开头补0,使之成为一个六位数,这样第二部分的取值范围为000101-504900;然后对第一部分和第二部分进行合并,第一部分前6位放在奇数位,第二部分放在偶数位,组成一个12位的数,然后把第一部分大于6位的部分补在这12位数之后,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种离线电子锁临时密码生成方法,包括以下步骤:步骤一:通过有效时间信息和伪随机数生成临时密码的第一部分;步骤二:通过固定密码以及与步骤一中相同的伪随机数生成临时密码的第二部分;步骤三:将第一部分和第二部分合并为所述的临时密码。2.根据权利要求1所述的离线电子锁临时密码生成方法,其特征在于,步骤一和步骤二中使用相同的初始种子和生成函数生成所述伪随机数,且每次生成临时密码时步骤一中的伪随机数与步骤二中的伪随机数相同。3.根据权利要求1所述的离线电子锁临时密码生成方法,其特征在于,步骤一中通过有效时间信息T和伪随机数R生成临时密码的第一部分P1的方法如下:P1=T*R。4.根据权利要求3所述的离线电子锁临时密码生成方法,其特征在于,所述有效时间信息为该临时密码的有效时间,所述有效时间信息为六位数字,该六位数字的前两位为临时密码的有效天数,第三位和第四位为当前日期,第五位为当前年份的末位数字,第六位为当前月份的末位数字。5.根据权利要求1所述的离线电子锁临时密码生成方法,其特征在于,步骤二中通过固定密码S和伪随机数R生成临时密码的第二部分P2的方法如下:P2=S+R*H;其中...

【专利技术属性】
技术研发人员:刘文琦于涛张杰
申请(专利权)人:合肥寰芯微电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1