CN106780880B - 密码生成方法、装置和智能锁 - Google Patents
密码生成方法、装置和智能锁 Download PDFInfo
- Publication number
- CN106780880B CN106780880B CN201611141964.3A CN201611141964A CN106780880B CN 106780880 B CN106780880 B CN 106780880B CN 201611141964 A CN201611141964 A CN 201611141964A CN 106780880 B CN106780880 B CN 106780880B
- Authority
- CN
- China
- Prior art keywords
- smart lock
- password
- array
- group
- obtains
- 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
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 239000006185 dispersion Substances 0.000 claims description 2
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00817—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Lock And Its Accessories (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种密码生成方法、装置和智能锁。其中,该方法包括:获取智能锁编号;使用预设初始密钥对智能锁编号进行加密运算,得到智能锁的密钥;获取用户输入的密码组编号;将密码组编号进行填充,得到密码组编号数组;使用智能锁的密钥对密码组编号数组进行加密运算,得到第一动态密码。本发明解决了现有技术中智能锁密码安全性能低的技术问题。
Description
技术领域
本发明涉及智能锁领域,具体而言,涉及一种密码生成方法、装置和智能锁。
背景技术
配合计量箱使用的智能锁在当前应用非常普遍,由于智能锁可以采用密码输入的方式来验证用户的身份,解决了随身带钥匙的不方便及丢钥匙带来的风险。
现有智能锁的密码常采用智能锁密码键盘、3des密钥算法或密钥分散技术,并且密码是存储在智能锁的EEPROM中,采用的密码是固定的,需要使用者自己增加、删除、修改;能修改其他密码的密码叫超级密码;并且密码一般是由6位数字组成,也就是说最多有100万组密码;由于密码是固定存储在EEPROM的芯片里,且能使用的密码组有限,一般是一个使用者一组;这样就存在某一组密码被泄露后,需要所有的密码都更换;现实中无法知道是不是有人泄露了密码,使得采用这种固定密码的密码锁安全性比较低。一般厂家会要求用户一段时间更换一次密码。
针对上述现有技术中智能锁密码安全性能低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种密码生成方法、装置和智能锁,以至少解决现有技术中智能锁密码安全性能低的技术问题。
根据本发明实施例的一个方面,提供了一种密码生成方法,包括:获取智能锁编号;使用预设初始密钥对智能锁编号进行加密运算,得到智能锁的密钥;获取用户输入的密码组编号;将密码组编号进行填充,得到密码组编号数组;使用智能锁的密钥对密码组编号数组进行加密运算,得到第一动态密码。
进一步的,得到第一动态密码之后,包括:对第一动态密码的每个字节对10取余,得到第二动态密码。
进一步的,获取智能锁编号之后,还包括:确定智能锁编号是否为8字节;在智能锁编号不是8字节的情况下,将智能锁编号转换为8字节。
进一步的,将密码组编号进行填充,得到密码组编号数组,包括:使用0x80十六进制数对密码组编号进行填充,得到的密码组编号数组为8字节长度的一个数组。
进一步的,加密运算为3DES分散加密运算或DES等对称算法,预设初始密钥的长度为128位bit。
根据本发明实施例的另一方面,还提供了一种密码生成装置,包括:第一获取模块,用于获取智能锁编号;第一加密模块,用于使用预设初始密钥对智能锁编号进行加密运算,得到智能锁的密钥;第二获取模块,用于获取用户输入的密码组编号;填充模块,用于将密码组编号进行填充,得到密码组编号数组;第二加密模块,用于使用智能锁的密钥对密码组编号数组进行加密运算,得到第一动态密码。
进一步的,装置还包括:取余模块,用于对第一动态密码的每个字节对10取余,得到第二动态密码。
进一步的,装置还包括:确定模块,用于在第一获取模块获取到智能锁编号后,确定智能锁编号是否为8字节;转换模块,用于在智能锁编号不是8字节的情况下,将智能锁编号转换为8字节。
进一步的,填充模块包括:填充子模块,用于使用0x80十六进制数对密码组编号进行填充,得到的密码组编号数组为8字节长度的一个数组。
根据本发明实施例的另一方面,还提供了一种智能锁,包括上述密码生成装置。
在本发明实施例中,通过获取智能锁编号;使用预设初始密钥对智能锁编号进行加密运算,得到智能锁的密钥;获取用户输入的密码组编号;将密码组编号进行填充,得到密码组编号数组;使用智能锁的密钥对密码组编号数组进行加密运算,得到第一动态密码,达到了生成动态密码的目的,并且在不改变原有智能锁密码输入习惯的前提下,对密码的生成方式进行了改变,使智能锁在使用时更加方便,不需要人为的增加、修改、删除密码,密码可以动态生成,并且具有唯一性,安全性能高,进而解决了现有技术中智能锁密码安全性能低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例1的一种密码生成方法的流程图;以及
图2是根据本发明实施例2的一种密码生成装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种密码生成方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的密码生成方法,如图1所示,该方法包括如下步骤:
步骤S102,获取智能锁编号。
具体的,每个智能锁的编号都是唯一的。
步骤S104,使用预设初始密钥对智能锁编号进行加密运算,得到智能锁的密钥。
具体的,预设初始密钥可以自定义修改,通过修改预设初始密钥,最终的第一动态密码也会随之改变,可以防止用户密码泄露的风险。
步骤S106,获取用户输入的密码组编号。
具体的,密码组编号可以由用户自定义设置,例如可以使用一些吉祥数字,例如88、66等,也可以使用用户的生日,并且密码组编号可以通过智能移动终端,例如手机来设置。
通过上述步骤S106,在密码生成的过程中加入了密码组编号,也就是说最终的第一动态密码可以由用户自定义选择。
步骤S108,将密码组编号进行填充,得到密码组编号数组。
步骤S110,使用智能锁的密钥对密码组编号数组进行加密运算,得到第一动态密码。
在本发明实施例中,通过获取智能锁编号;使用预设初始密钥对智能锁编号进行加密运算,得到智能锁的密钥;获取用户输入的密码组编号;将密码组编号进行填充,得到密码组编号数组;使用智能锁的密钥对密码组编号数组进行加密运算,得到第一动态密码,达到了生成动态密码的目的,并且在不改变原有智能锁密码输入习惯的前提下,对密码的生成方式进行了改变,使智能锁在使用时更加方便,不需要人为的增加、修改、删除密码,密码可以动态生成,并且具有唯一性,安全性能高,进而解决了现有技术中智能锁密码安全性能低的技术问题。
在一种可选的实施例中,步骤S110之后,包括:步骤S202,对第一动态密码的每个字节对10取余,得到第二动态密码。
在一种可选的实施例中,步骤S102之后,还包括:步骤S302,确定智能锁编号是否为8字节;在智能锁编号不是8字节的情况下,将智能锁编号转换为8字节。
具体的,如果智能锁编号不够8字节,可以在智能锁编号前添加0,直到智能锁编号为8字节,如果智能锁编号超过8字节,可以相应的删减字节。
在一种可选的实施例中,步骤S108包括:使用0x80十六进制数对密码组编号进行填充,得到的密码组编号数组为8字节长度的一个数组。
在一种可选的实施例中,加密运算为3DES分散加密运算或DES等对称算法,预设初始密钥的长度为128位bit。
在一种可选的实施例中,获取智能锁编号后,可以将智能锁编号设为LID,LID由一个8字节的数组组成,预设初始密钥为128位bit,可以设为VKEY,以VKEY为加密密钥对LID进行3DES分散加密运算,得到智能锁的密钥,该智能锁的密钥的长度也为128位bit,该智能锁的密钥就是智能锁的私有专用密钥,可以设为PKEY;然后,可以由用户输入密码组编号,并且用0x80十六进制数对密码组编号进行填充,得到的密码组编号数组为8字节长度的一个数组,比如输入的密码组编号为01,那么生成的密码组编号数组就是(0x01,0x80,0x80,0x80,0x80,0x80,0x80,0x80),可以设密码组编号数组为GNUM;然后以PKEY为加密密钥对GNUM进行3DES分散加密运算,得到第一动态密码,第一动态密码的长度为8字节,然后将第一动态密码的数组的每个字节进行对10取余运算,得到的8个数字就是第二动态密码,可以设为PASSWD。
实施例2
根据本发明实施例,提供了一种密码生成装置的产品实施例,图2是根据本发明实施例的密码生成装置,如图2所示,该装置包括第一获取模块、第一加密模块、第二获取模块、填充模块和第二加密模块。
其中,第一获取模块,用于获取智能锁编号;第一加密模块,用于使用预设初始密钥对智能锁编号进行加密运算,得到智能锁的密钥;第二获取模块,用于获取用户输入的密码组编号;填充模块,用于将密码组编号进行填充,得到密码组编号数组;第二加密模块,用于使用智能锁的密钥对密码组编号数组进行加密运算,得到第一动态密码。
在本发明实施例中,通过第一获取模块获取智能锁编号;第一加密模块使用预设初始密钥对智能锁编号进行加密运算,得到智能锁的密钥;第二获取模块获取用户输入的密码组编号;填充模块将密码组编号进行填充,得到密码组编号数组;第二加密模块使用智能锁的密钥对密码组编号数组进行加密运算,得到第一动态密码,达到了生成动态密码的目的,并且在不改变原有智能锁密码输入习惯的前提下,对密码的生成方式进行了改变,使智能锁在使用时更加方便,不需要人为的增加、修改、删除密码,密码可以动态生成,并且具有唯一性,安全性能高,进而解决了现有技术中智能锁密码安全性能低的技术问题。
在一种可选的实施例中,装置还包括:取余模块,用于对第一动态密码的每个字节对10取余,得到第二动态密码。
在一种可选的实施例中,装置还包括:确定模块,用于在第一获取模块获取到智能锁编号后,确定智能锁编号是否为8字节;转换模块,用于在智能锁编号不是8字节的情况下,将智能锁编号转换为8字节。
在一种可选的实施例中,填充模块包括:填充子模块,用于使用0x80十六进制数对密码组编号进行填充,得到的密码组编号数组为8字节长度的一个数组。
实施例3
根据本发明实施例,提供了一种智能锁的产品实施例,该智能锁包括上述密码生成装置。
在一种可选的实施例中,本发明中的智能锁能够配合计量箱使用。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种密码生成方法,其特征在于,包括:
获取智能锁编号;
使用预设初始密钥对所述智能锁编号进行加密运算,得到所述智能锁的密钥;
获取用户输入的密码组编号;
将所述密码组编号进行填充,得到密码组编号数组;
使用所述智能锁的密钥对所述密码组编号数组进行加密运算,得到第一动态密码。
2.根据权利要求1所述的方法,其特征在于,得到第一动态密码之后,包括:
对所述第一动态密码的每个字节对10取余,得到第二动态密码。
3.根据权利要求1所述的方法,其特征在于,获取智能锁编号之后,还包括:
确定所述智能锁编号是否为8字节;
在所述智能锁编号不是8字节的情况下,将所述智能锁编号转换为8字节。
4.根据权利要求1所述的方法,其特征在于,将所述密码组编号进行填充,得到密码组编号数组,包括:
使用0x80十六进制数对所述密码组编号进行填充,得到的所述密码组编号数组为8字节长度的一个数组。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述加密运算为3DES分散加密运算或DES对称算法,所述预设初始密钥的长度为128位bit。
6.一种密码生成装置,其特征在于,包括:
第一获取模块,用于获取智能锁编号;
第一加密模块,用于使用预设初始密钥对所述智能锁编号进行加密运算,得到所述智能锁的密钥;
第二获取模块,用于获取用户输入的密码组编号;
填充模块,用于将所述密码组编号进行填充,得到密码组编号数组;
第二加密模块,用于使用所述智能锁的密钥对所述密码组编号数组进行加密运算,得到第一动态密码。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
取余模块,用于对所述第一动态密码的每个字节对10取余,得到第二动态密码。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
确定模块,用于在所述第一获取模块获取到所述智能锁编号后,确定所述智能锁编号是否为8字节;
转换模块,用于在所述智能锁编号不是8字节的情况下,将所述智能锁编号转换为8字节。
9.根据权利要求6所述的装置,其特征在于,所述填充模块包括:
填充子模块,用于使用0x80十六进制数对所述密码组编号进行填充,得到的所述密码组编号数组为8字节长度的一个数组。
10.一种智能锁,其特征在于,包括上述权利要求6-9任一项所述的密码生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611141964.3A CN106780880B (zh) | 2016-12-12 | 2016-12-12 | 密码生成方法、装置和智能锁 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611141964.3A CN106780880B (zh) | 2016-12-12 | 2016-12-12 | 密码生成方法、装置和智能锁 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106780880A CN106780880A (zh) | 2017-05-31 |
CN106780880B true CN106780880B (zh) | 2019-04-12 |
Family
ID=58880383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611141964.3A Active CN106780880B (zh) | 2016-12-12 | 2016-12-12 | 密码生成方法、装置和智能锁 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106780880B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109787749B (zh) * | 2019-01-07 | 2022-05-10 | 中国电子科技集团公司第七研究所 | 一种基于des算法的门锁密码生成方法及其密码管理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101294463A (zh) * | 2008-06-18 | 2008-10-29 | 大连交通大学 | 基于电子密码锁的动态加密和开启方法 |
US8572725B2 (en) * | 2011-03-25 | 2013-10-29 | International Business Machines Corporation | Dynamic password strength dependent on system state |
CN105245505A (zh) * | 2015-09-14 | 2016-01-13 | 深圳市优友互联有限公司 | 数据发送方法及装置、数据接收方法及装置、收发*** |
CN105471903A (zh) * | 2015-12-31 | 2016-04-06 | 中国建设银行股份有限公司 | 电子锁激活信息的产生方法及相关***、设备和开锁方法 |
CN105635089A (zh) * | 2014-11-28 | 2016-06-01 | 珠海汇金科技股份有限公司 | 动态密码锁的鉴权方法、开锁方法和开锁*** |
-
2016
- 2016-12-12 CN CN201611141964.3A patent/CN106780880B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101294463A (zh) * | 2008-06-18 | 2008-10-29 | 大连交通大学 | 基于电子密码锁的动态加密和开启方法 |
US8572725B2 (en) * | 2011-03-25 | 2013-10-29 | International Business Machines Corporation | Dynamic password strength dependent on system state |
CN105635089A (zh) * | 2014-11-28 | 2016-06-01 | 珠海汇金科技股份有限公司 | 动态密码锁的鉴权方法、开锁方法和开锁*** |
CN105245505A (zh) * | 2015-09-14 | 2016-01-13 | 深圳市优友互联有限公司 | 数据发送方法及装置、数据接收方法及装置、收发*** |
CN105471903A (zh) * | 2015-12-31 | 2016-04-06 | 中国建设银行股份有限公司 | 电子锁激活信息的产生方法及相关***、设备和开锁方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106780880A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2007202243B2 (en) | System portable device and method for digital authenticating, crypting and signing by generating short-lived cryptokeys | |
CN109698822A (zh) | 基于公有区块链和加密神经网络的联合学习方法及*** | |
KR101604596B1 (ko) | 네트워크에서 보안 통신을 위한 방법, 통신 디바이스, 네트워크 및 그를 위한 컴퓨터 프로그램 | |
JP2009169929A (ja) | アイコン暗号を用いた認証方法 | |
US20100138399A1 (en) | Method for data encryption and method for data search using conjunctive keyword | |
CN107070660A (zh) | 一种区块链加密射频芯片的存储设计方法 | |
WO2006070322A1 (en) | Key generation using biometric data and secret extraction codes | |
CN109714307B (zh) | 一种基于国密算法的云平台客户端数据加解密***及方法 | |
CN107181600A (zh) | 一种密码登录认证方法、***及用户设备和认证服务器 | |
WO2002080430A1 (en) | Method and apparatus for camouflaging of data, information and functional transformations | |
CN107733655B (zh) | 一种基于多项式重构的apuf安全认证方法 | |
CN106411516B (zh) | 固定密码生成方法、装置、动态令牌装置 | |
CN105208005A (zh) | 一种指纹认证方法、连接设备和终端设备 | |
CN106453393B (zh) | 参与式感知中可验证的隐私保护数据类型匹配方法 | |
CN113378148A (zh) | 一种基于区块链的物联网设备身份认证***及方法 | |
CN111163107A (zh) | 一种zigbee的安全通信方法及*** | |
KR100629495B1 (ko) | 그룹 키 생성방법 | |
CN105306200B (zh) | 网络账号密码的加密方法和装置 | |
CN113343286A (zh) | 一种数据加解密方法、数据上传端、数据接收端及*** | |
CN105808998A (zh) | 一种指纹识别装置 | |
CN110719172A (zh) | 区块链***中的签名方法、签名***以及相关设备 | |
CN106780880B (zh) | 密码生成方法、装置和智能锁 | |
CN110191467A (zh) | 一种物联网设备的鉴权方法、设备、装置及存储介质 | |
CN109918877A (zh) | 一种数据加密方法、***、客户端及计算机可读存储介质 | |
CN112235319B (zh) | 数据加密、解密方法、装置和加解密电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |