一种基于NB-IOT云锁通讯的加密算法及其验证方法与流程

文档序号:15700959发布日期:2018-10-19 19:50阅读:677来源:国知局

本发明涉及算法加密领域,尤其涉及一种基于NB-IOT云锁通讯的加密算法及其验证方法。



背景技术:

在物联网领域,设备与设备之间,设备与云端,数据传输是必不可少的,数据安全就显得尤为重要,特别是门锁这种安防类设备,作为家庭安全的一道重要屏障,必须对门锁的密码进行加密处理,传输过程全部使用密文以提高安全性。

现有的加密算法通常将密码直接采用MD5方法进行加密。虽然运用MD5方法加密是不可逆的,但是现在黑客拥有了数据量巨大的MD5原文/密文对照数据库,能快速破译常用密码的MD5密文,并且社交网站中用户的密码基本都是常用密码,这使得用户密码的安全性大大降低。



技术实现要素:

本发明的目的在于提出一种基于NB-IOT云锁通讯的加密算法及其验证方法,通过对智能门锁的密码进行加密处理,增加用户密码的安全性,保障智能门锁的安全性。

为达此目的,本发明采用以下技术方案:

一种基于NB-IOT云锁通讯的加密算法,包括门锁端对密码进行加密的过程:

步骤A:门锁端输入密码a,云端服务器对密码a使用MD5加密算法进行第一次加密,得到第一个MD5值b;

步骤B:截取第一个MD5值b末尾的字符串,得到一个字符串c;

步骤C:将字符串c使用MD5加密算法进行第二次加密,得到第二个MD5值d;

步骤D:截取第二个MD5值d末尾的字符串,得到第二个字符串e,所述第二个字符串e即为密文f;

步骤E:所述密文f被保存在门锁端。

一种基于NB-IOT云锁通讯的加密算法的验证方法,包括移动端对门锁密码进行验证的过程:

步骤一:移动端输入密码a1,云端服务器对密码a1使用MD5加密算法进行第一次加密,得到第一个MD5值b1;

步骤二:截取第一个MD5值b1末尾的字符串,得到一个字符串c1;

步骤三:将字符串c1使用MD5加密算法进行第二次加密,得到第二个MD5值d1;

步骤四:截取第二个MD5值d1末尾的字符串,得到第二个字符串e1,所述第二个字符串e1即为密文f1;

步骤五:移动端通过NB-IOT协议将密文f1发送至所述门锁端,将密文f1和保存在门锁端的所述密文f进行比较,若是所述密文f1和所述密文f一致,则验证成功;若是所述密文f1和所述密文f不一致,则验证失败;

步骤六:若验证成功,则门锁端将验证成功的消息反馈到所述移动端;若验证失败,则门锁端将验证失败的消息反馈至所述移动端。

优选的,所述移动端输入的密码a1由所述门锁端产生。

本发明的有益效果:

MD5加密算法是指将一串长度的字符串进行处理得到一串新的固定长度的字符串,这个过程是不可逆的,所以MD5加密算法具有很强的抗修改性,通过第一次加密后,在截取字符串,降低反向破解的可能性,然后再将字符串进行第二次加密,再截取,减少字符长度,便于数据传输,通过二次加密和二次截取,大大保障了密码的安全性,从而提高云锁的安全。

附图说明

图1是本发明的加密算法的流程图;

图2是本发明的移动端对门锁的验证流程图。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

本实施例的一种基于NB-IOT云锁通讯的加密算法,如图1所示,包括门锁端对密码进行加密的过程:

步骤A:门锁端输入密码a,云端服务器对密码a使用MD5加密算法进行第一次加密,得到第一个MD5值b;

步骤B:截取第一个MD5值b末尾的字符串,得到一个字符串c;

步骤C:将字符串c使用MD5加密算法进行第二次加密,得到第二个MD5值d;

步骤D:截取第二个MD5值d末尾的字符串,得到第二个字符串e,所述第二个字符串e即为密文f;

步骤E:所述密文f被保存在门锁端。

虽然使用MD5加密是不可逆的,但是MD5对同一字符串加密之后得到的值是固定的,如:“123456”加密后一定是“e10adc3949ba59abbe56e057f20f883e”,所有较为简单的密码可以在网络上找到对应的MD5值,此时将生成的MD5值再重新进行一次MD5加密,可以相对安全的解决这一问题,但是鉴于NB-Iot的窄带宽,可以截取一段MD5值进行二次加密,然后截取二次加密后的MD5值当中的一段进行验证,因此在第一次MD5加密后截取字符串,进一步保证密码的安全性,然后再对字符串进行第二次MD5加密,提高密码的安全性,最后再截取一次字符串,减少密码的长度,利于传输,经过二次加密二次截取,提高密码的安全性,从而保障云锁不会被人破解。

一种基于NB-IOT云锁通讯的加密算法的验证方法,如图2所示,包括移动端对门锁密码进行验证的过程:

步骤一:移动端输入密码a1,云端服务器对密码a1使用MD5加密算法进行第一次加密,得到第一个MD5值b1;

步骤二:截取第一个MD5值b1末尾的字符串,得到一个字符串c1;

步骤三:将字符串c1使用MD5加密算法进行第二次加密,得到第二个MD5值d1;

步骤四:截取第二个MD5值d1末尾的字符串,得到第二个字符串e1,所述第二个字符串e1即为密文f1;

步骤五:移动端通过NB-IOT协议将密文f1发送至所述门锁端,将密文f1和保存在门锁端的所述密文f进行比较,若是所述密文f1和所述密文f一致,则验证成功;若是所述密文f1和所述密文f不一致,则验证失败;

步骤六:若验证成功,则门锁端将验证成功的消息反馈到所述移动端;若验证失败,则门锁端将验证失败的消息反馈至所述移动端。

优选的,所述移动端输入的密码a1由所述门锁端产生。

以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1