本技术涉及密码锁控制,尤其涉及一种密码锁的离线控制方法及密码锁系统。
背景技术:
1、随着电子技术的发展,密码锁的应用已在人们的日常生活中日趋广泛。常见的门锁、车锁等都有使用密码锁的案例。通常情况下,在服务器与密码锁保持通信的情况时,服务器根据用户利用终端设备发出的开锁请求生成解锁密码,并发送至用户的终端设备和密码锁,密码锁响应用户对解锁密码的输入,在确定用户输入的解锁密码与自身接收到的解锁密码一致后,进行解锁。在密码锁处于离线状态,服务器与密码锁无法通信的情况下,需要用户在密码锁上输入指定的离线解锁密码对密码锁进行解锁,这种离线解锁方法安全性低,存在一定的安全隐患。
技术实现思路
1、本技术提供一种密码锁的离线控制方法及密码锁系统,以提高密码锁在离线状态下的解锁安全性。
2、第一方面,本技术提供一种密码锁的离线控制方法,用于密码锁系统,所述密码锁系统包括服务器和密码锁;其中,在所述密码锁处于离线状态时,所述方法包括:
3、所述服务器响应用户的终端设备对所述密码锁的解锁请求,获取所述用户的终端设备的设备密码;
4、所述服务器利用第一加密算法解析所述设备密码,以获取所述用户的终端设备的标识码;
5、所述服务器根据所述用户的终端设备的标识码查阅第一预设标识码列表;其中,所述第一预设标识码列表中的标识码为对所述密码锁具有开锁权限的终端设备的标识码;
6、若所述第一预设标识码列表中包括与所述用户的终端设备的标识码一致的标识码,所述服务器生成解锁密码,并将所述解锁密码发送至所述用户的终端设备;
7、所述密码锁响应所述用户对所述解锁密码的输入,对所述解锁密码进行验证;
8、若验证通过,所述密码锁被解锁。
9、在一些实现方式中,所述服务器存储所述密码锁的标识码,所述服务器生成解锁密码的方法,包括:
10、获取第一时刻信息,并基于所述第一时刻信息利用量子数随机发生器生成第一量子随机数组;其中,所述第一时刻信息为所述服务器开始生成所述解锁密码的时刻信息;
11、基于第二加密算法利用所述第一量子随机数组、所述用户的终端设备的标识码和所述密码锁的标识码生成所述解锁密码;其中,所述解锁密码被所述密码锁验证时,所述密码锁利用所述第二加密算法对所述解锁密码进行解析,得到所述第一量子随机数组、所述用户的终端设备的标识码和所述密码锁的标识码。
12、在一些实现方式中,所述服务器基于第二加密算法利用所述第一量子随机数、所述用户的终端设备的标识码和所述密码锁的标识码生成所述解锁密码,包括:
13、基于所述第二加密算法的格式转换函数利用所述用户的终端设备的标识码生成第一数组;
14、基于所述第二加密算法的格式转换函数利用所述密码锁的标识码生成第二数组;
15、基于所述第二加密算法的第一组合函数利用所述第一数组和所述第二数组生成中间码;
16、基于所述第二加密算法的第二组合函数利用所述第一量子随机数组和所述中间码生成所述解锁密码。
17、在一些实现方式中,所述密码锁响应所述用户对所述解锁密码的输入,对所述解锁密码进行验证的方法,包括:
18、基于所述解锁密码查询历史离线解锁密码数据库,以判断所述解锁密码是否为第一次使用;
19、若所述解锁密码为第一次使用,将所述解锁密码存储至所述历史离线解锁密码数据库,并基于所述第二加密算法对所述解锁密码进行解析,以获取所述用户的终端设备的标识码、所述密码锁的标识码和所述第一量子随机数;
20、基于所述第一量子随机数获取所述第一时刻信息;
21、获取第二时刻信息,所述第二时刻信息为所述用户输入所述解锁密码的时刻信息;
22、计算所述第一时刻信息与所述第二时刻信息之间的时长;
23、将所述时长与预设时长进行比较;
24、若所述时长不大于所述预设时长,根据所述用户的终端设备的标识码查阅第二预设标识码列表;其中,所述第二预设标识码列表中的标识码为对所述密码锁具有开锁权限的终端设备的标识码;
25、若所述第二预设标识码列表中包括与所述用户的终端设备的标识码一致的标识码,验证所述密码锁的标识码与预设的密码锁标识码是否一致;
26、若所述密码锁的标识码与所述预设的密码锁标识码一致,验证通过。
27、在一些实现方式中,所述基于所述第二加密算法对所述解锁密码进行解析,以获取所述用户的终端设备的标识码、所述密码锁的标识码和所述第一量子随机数,包括:
28、基于所述第二加密算法的第二组合函数的反函数对所述解锁密码进行解析,以获取所述第一量子随机数组和所述中间码;
29、基于所述第二加密算法的第一组合函数的反函数对所述中间码进行解析,以获取所述第一数组和所述第二数组;
30、基于所述第二加密算法的格式转换函数的反函数对所述第一数组进行解析,以获取所述用户的终端设备的标识码;
31、基于所述第二加密算法的格式转换函数的反函数对所述第二数组进行解析,以获取所述密码锁的标识码。
32、在一些实现方式中,在所述服务器将所述解锁密码发送至所述用户的终端设备之前,所述服务器对所述解锁密码进行加密处理,所述加密处理的方法包括:
33、将预设编码表中的字符显示列的所有字符随机排序后依次填入所述字符显示列,得到更新后的所述预设编码表;
34、基于所述用户的终端设备的标识码查阅更新后的所述预设编码表,以获取第三数组;
35、基于所述服务器的标识码查阅更新后的所述预设编码表,以获取第四数组;
36、随机生成第一随机数组和第二随机数组;
37、基于所述第三数组和所述第一随机数组生成第一加密数组;
38、基于所述第四数组和所述第二随机数组生成第二加密数组;
39、基于所述第一加密数组和所述第二加密数组对所述解锁密码进行加密。
40、在一些实现方式中,所述基于所述第一加密数组和所述第二加密数组对所述解锁密码进行加密,包括:
41、分别提取所述第一加密数组和所述第二加密数组在指定位置的数字;
42、将提取到的所有所述数字进行随机排序,得到目标加密密码;
43、基于所述目标加密密码对所述解锁密码进行加密。
44、第二方面,本技术提供一种密码锁系统,包括服务器和密码锁;其中,所述服务器包括:
45、获取模块,用于响应用户的终端设备对所述密码锁的解锁请求,获取所述用户的终端设备的设备密码;
46、解析模块,用于利用第一加密算法解析所述设备密码以获取所述用户的终端设备的标识码;
47、查询模块,用于根据所述用户的终端设备的标识码查阅第一预设标识码列表;其中,所述第一预设标识码列表中的标识码为对所述密码锁具有开锁权限的终端设备的标识码;
48、生成模块,用于若所述第一预设标识码列表中包括与所述用户的终端设备的标识码一致的标识码,生成解锁密码,并将所述解锁密码发送至所述用户的终端设备;
49、所述密码锁包括:
50、验证模块,用于响应所述用户对所述解锁密码的输入,对所述解锁密码进行验证;
51、执行模块,用于若验证通过,解锁所述密码锁。
52、本技术提供了密码锁的离线控制方法及密码锁系统,其中,所述密码锁的离线控制方法在所述用户的终端设备对所述密码锁发出解锁请求时,首先采用所述服务器对所述用户的终端设备的解锁权限进行验证,在所述解锁权限验证通过后,生成所述解锁密码,并将所述解锁密码发送至所述用户的终端设备,然后在所述用户输入所述解锁密码后,利用所述密码锁对所述解锁密码进行验证,并在验证通过后,解锁所述密码锁。该方法实现了在密码锁处于离线状态时,基于用户的终端设备对密码锁的解锁请求实时生成解锁密码,提高了密码锁在离线状态下的解锁安全性。