CN111125456B - 一种虚位密码比对方法、系统及智能锁 - Google Patents
一种虚位密码比对方法、系统及智能锁 Download PDFInfo
- Publication number
- CN111125456B CN111125456B CN201911213428.3A CN201911213428A CN111125456B CN 111125456 B CN111125456 B CN 111125456B CN 201911213428 A CN201911213428 A CN 201911213428A CN 111125456 B CN111125456 B CN 111125456B
- Authority
- CN
- China
- Prior art keywords
- password
- ciphertext
- key
- characters
- actual
- 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 37
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 238000012790 confirmation Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 241000283868 Oryx Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Lock And Its Accessories (AREA)
Abstract
本发明适用于智能锁技术领域,提供了一种虚位密码比对方法、装置及智能锁,该方法包括:获取用户输入的密码数据,所述密码数据包括虚位字符以及实际字符;将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文;将所述密文与预存密文进行对比,判断是否一致;当判断为否,则将所述密码数据的第二位字符作为初始对比字符,并再次按照输入顺序依次加密以生成对应的密文,直至所述密文与所述预存密文一致时,进行解锁操作。本方法通过将用户输入的密码数据按特定的加密方式进行加密,并采用加密得到的密文与预存密文进行对比,而不是直接采用明文对比的方式,保证密码不容易泄露。
Description
技术领域
本发明属于智能锁技术领域,尤其涉及一种虚位密码比对方法、系统及智能锁。
背景技术
随着科学技术的发展,各类智能产品层出不穷,并不断应用到现实生活当中,毫无疑问地,智能产品改善了人们的生活品质。智能锁是常见的智能产品当中的一种,所谓智能锁,是指能够区别于传统机械锁,在用户识别、安全性、管理性方面更加智能化的锁具。
目前市场上的智能锁,大多集成指纹解锁和密码解锁。密码解锁的原理为,将用户解锁输入的密码与之前录入的正确解锁密码进行比对,比对成功则解锁,否则无法解锁。根据资料显示,一般人能在短时间内记住的无规律数字、字母多为7位数,而智能锁,其验证密码的长度通常在6-10位。密码太长不便于记忆,密码过短,陌生人看到密码时很容易记住。尽管可以通过经常更换密码提高安全性,但是经常反复更换密码,不仅操作繁琐,且用户也很容易忘记密码。所以变相增加密码长度也可以提高安全性,而“虚位密码”就是为了增加密码长度而诞生的。
“虚位密码技术”就是在正确的密码前面和后面加上任意位数的数字,只要中间有连续正确的密码就可开门,让大部分人无法看一眼就记住密码,这样就能有效防止密码泄漏。
现有技术当中,目前都是采用明文对比,即将用户解锁输入的虚位密码与之前录入的正确密码的字符进行明文比对,导致密码容易泄露。
发明内容
本发明实施例提供一种虚位密码比对方法,旨在解决现有智能锁的密码容易泄露的技术问题。
本发明实施例是这样实现的,一种虚位密码比对方法,所述方法包括:
获取用户输入的密码数据,所述密码数据包括虚位字符以及实际字符;
将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文;
将所述密文与预存密文进行对比,判断是否一致;
当判断为否,则将所述密码数据的第二位字符作为初始对比字符,并再次按照输入顺序依次加密以生成对应的密文,直至所述密文与所述预存密文一致时,进行解锁操作。
本发明实施例还提供一种虚位密码对比装置,所述装置包括:
密码获取模块,用于获取用户输入的密码数据,所述密码数据包括虚位字符以及实际字符;
密码加密模块,用于将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文;
密文比对模块,用于将所述密文与预存密文进行对比,判断是否一致;
解锁控制模块,用于当判断到所述密文与所述预存密文一致时,进行解锁操作;当判断到所述密文与所述预存密文不一致时,所述密码加密模块将所述密码数据的第二位字符作为初始对比字符,并再次按照输入顺序依次加密以生成对应的密文,直至所述密文与所述预存密文一致时,解锁控制模块进行解锁操作。
本发明实施例还提供一种智能锁,包括处理器、存储器、以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器运行所述计算机程序时,所述智能锁执行上述的虚位密码比对方法。
本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的虚位密码比对方法。
本发明所达到的有益效果:通过将用户输入的密码数据按特定的加密方式进行加密,并采用加密得到的密文与预存密文进行对比,而不是直接采用明文对比的方式,保证密码不容易泄露。
附图说明
图1是本发明实施例提供的智能锁的结构框图;
图2是本发明实施例一当中的虚位密码比对方法的流程图;
图3是本发明实施例提供的加密结果说明;
图4是本发明实施例二当中的虚位密码比对方法的流程图;
图5是本发明实施例三当中的虚位密码对比装置的结构框图;
图6是本发明实施例四当中的智能锁的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有智能锁将用户解锁输入的虚位密码与之前录入的正确密码的字符进行明文比对,导致密码容易泄露。因此,本发明的目的在于,提供一种虚位密码比对方法、系统及智能锁,以通过对密码进行加密并采用密文比对的方式来提高密码泄露难度。
以下各实施例均可应用在图1示出的智能锁当中,图1示出的智能锁包括按键1、与按键连接的控制器2、与控制器连接存储装置3、以及与控制器2连接的锁芯4。按键1供用户输入密码使用,其可通过按键电路与控制器2连接,或者按键1也可以直接设置在控制器2上(即按键1为控制器2芯片上的一组成模块),以将用户输入的解锁密码和录入的正确解锁密码传递给控制器2,控制器2将正确解锁密码存储于存储装置3当中,控制器2还用于将解锁密码与正确解锁密码(从存储装置3当中读取得到)进行比对,比对成功则控制锁芯4解锁,具体可通过向锁芯4发出解锁指令来控制锁芯4解锁。
具体地,按键1可以为实体按键或触控屏中的虚拟按键,控制器2可以为MCU(MicroControl Unit,微控制单元),存储装置3为可读存储介质,具体可以为但不限于闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。控制器2可通过有线或无线的连接方式与控制器3和锁芯4连接,或者对于芯片式存储装置,也可以将控制器2的引脚与存储装置3的引脚直接焊接以连接二者。
需要指出的是,图1示出的结构并不构成对智能锁的限定,在其它实施例当中,该智能锁可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
实施例一
请参阅图2,所示为本发明第一实施例当中的虚位密码比对方法,应用于智能锁当中,所述智能锁可由软件和/或硬件来实现所述方法,所述方法具体包括步骤S01至步骤S04。
步骤S01,获取用户输入的密码数据,所述密码数据包括虚位字符以及实际字符。
需要指出的是,所述密码数据为用户在解锁智能锁时通过智能锁上的按键输入的密码数字串。其中,所述密码数据为虚位密码数据,即所述密码数据包括虚位字符以及实际字符,一般地虚位密码数据中间的字符为实际字符,而虚位密码数据两端的字符则为虚位字符,例如虚位密码数据为987123456789,若“123456”为实际字符串,“987”和“789”则为虚位字符串,虚位密码数据中的每一个数字为一个字符。
需要说明的是,基于虚位密码技术,若用户设置的正确解锁密码为“123456”,则用户输入“987123456789”等中间包含“123456”字符串的密码数据都可以解锁。因此在后续比对密文时,需要从用户输入的密码数据中找出实际字符串。
步骤S02,将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文。
其中,所述输入顺序是指用户输入的先后顺序,例如用户输入的密码数据为987123456789,则按该密码数据中各数字排列的先后顺序依次进行加密,每次加密一个数字,即先对首个数字“9”进行加密,然后在对第二个数字“8”进行加密,依次类推,直到最末尾数字“9”加密完成。
在具体实施时,可采用流密码加密算法来对密码数据进行加密,以将密码数据由明文加密成对应的密文。其中,流密码加密算法具体可以为RC4、ORYX、SEAL等,优选为RC4算法。流密码算法是一种对称加密算法,加密和解密双方使用相同伪随机数据流作为密钥流,明文数据每次与密钥数据流顺次对应加密,得到密文数据流。实践中数据通常是一个位(bit)或字节(byte)并用异或操作加密。
另外,需要说明的是,因流密码加密算法是按位(或字节)连续操作加密的,则对于前面n个字符相同的两个字符串,若加密使用的密钥相同,则这两个字符串加密后得到的密文的前面n字节也是相同的,如图3所示。
步骤S03,将所述密文与预存密文进行对比,判断是否一致。
其中,当判断到所述密文与所述预存密文的比对结果一致时,代表密码输入正确,则执行步骤S05,以对智能锁进行解锁;当判断到所述密文与所述预存密文的比对结果不一致时,则执行步骤S04。
具体地,所述预存密文是用户录入的正确解锁密码按相同的加密算法(即流密码加密算法)加密后得到的密文,例如用户录入的正确解锁密码为123456,则所述预存密文为:将解锁密码123456的各字符按输入先后顺序依次进行加密得到的密文。所述预存密文一般存储于智能锁的存储装置当中。若用户录入多个正确解锁密码时,则对应存在多个预存密文,多个预存密文可以分区存储,也可以存储于同一分区并用标识(如编号、名称等)进行区分。
需要说明的是,在比对密码时,以最少6位密码的情况来说,假设用户输入的密码长度为X,因为存在虚位密码的情况,所以需要计算出(X-6+1)组密码的加密结果,并与保存的加密密码(即正确解锁密码加密后得到的加密密码)直接比对,如果有一组密码的加密结果的前面部分字符完全匹配该加密密码,则可以认为密码比对成功。基于此,在具体实施时,将所述密文与预存密文进行对比的步骤可以为:将所述密文的前预设位数的字符串与所述预存密文进行对比,其中,所述预设位数与所述预存密文的字符数相同。即若所述预存密文为6位字符(即6位密码的情况),则取所述密文的前6位字符串与所述预存密文进行对比,若前6位字符串与所述预存密文相同,则判定所述密文与所述预存密文一致,否则判定两者不一致。
步骤S04,将所述密码数据的第二位字符作为初始对比字符,并再次按照输入顺序依次加密以生成对应的密文,直至所述密文与所述预存密文一致时,进行解锁操作。
需要说明的是,第一次密文比对是以密码数据的整个字符串进行的(即以首位字符作为初始对比字符),若第一次密文比对不一致,则以密码数据的第二位字符作为初始对比字符进行比对,依次类推,直到密文比对成功或所有密码组合均比对完但依然未比对成功(该情况为密码输入错误情况)。
举例说明,例如用户设定的正确解锁密码为899876,为6位数密码,若用户解锁输入的密码为“01234567899876543210”,则有以下15组密码组合,需要依次比对下列15组密码的加密结果,直到比对成功:“01234567899876543210”;“1234567899876543210”;“234567899876543210”;“34567899876543210”;“4567899876543210”;“567899876543210”;“67899876543210”;“7899876543210”;“899876543210”;“99876543210”“9876543210”;“876543210”;“76543210”;“6543210”;“543210”。
可以理解的,当比对到“899876543210”这一密码组合(以下简称该密码组合)时,因其前6位字符“899876”与解锁密码为“899876”相同,则该密码组合加密后的密文的前6位字符也会与正确解锁密码的加密密文(即预存密文)相同,此时密文比对一致,执行解锁动作,也即找到了输入密码中的实际字符串,而该密码组合之后的密码组合则不再进行加密结果比对。若15组密码的加密结果全部比对后,均未与正确解锁密码的加密密文比对一致,则代表用户当前输入密码错误。若用户在预设时间内多次输入密码错误,则可锁定智能锁预设时间或向绑定用户发出警告提示。
步骤S05,执行解锁操作。
综上,本实施例当中的虚位密码比对方法,通过将用户输入的密码数据按特定的加密方式进行加密,并采用加密得到的密文与预存密文进行对比,而不再是直接采用明文对比的方式,保证密码不容易泄露。
实施例二
请参阅图4,所示为本发明第二实施例当中的虚位密码比对方法,应用于智能锁当中,所述智能锁可由软件和/或硬件来实现所述方法,所述方法具体包括步骤S11-步骤S19。
步骤S11,获取用户输入的密码数据,所述密码数据包括虚位字符以及实际字符。
步骤S12,获取第一预设密钥以及所述密码数据的第一预设位数的密码组合。
步骤S13,根据所述第一预设密钥以及所述第一预设位数的密码组合生成第一实际密钥。
为了进一步提高安全性,在本实施例当中,采用不同的密钥进行加密,具体可以为采用一组固定密钥(即第一预设密钥)和所述密码数据前预设位数的数字组合得到的实际密钥。由于在后续密文比对的过程当中,若密文比对不成功,则密码数据的初始对比字符会变化,因此实际密钥也会跟随初始对比字符的变化而变化,从而提高加密可靠性,进而提高安全性。其中,第一实际密钥可由第一预设密钥和密码数据的以密码数据的首个字符为首字符的前6个数字组合得到。
步骤S14,根据所述第一实际密钥将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文。
在本实施例当中,依然采用流密码加密算法来对密码数据进行加密,相比于其他加密算法(如散列算法(SM3,MD5等)、分组密码加密方法(SM4,AES等)等),可有效加快密码验证的速度。
步骤S15,将所述密文与预存密文进行对比,判断是否一致。
其中,当判断到所述密文与所述预存密文的比对结果一致时,代表密码输入正确,则执行步骤S19,以对智能锁进行解锁;当判断到所述密文与所述预存密文的比对结果不一致时,则执行步骤S16-步骤S18。在具体实施时,预存密文所用的加密密钥,也可以由第一预设密钥和预存密文对应的正确解锁密码结合得到,这样后续在比对到以实际密码为前面几个字符的密码组合(如上述的“899876543210”)时,该密码组合与预存密文之间所采用的密钥一致。
步骤S16,将所述密码数据的第二位字符作为初始对比字符,获取第二预设位数的密码数据。
步骤S17,根据所述第一预设密钥以及所述第二预设位数的密码组合生成第二实际密钥。
其中,第二实际密钥具体可由第一预设密钥和密码数据的以密码数据的第二位字符为首字符的前6个数字组合得到,后面以此类推,使实际密钥根据预设位数的输入密码和预设的密钥生成,每一次都会以下一位作为首位去生成密钥。
步骤S18,根据所述第二实际密钥将以所述密码数据的第二位字符作为初始对比字符的密码数据的各个字符再次按照输入顺序依次加密,以生成对应的密文,直至所述密文与所述预存密文一致时,进行解锁操作。
本实施例当中的步骤S18与第一实施例当中的步骤S04的执行过程和原理相同,在此不再赘述。
步骤S19,执行解锁操作。
综上,本实施例相比于第一实施例,通过将加密密钥设定为随密码数据的初始对比字符的变化而变化,即能够保证密码数据能够正常比对成功,同时采用变化的密钥进行加密,能够进一步提高密码泄露的难度。
进一步地,在本发明一些可选实施例当中,所述方法还可以包括:
统计比对正确的密码数据起始位置,获取各个起始位置比对成功的概率数据;
根据所述各个起始位置比对成功的概率数据确定所述密码数据的初始对比字符的起始位数。
即,在进行多次成功的密码比对之后,如果统计发现从第4位密码数据开始比对的概率最高(即次数最多),则在下一次密码比对时,默认首先从第4位开始进行比对(即假设虚位字符为3个),进一步提高密码验证的速度。例如用户下次输入密码987123456789,系统首先比对字符串“123456789”而不再需要从首个字符开始逐一进行密文比对,提高了密码验证的速度。
进一步地,在本发明一些可选实施例当中,所述方法还可以包括:
获取第二预设密钥以及第三预设位数的实际密码字符的组合生产第三实际密钥;
根据所述第三实际密钥,将所述第三预设位数的实际密码字符加密生成对应的密文,并进行存储。
上述步骤为预存密文的加密过程,第三实际密钥具体可由第二预设密钥和正确解锁密码组合得到,这样可以保证真实密码处理后的密文的前面几位字符与预设密文一致,从而比对成功。
实施例三
本发明另一方面还提出一种虚位密码对比装置,请参阅图5,所示为本发明第三实施例的虚位密码对比装置,应用于智能锁当中,所述智能锁可由软件和/或硬件来实现,所述装置包括:
密码获取模块11,用于获取用户输入的密码数据,所述密码数据包括虚位字符以及实际字符;
密码加密模块12,用于将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文;
密文比对模块13,用于将所述密文与预存密文进行对比,判断是否一致;
解锁控制模块14,用于当判断到所述密文与所述预存密文一致时,进行解锁操作;当判断到所述密文与所述预存密文不一致时,所述密码加密模块将所述密码数据的第二位字符作为初始对比字符,并再次按照输入顺序依次加密以生成对应的密文,直至所述密文与所述预存密文一致时,解锁控制模块进行解锁操作。
需要指出的是,所述密码数据为用户在解锁智能锁时通过智能锁上的按键输入的密码数字串。其中,所述密码数据为虚位密码数据,即所述密码数据包括虚位字符以及实际字符,一般地虚位密码数据中间的字符为实际字符,而虚位密码数据两端的字符则为虚位字符,例如虚位密码数据为987123456789,如果“123456”为实际字符串,“987”和“789”则为虚位字符串,虚位密码数据中的每一个数字为一个字符。
需要说明的是,基于虚位密码技术,若用户设置的正确解锁密码为“123456”,则用户输入“987123456789”等中间包含“123456”字符串的密码数据都可以解锁。因此在后续比对密文时,需要从用户输入的密码数据中找出实际字符串。
其中,所述输入顺序是指用户输入的先后顺序,例如用户输入的密码数据为987123456789,则按该密码数据中各数字排列的先后顺序依次进行加密,每次加密一个数字,即先对首个数字“9”进行加密,然后在对第二个数字“8”进行加密,依次类推,直到最末尾数字“9”加密完成。
在具体实施时,可采用流密码加密算法来对密码数据进行加密,以将密码数据由明文加密成对应的密文。其中,流密码加密算法具体可以为RC4、ORYX、SEAL等,优选为RC4算法。流密码算法是一种对称加密算法,加密和解密双方使用相同伪随机数据流作为密钥流,明文数据每次与密钥数据流顺次对应加密,得到密文数据流。实践中数据通常是一个位(bit)或字节(byte)并用异或操作加密。
另外,需要说明的是,因流密码加密算法是按位(或字节)连续操作加密的,则对于前面n个字符相同的两个字符串,若加密使用的密钥相同,则这两个字符串加密后得到的密文的前面n字节也是相同的,如图3所示。
具体地,所述预存密文是用户录入的正确解锁密码按相同的加密算法(即流密码加密算法)加密后得到的密文,例如用户录入的正确解锁密码为123456,则所述预存密文为:将解锁密码123456的各字符按输入先后顺序依次进行加密得到的密文。所述预存密文一般存储于智能锁的存储装置当中。若用户录入多个正确解锁密码时,则对应存在多个预存密文,多个预存密文可以分区存储,也可以存储于同一分区并用标识(如编号、名称等)进行区分。
需要说明的是,在比对密码时,以6位密码的情况来说,假设用户输入的密码长度为X,因为存在虚位密码的情况,所以需要计算出(X-6+1)组密码的加密结果,并与保存的加密密码(即正确解锁密码加密后得到的加密密码)直接比对,如果有一组密码的加密结果的前面部分字符完全匹配该加密密码,则可以认为密码比对成功。基于此,在具体实施时,将所述密文与预存密文进行对比的步骤可以为:将所述密文的前预设位数的字符串与所述预存密文进行对比,其中,所述预设位数与所述预存密文的字符数相同。即若所述预存密文为6位字符(即6位密码的情况),则取所述密文的前6位字符串与所述预存密文进行对比,若前6位字符串与所述预存密文相同,则判定所述密文与所述预存密文一致,否则判定两者不一致。
需要说明的是,第一次密文比对是以密码数据的整个字符串进行的(即以首位字符作为初始对比字符),若第一次密文比对不一致,则以密码数据的第二位字符作为初始对比字符进行比对,依次类推,直到密文比对成功或所有密码组合均比对完但依然未比对成功(该情况为密码输入错误情况)。
举例说明,例如用户设定的正确解锁密码为899876,为6位数密码,若用户解锁输入的密码为“01234567899876543210”,则有以下15组密码组合,需要依次比对下列15组密码的加密结果,直到比对成功:“01234567899876543210”;“1234567899876543210”;“234567899876543210”;“34567899876543210”;“4567899876543210”;“567899876543210”;“67899876543210”;“7899876543210”;“899876543210”;“99876543210”“9876543210”;“876543210”;“76543210”;“6543210”;“543210”。
可以理解的,当比对到“899876543210”这一密码组合(以下简称该密码组合)时,因其前6位字符“899876”与解锁密码为“899876”相同,则该密码组合加密后的密文的前6位字符也会与正确解锁密码的加密密文(即预存密文)相同,此时密文比对一致,执行解锁动作,也即找到了输入密码中的实际字符串,而该密码组合之后的密码组合则不再进行加密结果比对。若15组密码的加密结果全部比对后,均未与正确解锁密码的加密密文比对一致,则代表用户当前输入密码错误。若用户在预设时间内多次输入密码错误,则可锁定智能锁预设时间或向绑定用户发出警告提示。
综上,本实施例当中的虚位密码对比装置,通过将用户输入的密码数据按特定的加密方式进行加密,并采用加密得到的密文与预存密文进行对比,而不再是直接采用明文对比的方式,保证密码不容易泄露。
在本发明一些可选实施例当中,所述装置还可以包括:
数据获取模块,用于获取第一预设密钥以及所述密码数据的第一预设位数的密码组合;
第一密钥生成模块,用于根据所述第一预设密钥以及所述第一预设位数的密码组合生成第一实际密钥;
所述密码加密模块12还用于根据所述第一实际密钥将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文。
在本发明一些可选实施例当中,所述密码加密模块12可以包括:
数据处理单元,用于将所述密码数据的第二位字符作为初始对比字符,获取第二预设位数的密码数据;
第二密钥生成单元,用于根据所述第一预设密钥以及所述第二预设位数的密码组合生成第二实际密钥;
密码加密单元,用于根据所述第二实际密钥将以所述密码数据的第二位字符作为初始对比字符的密码数据的各个字符再次按照输入顺序依次加密,以生成对应的密文。
在本发明一些可选实施例当中,所述装置还包括:
统计获取模块,用于统计比对正确的密码数据起始位置,获取各个起始位置比对成功的概率数据;
初始对比字符确认模块,用于根据所述起始位置概率数据确定所述密码数据的初始对比字符的起始位数。
在本发明一些可选实施例当中,所述装置还可以包括:
第三密钥生成模块,用于获取第三预设密钥以及第三预设位数的实际密码字符的组合生产第三实际密钥;
所述密码加密模块还用于根据所述第三实际密钥,将所述第三预设位数的实际密码字符加密生成对应的密文,并进行存储。
上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
实施例四
本发明另一方面还提出一种智能锁,请参阅图6,所示为本发明第四实施例当中的智能锁,包括处理器10、存储器20、以及存储在存储器上并可在处理器上运行的计算机程序30,所述处理器10运行所述计算机程序30时,所述智能锁执行上述的虚位密码比对方法。
其中,处理器10可以为或包括上述的虚位密码对比装置,处理器10在一些实施例中可以是一中央控制器(Central Processing Unit,CPU)、MCU、微控制器、或其他数据处理芯片,用于运行存储器20中存储的程序代码或处理数据。
其中,存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是智能锁的内部存储单元,例如该智能锁的硬盘。存储器20在另一些实施例中也可以是智能锁的外部存储设备,例如智能锁上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器20还可以既包括智能锁的内部存储单元也包括外部存储设备。存储器20不仅可以用于存储安装于智能锁的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
可选地,该智能锁还可以包括用户接口、网络接口、通信总线等,用户接口可以包括显示器(Display)、输入单元比如遥控器、实体按键等,可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在智能锁中处理的信息以及用于显示可视化的用户界面。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口,NB-IoT接口,蓝牙接口等),通常用于在该装置与其他电子设备之间建立通信连接。通信总线用于实现智能锁中各个组件之间的连接通信。
需要指出的是,图6示出的结构并不构成对智能锁的限定,在其它实施例当中,该智能锁可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
综上,本实施例当中的智能锁,通过将用户输入的密码数据按特定的加密方式进行加密,并采用加密得到的密文与预存密文进行对比,而不再是直接采用明文对比的方式,保证密码不容易泄露。
本实施例还提供了一种存储介质,其上存储有上述智能锁中所使用的计算机程序,该程序在被控制器执行时实现如上述的虚位密码比对方法。
其中,所述的存储介质可以为但不限于FLASH/ROM/RAM、磁碟、光盘等可读的存储介质。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括控制器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种虚位密码比对方法,其特征在于,所述方法包括:
获取用户输入的密码数据,所述密码数据包括虚位字符以及实际字符;
将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文;
将所述密文与预存密文进行对比,判断是否一致;
当判断为否,则将所述密码数据的第二位字符作为初始对比字符,并再次按照输入顺序依次加密以生成对应的密文,直至所述密文与所述预存密文一致时,进行解锁操作;
在所述将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文的步骤之前,还包括:
获取第一预设密钥以及所述密码数据的第一预设位数的密码组合;
根据所述第一预设密钥以及所述第一预设位数的密码组合生成第一实际密钥;
所述将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文的步骤包括:
根据所述第一实际密钥将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文;
所述将所述密码数据的第二位字符作为初始对比字符,并再次按照输入顺序依次加密以生成对应的密文的步骤包括:
将所述密码数据的第二位字符作为初始对比字符,获取第二预设位数的密码数据;
根据所述第一预设密钥以及所述第二预设位数的密码组合生成第二实际密钥;
根据所述第二实际密钥将以所述密码数据的第二位字符作为初始对比字符的密码数据的各个字符再次按照输入顺序依次加密,以生成对应的密文;
其中,所述第一预设密钥为一组固定密钥,所述第一实际密钥由所述第一预设密钥和所述密码数据的首个字符为首字符的前6个数字组合得到;
所述第二实际密钥由所述第一预设密钥和所述密码数据的以所述密码数据的第二位字符为首字母的前6个数字组合得到。
2.如权利要求1所述的虚位密码比对方法,其特征在于,所述方法还包括:
统计比对正确的密码数据起始位置,获取各个起始位置比对成功的概率数据;
根据所述各个起始位置比对成功的概率数据确定所述密码数据的初始对比字符的起始位数。
3.如权利要求1所述的虚位密码比对方法,其特征在于,所述方法还包括:
获取第二预设密钥以及第三预设位数的实际密码字符的组合生产第三实际密钥;
根据所述第三实际密钥,将所述第三预设位数的实际密码字符加密生成对应的密文,并进行存储。
4.一种虚位密码对比装置,其特征在于,所述装置包括:
密码获取模块,用于获取用户输入的密码数据,所述密码数据包括虚位字符以及实际字符;
密码加密模块,用于将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文;
密文比对模块,用于将所述密文与预存密文进行对比,判断是否一致;
解锁控制模块,用于当判断到所述密文与所述预存密文一致时,进行解锁操作;当判断到所述密文与所述预存密文不一致时,所述密码加密模块将所述密码数据的第二位字符作为初始对比字符,并再次按照输入顺序依次加密以生成对应的密文,直至所述密文与所述预存密文一致时,解锁控制模块进行解锁操作;
数据获取模块,用于获取第一预设密钥以及所述密码数据的第一预设位数的密码组合;
第一密钥生成模块,用于根据所述第一预设密钥以及所述第一预设位数的密码组合生成第一实际密钥;
所述密码加密模块还用于根据所述第一实际密钥将所述虚位字符以及所述实际字符按照输入顺序依次加密,以生成对应的密文;
所述密码加密模块包括:
数据处理单元,用于将所述密码数据的第二位字符作为初始对比字符,获取第二预设位数的密码数据;
第二密钥生成单元,用于根据所述第一预设密钥以及所述第二预设位数的密码组合生成第二实际密钥;
密码加密单元,用于根据所述第二实际密钥将以所述密码数据的第二位字符作为初始对比字符的密码数据的各个字符再次按照输入顺序依次加密,以生成对应的密文;
其中,所述第一预设密钥为一组固定密钥,所述第一实际密钥由所述第一预设密钥和所述密码数据的首个字符为首字符的前6个数字组合得到;
所述第二实际密钥由所述第一预设密钥和所述密码数据的以所述密码数据的第二位字符为首字母的前6个数字组合得到。
5.如权利要求4所述的虚位密码对比装置,其特征在于,所述装置还包括:
统计获取模块,用于统计比对正确的密码数据起始位置,获取各个起始位置比对成功的概率数据;
初始对比字符确认模块,用于根据所述各个起始位置比对成功的概率数据确定所述密码数据的初始对比字符的起始位数。
6.如权利要求4所述的虚位密码对比装置,其特征在于,所述装置还包括:
第三密钥生成模块,用于获取第三预设密钥以及第三预设位数的实际密码字符的组合生产第三实际密钥;
所述密码加密模块还用于根据所述第三实际密钥,将所述第三预设位数的实际密码字符加密生成对应的密文,并进行存储。
7.一种智能锁,其特征在于,包括处理器、存储器、以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器运行所述计算机程序时,所述智能锁执行权利要求1~3任一项所述的虚位密码比对方法。
8.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~3任一项所述的虚位密码比对方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911213428.3A CN111125456B (zh) | 2019-12-02 | 2019-12-02 | 一种虚位密码比对方法、系统及智能锁 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911213428.3A CN111125456B (zh) | 2019-12-02 | 2019-12-02 | 一种虚位密码比对方法、系统及智能锁 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125456A CN111125456A (zh) | 2020-05-08 |
CN111125456B true CN111125456B (zh) | 2024-02-02 |
Family
ID=70496652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911213428.3A Active CN111125456B (zh) | 2019-12-02 | 2019-12-02 | 一种虚位密码比对方法、系统及智能锁 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125456B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182554A (zh) * | 2020-08-18 | 2021-01-05 | 曙光信息产业(北京)有限公司 | 密码设置方法、装置、计算机设备和存储介质 |
CN112530057A (zh) * | 2020-12-01 | 2021-03-19 | 惠州拓邦电气技术有限公司 | 虚位密码验证方法、装置及智能密码锁 |
CN115171247A (zh) * | 2022-06-24 | 2022-10-11 | 广东汇泰龙科技股份有限公司 | 一种智能锁、存储方法、解密方法及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340279A (zh) * | 2008-07-09 | 2009-01-07 | 深圳市金蝶移动互联技术有限公司 | 数据加密及解密方法、系统及设备 |
CN101834721A (zh) * | 2010-04-20 | 2010-09-15 | 宇龙计算机通信科技(深圳)有限公司 | 一种数据加密、解密方法及系统 |
JP2011113523A (ja) * | 2009-11-30 | 2011-06-09 | Kyocera Mita Corp | ユーザ認証装置 |
CN103092484A (zh) * | 2013-02-06 | 2013-05-08 | 北京小米科技有限责任公司 | 解锁屏幕的方法、装置及终端 |
CN108566365A (zh) * | 2018-01-22 | 2018-09-21 | 成都清轻信息技术有限公司 | 一种基于声波技术的智能门锁开启方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10614240B2 (en) * | 2017-11-17 | 2020-04-07 | International Business Machines Corporation | Accessing an encrypted file system |
-
2019
- 2019-12-02 CN CN201911213428.3A patent/CN111125456B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340279A (zh) * | 2008-07-09 | 2009-01-07 | 深圳市金蝶移动互联技术有限公司 | 数据加密及解密方法、系统及设备 |
JP2011113523A (ja) * | 2009-11-30 | 2011-06-09 | Kyocera Mita Corp | ユーザ認証装置 |
CN101834721A (zh) * | 2010-04-20 | 2010-09-15 | 宇龙计算机通信科技(深圳)有限公司 | 一种数据加密、解密方法及系统 |
CN103092484A (zh) * | 2013-02-06 | 2013-05-08 | 北京小米科技有限责任公司 | 解锁屏幕的方法、装置及终端 |
CN108566365A (zh) * | 2018-01-22 | 2018-09-21 | 成都清轻信息技术有限公司 | 一种基于声波技术的智能门锁开启方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111125456A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9740849B2 (en) | Registration and authentication of computing devices using a digital skeleton key | |
US9525549B2 (en) | Method and apparatus for securing a mobile application | |
CN111125456B (zh) | 一种虚位密码比对方法、系统及智能锁 | |
US9467293B1 (en) | Generating authentication codes associated with devices | |
US7363494B2 (en) | Method and apparatus for performing enhanced time-based authentication | |
US7770018B2 (en) | Setting up a security access system | |
EP1846830B1 (en) | Access keys | |
US20090031408A1 (en) | Integrity protected smart card transaction | |
KR20160008560A (ko) | 데이터 암호화 시스템 및 방법 | |
US20090307748A1 (en) | Method and arrangement for user friendly device authentication | |
CN108868367B (zh) | 智能锁装置 | |
EP1472816A2 (en) | Access system utilizing multiple factor identification and authentication | |
CN105956452A (zh) | 设备解锁方法及系统 | |
CN111404682A (zh) | 一种Android环境密钥分段处理方法及装置 | |
CN111739200B (zh) | 一种指纹电子锁的加密、解密认证方法和指纹电子锁 | |
US8756666B1 (en) | Generating authentication codes | |
CN111614467A (zh) | 系统后门防御方法、装置、计算机设备和存储介质 | |
CN114499859A (zh) | 密码验证方法、装置、设备及存储介质 | |
CN116527258B (zh) | 密码锁的解锁方法、装置、设备及存储介质 | |
CN208272988U (zh) | 一种密码锁系统及装置 | |
US9882879B1 (en) | Using steganography to protect cryptographic information on a mobile device | |
CN111414653A (zh) | 一种基于rsa非对称加密算法的电脑开机启动方法 | |
CN116527236B (zh) | 一种加密卡的信息变更验证方法及系统 | |
KR20180048425A (ko) | 단말의 사용자에게 비밀 데이터를 안전하게 전송하는 방법 | |
CN117711094A (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 |