一种离线智能锁临时密码生成方法及其验证方法与流程
- 国知局
- 2024-07-31 22:15:39
本发明涉及智能锁安全验证,更具体地说,它涉及一种离线智能锁临时密码生成方法及其验证方法。
背景技术:
1、现今智能锁越来越多的应用到各个领域,智能锁的开锁方式包括指纹、密码、人脸和门卡等多种模式,这些开锁模式多数都是用户自己使用。但随着服务业的发展和人们对其越来越多的需求,以及一些临时访客需要进入时,就需要临时密码。
2、目前市面上智能锁生成临时密码的方式也有很多种,一种是在智能锁终端设置临时密码,用户在智能锁上先设定好临时密码,然后将密码告知访客,该方式是用户提前知晓有访客并设定好临时密码,但当用户无法知晓有访客或用户在外无法设定临时密码时,该方法无法起到临时密码所达到的效果。另一种方法是通过联网模式,使智能锁与移动终端保持网络连接,临时密码有云端或服务器发送临时密码给用户,所以该种方式必须保证门锁处于联网状态,存在一定使用局限性;例如专利号为:cn201610619967.7的发明专利就公开了这样一种离线智能锁临时密码生成方法及其验证方法。
技术实现思路
1、针对现有技术存在的不足,本发明的目的在于提供一种离线智能锁临时密码生成方法及其验证方法,以解决上述背景技术中存在的技术问题。
2、本发明的上述技术目的是通过以下技术方案得以实现的:应用于移动终端;所述临时密码生成方法包括:
3、s1、获取当前时间以及预先设定的基准时间,根据基准时间以及当前时间计算时间差值,将所述时间差值按照预定规则转化为第一数组;
4、s2、获取预先设定的加密代码以及智能锁id号;将所述时间差值、加密代码以及智能锁id号相互结合得到第一中间变量;
5、s3、按照预设的扰动规则对第一中间变量进行扰动后与第一数组相结合,得到临时密码。
6、可选的,所述获取当前时间以及预先设定的基准时间,根据基准时间以及当前时间计算时间差值,包括:
7、计算当前时间与基准时间的时间间隔,将所述时间间隔转化为第一小时数;
8、对所述第一小时数做向下取整计算得到第二小时数,在所述第二小时数的末端增加一位p,得到时间差值;
9、其中,在第一小时数向下取整后的余数大于0且小于等于0.5的情况下,p=0;在第一小时数向下取整后的余数大于0.5且小于1的情况下,p=1。
10、可选的,所述将所述时间差值、加密代码以及智能锁id号相互结合得到第一中间变量,包括:
11、根据当前时间对应的月、日、时生成第一时间信息,将所述第一时间信息与加密代码结合后按照预定规则进行第一位运算,得到对应的第一中间变量。
12、可选的,所述按照预设的扰动规则对第一中间变量进行扰动后与第一数组相结合,得到临时密码,包括:
13、s31、根据当前时间对应的分生成对应的第二时间信息,将所述智能锁id号与预先设定的第一常数相加得到第二常数,将第二时间信息与第三常数相加得到第四常数;将第二常数与第四常数结合得到第二中间变量;
14、s32、根据当前时间对应的时生成对应的第三时间信息,将所述智能锁id号、加密代码以及第三时间信息相互结合后进行第二位运算以及移位操作,得到第三中间变量;
15、s33、计算所述第一中间变量、第二中间变量、第三中间变量以及时间差值的乘积,得到数值a,对数值a的每一位分别进行取余运算,得到对应的第二数组;
16、s34、获取预先设定的第三数组,将所述第三数组中的所有元素初始化位255;获取第二数组中的第一位置对应的元素,记作第一元素,对第一元素进行取模运算,得到第二元素,利用第二元素替换第三数组中的第一位置对应的元素,得到第四数组;
17、s35、按照预设规则,将所述第一数组中的各个元素存储在第四数组中的对应的位置,得到第五数组;
18、s36、对所述第五数组中的元素进行遍历,确定所述第五数组中未被赋值的元素,记作第三元素;分别确定每一个第三元素对应的位置信息;根据所述位置信息,在所述第二数组中获取与第三元素一一对应的第四元素;使用所述第四元素一一对应替换第五数组中的第三元素得到第六数组;
19、s37、根据预设的规则,将第六数组转化为一个10位整数,记作临时密码。
20、可选的,还包括:
21、s4、将所述临时密码输入到离线的智能锁中进行验证;
22、智能锁在接收用户端预先生成的临时密码的情况下,执行以下步骤:
23、获取预设的加密代码以及智能锁id号,根据所述加密代码、智能锁id号以及临时密码,计算第四时间信息;
24、获取存储模块中存储的第五时间信息,根据第五时间信息判断第四时间信息是否有效;若是,则执行下一步骤;
25、根据所述第四时间信息、加密代码和智能锁id,通过预先设定的密码生成算法,生成验证密码,判断验证密码与临时密码是否相同,若是,则执行开锁动作。
26、可选的,应用于离线智能锁,所述密码验证方法包括:
27、s5、接收移动终端预先生成的临时密码;
28、s6、获取预设的加密代码以及智能锁id号,根据所述加密代码、智能锁id号以及临时密码,计算第四时间信息;
29、s7、获取存储模块中存储的第五时间信息,根据第五时间信息判断第四时间信息是否有效;若是,则执行步骤s8;
30、s8、根据所述第四时间信息、加密代码和智能锁id,通过预先设定的密码生成算法,生成验证密码,判断验证密码与临时密码是否相同,若是,则执行开锁动作。
31、可选的,所述步骤s5还包括:
32、将所述临时密码与存储模块中的密码进行比对,判断存储模块中是否存在与临时密码相同的密码,若是,则终止执行,若否,则执行步骤s6。
33、可选的,所述获取存储模块中存储的第五时间信息,根据第五时间信息判断第四时间信息是否有效,包括:
34、s31、判断第四时间信息是否早于第五时间信息,若否,则判定第四时间信息有效;若是,则执行步骤s32;
35、s32、根据第五时间信息向前推算24小时得到第六时间信息;判断第四时间信息是否早于第六时间信息,若否,则判定第四时间信息有效。
36、可选的,还包括:
37、s9、判断所述第四时间信息是否晚于第五时间信息,若是,则将所述第四时间信息存储到存储模块中并记作第五时间信息。
38、可选的,所述临时密码的生成方法包括:
39、获取当前时间以及预先设定的基准时间,根据基准时间以及当前时间计算时间差值,将所述时间差值按照预定规则转化为第一数组;
40、获取预先设定的加密代码以及智能锁id号;将所述时间差值、加密代码以及智能锁id号相互结合得到第一中间变量;
41、按照预设的扰动规则对第一中间变量进行扰动后与第一数组相结合,得到临时密码。
42、综上所述,本发明具有以下有益效果:该离线临时密码的生成方式由移动终端操作,不受地点限制,并且与智能锁无任何联网操作,安全性更高;用户在移动终端只需首次使用时输入加密代码和智能锁id号,之后无需再输入,移动终端根据当前时间即可生成临时密码,操作简便。
本文地址:https://www.jishuxx.com/zhuanli/20240731/192476.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。