发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种智慧门禁授权方法,对授权验证信息进行了时效性限定,避免出现授权验证信息被多人长时间多次复用的情况。
为实现上述目的,本发明采用的技术方案如下:
一种智慧门禁授权方法,用于第一服务器中,包括如下步骤:
接收用户终端发送的授权请求信息;
获取来访人员的手机号码;
根据接收用户终端发送的授权请求信息的申请时间、来访人员的手机号码、用户终端的手机号码,通过加密算法,获得终序列Dweb,所述终序列Dweb包含有若干个数,将Dweb的部分数作为授权链接地址的子目录,将Dweb的另外部分数作为通行验证码,所述授权验证信息包括通行验证码,所述授权链接地址被点开后的页面内包含授权验证信息;
将授权验证信息发送给门禁***,将授权链接地址发送给来访人员的手机号码对应的来访人员终端;
接收来访人员终端发送的链接点开信息并开始计时,当时长超过预设时长,则对门禁***发送授权解绑信息;
其中所述链接点开信息由来访人员终端点开授权链接地址时触发;所述门禁***用于根据来访人员出示的验证信息与授权验证信息进行比对并根据比对结果决定来访人员是否授权通行;所述授权解绑信息用于触发门禁***将对应的授权验证信息失效处理。
进一步地,所述来访人员为订单派送人员,所述获取来访人员的手机号码,具体包括:与第三方电商平台APP后台进行数据对接,获取当前未完成订单的派送人员的手机号码;所述第三方电商平台APP由用户终端进入微信门禁小程序跳转打开。
进一步地,所述根据接收用户终端发送的授权请求信息的申请时间、来访人员的手机号码、用户终端的手机号码,通过加密算法,获得终序列Dweb,具体包括:
根据接收用户终端发送的授权请求信息的申请时间,获得时间序列Atime:
Atime={Y1,Y2,Y3,Y4,M1,M2,D1,D2,H1,H2,F1,F2,S1,S2}
根据用户终端的手机号码获得用户号码序列Auser:
Auser={0,0,0,Nu1,Nu2,Nu3,Nui,……,Nu11};
根据来访人员的手机号码获得访客号码序列Avisitor:
Avisitor={0,0,0,Nv1,Nv2,Nv3,Nvj,……Nv11} ;
其中Y1,Y2,Y3,Y4分别表示申请时间对应的年份的千位数、百位数、十位数和个位数;M1,M2分别表示申请时间对应的月份的十位数和个位数;D1,D2分别表示申请时间对应的日期的十位数和个位数;H1,H2分别表示申请时间对应的时钟的十位数和个位数;F1,F2分别表示申请时间对应的分钟的十位数和个位数;S1,S2分别表示申请时间对应的秒钟的十位数和个位数;Nu1,Nu2,Nu3,Nui,……,Nu11分别表示用户终端的手机号码的11位数;Nv1,Nv2,Nv3,Nvj,……Nv11分别表示来访人员的手机号码的11位数;
对Auser和Avisitor进行加密计算获得终序列:
Dweb={Dweb1,Dweb2,Dweb3,Dwebk,……,Dweb14};将Dweb的前十个数作为授权链接地址的子目录,将Dweb的后四个数作为通行验证码,所述授权验证信息包括通行验证码。
进一步地,所述对Auser和Avisitor进行加密计算获得终序列,具体包括:
对Auser和Avisitor进行非零计算获得第一非零序列Buser和第二非零序列Bvisitor:
Buser=Auser+1
={0+1,0+1,0+1,Nu1+1,Nu2+1,Nu3+1,Nui+1,……,Nu11+1}
Bvisitor=Avisitor+1
={0+1,0+1,0+1,Nv1+1,Nv2+1,Nv3+1,Nvj+1,……,Nv11+1};
对Buser和Bvisitor进行乘积计算获得乘积序列Cnum:
Cnum=Buserx Bvisitor
={1,1,1,(Nu1+1)(Nv1+1),(Nu2+1)(Nv2+1),(Nu3+1)(Nv3+1),(Nui+1)(Nvj+1),……,(Nu11+1)(Nv11+1)} ;
将Atime和Cnum进行差值计算获得终序列Dweb:
Dweb=|Atime-Cnum|={Dweb1,Dweb2,Dweb3,Dwebk,……,Dweb14}
={|Y1-1|,|Y2-1|,|Y3-1|,|Y4-(Nu1+1)(Nv1+1)|,|M1-(Nu2+1)(Nv2+1)|,|M2-(Nu3+1)(Nv3+1)|,|D1-(Nu4+1)(Nv4+1)|,|D2-(Nu5+1)(Nv5+1)|,|H1-(Nu6+1)(Nv6+1)|,|H2-(Nu7+1)(Nv7+1)|,|F1-(Nu8+1)(Nv8+1)|,|F2-(Nu9+1)(Nv9+1)|,|S1-(Nu10+1)(Nv10+1)|,|S2-(Nu11+1)(Nv11+1)|}。
进一步地,还包括:
对授权验证信息设定验证次数;
当接收到门禁***发送的通行信息时,所述验证次数减少一次,直至验证次数为零时,对门禁***发送授权解绑信息。
进一步地,所述授权请求信息包括来访人员终点位置信息和用户终端的手机号码。
进一步地,所述预设时长由第一服务器根据来访人员终点位置信息进行分析获得。
进一步地,所述授权验证信息包括二维码。
本发明还提供一种智慧门禁授权***,包括:
接收模块,用于接收用户终端发送的授权请求信息;
号码获取模块,用于获取来访人员的手机号码;
加密模块,用于根据接收用户终端发送的授权请求信息的申请时间、来访人员的手机号码、用户终端的手机号码,通过加密算法获得授权链接地址和通行验证码,授权验证信息包括通行验证码;
发送模块,用于将授权验证信息发送给门禁***,将授权链接地址发送给来访人员的手机号码对应的手机终端;
计时模块,用于当接收到来访人员终端发送的链接点开信息时开始计时,且当时长超过预设时长,触发发送模块对门禁***发送授权解绑信息。
本发明具有以下有益效果:本发明利用加密算法生成授权地址链接,发送给来访人员展示的是授权链接地址,而不是直接展示授权验证信息(如二维码、验证码),使得来访人员要获得授权验证信息与门禁***进行验证时,需要先点开授权链接地址,而点开授权链接地址时,即开始计时,在预设时长内,授权验证信息有效,超时后,则授权验证信息无效,对授权验证信息进行了时效性限定,避免授权验证信息被多人长时间多次复用的情况。很好地满足了住宅小区或其他建筑类型的高频次、短时间、安全便捷的陌生人(如快递员、外卖员)到访的实际需求,保障了小区物业、住户的安全性和快递外卖收发便捷性,又给临时性访客带来极大的通行便利,节省了宝贵的时间;再者通过对时间、来访人员的手机号码、用户终端的手机号码作为计算量,且这三个量在不同的授权请求中,属于变量,三个变量使得获得的终序列的独特性和唯一性得到保证,即授权链接地址和通行验证码的独特性和唯一性得到保证,基本可以避免重码的情况。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供的一个优选实施例中的一种智慧门禁授权方法,用于第一服务器中,包括如下步骤:
第一服务器接收用户终端发送的授权请求信息;
第一服务器获取来访人员的手机号码;
第一服务器根据接收用户终端发送的授权请求信息的申请时间、来访人员的手机号码、用户终端的手机号码,通过加密算法,获得终序列Dweb,所述终序列Dweb包含有若干个数,将Dweb的部分数作为授权链接地址的子目录,将Dweb的另外部分数作为通行验证码,所述授权验证信息包括通行验证码,所述授权链接地址被点开后的页面内包含授权验证信息;
第一服务器将授权验证信息发送给门禁***,将授权链接地址发送给来访人员的手机号码对应的来访人员终端;这样发送给来访人员的并不是直接显示授权验证信息,而是进行了一层加密,避免授权验证信息被直接显示而被多次长时间反复使用。且第一服务器获取来访人员的手机号码时,可将来访人员的手机号码和用户终端的手机号码进行绑定,方便用户终端接收信息,以获取来访人员的位置。
第一服务器接收来访人员终端发送的链接点开信息并开始计时,当时长超过预设时长,则对门禁***发送授权解绑信息;所述授权解绑信息用于触发门禁***将对应的授权验证信息失效处理。门禁***接收到授权解绑信息后,将对应的授权验证信息失效处理,将用户信息和来访人员信息进行解绑,将对应的授权验证信息失效,使得授权验证信息不能通过门禁***的验证。
其中链接点开信息由来访人员终端点开授权链接地址时触发;当来访人员终端点开授权链接地址进入授权链接对应的页面时,页面会将授权验证信息展示给来访人员,以供来访人员与门禁***进行验证,且同时来访人员终端会将链接点开信息发送给第一服务器,告诉第一服务器,授权链接地址已被打开,让第一服务器开始计时。所述门禁***用于根据来访人员出示的验证信息与授权验证信息进行比对并根据比对结果决定来访人员是否授权通行。来访人员出示的验证信息如果是通过点开授权链接地址获得的且不超时,则该验证信息能与门禁***接收到的授权验证信息对应上,则验证成功,对来访人员授权通行。
第一服务器可以为云端服务器;用户通过用户终端(手机)点开云端服务器数据中心安装的门禁软件,门禁软件在用户手机端可通过微信门禁小程序等形式使用,用户终端点开门禁软件需要进行手机号注册和绑定,门禁软件则通过存储在用户列表内的手机号码进行比对,若注册的手机号码在已有的用户列表内,则注册成功。用户终端进入门禁软件后,通过点击可给第一服务器发送授权请求信息。采用云云对接或现场单台工控机硬件部署,部署简单、操作方便。
小区的门禁***的服务器可以是云服务器以与第一服务器云云对接,或是在小区本地设置小型门禁***的服务器以与第一服务器对接。小区的门禁***包括出入口门禁、楼栋大堂门禁、小区的楼栋电梯门禁***中的至少一种。
本发明利用加密算法生成授权地址链接和授权验证信息,且发送给来访人员展示的是授权链接地址,而不是直接展示授权验证信息(如二维码、验证码);使得来访人员要获得授权验证信息与门禁***进行验证时,需要先点开授权链接地址,而点开授权链接地址时,即开始计时,在预设时长内,授权验证信息有效,超时后,则授权验证信息无效,对授权验证信息进行了时效性限定,避免授权验证信息被多人长时间多次复用的情况。
另外如果在将授权链接地址发送给来访人员终端时,就开始计时,由于来访人员的来访时间不定,可能会导致来访人员使用时,已经超出时间,导致授权失败,或者设定较长的预设时长来规避这种情况,但是设定较长的预设时长会导致时效准确性下降。通常在来访人员到达门禁***处需要验证时,开始点开授权链接地址,并开始计时,这样的时效准确性高,可以避免上述情况。
本发明的智慧门禁授权方法,很好的满足了现实住宅小区或其他建筑类型的高频次、短时间、安全便捷的陌生人(如快递员、外卖员)到访的实际需求,保障了小区物业,住户的安全性和快递外卖收发便捷性,又给临时性访客带来极大的通行便利,节省了宝贵的时间。
在本发明的一些实施例中,所述来访人员为订单派送人员,获取来访人员的手机号码,可通过如下方式获取:
用户终端进入微信门禁小程序跳转打开第三方电商平台APP后,第一服务器与第三方电商平台APP后台进行数据对接,获取当前未完成订单的派送人员的手机号码。采用微信小程序和手机短信分发作为***用户和访客使用入口,无需额外下载APP。
当然在其他一些实施例中,来访人员为亲朋好友时,也可以是用户终端进入微信门禁小程序,填入来访人员的手机号码,以将来访人员的手机号码发送给第一服务器。
所述授权验证信息的通行验证码由加密算法生成,这样能保证授权验证信息的唯一性,大大避免出现重码的概率。
在本发明的一些实施例中,根据接收用户终端发送的授权请求信息的申请时间、来访人员的手机号码、用户终端的手机号码,通过加密算法,获得终序列Dweb,具体包括:
根据接收用户终端发送的授权请求信息的申请时间,获得时间序列Atime:
Atime={Y1,Y2,Y3,Y4,M1,M2,D1,D2,H1,H2,F1,F2,S1,S2} ;
根据用户终端的手机号码获得用户号码序列Auser:
Auser={0,0,0,Nu1,Nu2,Nu3,Nui,……,Nu11};
根据来访人员的手机号码获得访客号码序列Avisitor:
Avisitor={0,0,0,Nv1,Nv2,Nv3,Nvj,……Nv11} ;
其中Y1,Y2,Y3,Y4分别表示申请时间对应的年份的千位数、百位数、十位数和个位数,M1,M2分别表示申请时间对应的月份的十位数和个位数;D1,D2分别表示申请时间对应的日期的十位数和个位数;H1,H2分别表示申请时间对应的时钟的十位数和个位数;F1,F2分别表示申请时间对应的分钟的十位数和个位数;S1,S2分别表示申请时间对应的秒钟的十位数和个位数。
如申请时间为:2010年12月11日15时12分30秒,则Y1,Y2,Y3,Y4,M1,M2,D1,D2,H1,H2,F1,F2,S1,S2分别为2、0、1、0、1、2、1、1、1、5、1、2、3、0。
Nu1,Nu2,Nu3,Nui,……,Nu11分别表示用户终端的手机号码的11位数;Nui代表
用户终端的手机号码的第i个数字。例如用户终端的手机号码为12345678912,则Nu1,Nu2,Nu3,Nu4,Nu5,Nu6,Nu7,Nu8,Nu9,Nu10,Nu11分别为1、2、3、4、5、6、7、8、9、1、2。i为不大于11的正整数。
Nv1,Nv2,Nv3,Nvj,……Nv11分别表示来访人员的手机号码的11位数,Nvj代表
来访人员的手机号码的第j个数字;例如来访人员的手机号码为98765432112,则Nv1,Nv2,Nv3,Nv4,Nv5,Nv6,Nv7,Nv8,Nv9,Nv10,Nv11分别为9、8、7、6、5、4、3、2、1、1、2。j为不大于11的正整数。
对Auser和Avisitor进行加密计算获得终序列:
Dweb={Dweb1,Dweb2,Dweb3,Dwebk,……,Dweb14};Dwebk为Dweb序列的第K个数,K为不大于14的正整数,即终序列Dweb包含14个数,Dweb={Dweb1,Dweb2,Dweb3,Dweb4,Dweb5,Dweb6,Dweb7,Dweb8,Dweb9,Dweb10,Dweb11,Dweb12,Dweb13,Dweb14}。
将终序列Dweb中的某一段序列数作为授权链接地址的子目录,将另外一段序列数作为通行验证码,且两段序列数互不包含。
在本实施例中,将Dweb的前十个数作为授权链接地址的子目录,将Dweb的后四个数作为通行验证码,所述授权验证信息包括通行验证码。具体的,Dweb的前十个数按序列顺序排列形成授权链接地址的子目录,Dweb的后四个数按序列顺序排列形成通行验证码。
具体的,将终序列Dweb的前十个数作为授权链接地址的子目录再结合一个域名构成一个完整的授权链接地址。如域名为www.xxx.com,则结合终序列Dweb的前十个数作为授权链接地址的子目录的授权链接地址为www.xxx.com/Dweb1Dweb2Dweb3Dweb4Dweb5Dweb6Dweb7Dweb 8Dweb9Dweb10。
可以理解的是,第一服务器为www.xxx.com的数据存放的服务器,在生成授权链接地址时,第一服务器会将通行验证码(Dweb11Dweb12Dweb13Dweb14)和二维码放置在www.xxx.com/Dweb1Dweb2Dweb3Dweb4Dweb5Dweb6Dweb7Dweb8Dweb9Dweb10对应的页面内,二维码是第一服务器生成的且与授权链接地址一一对应,不同的授权链接地址对应不同的二维码。
通过对时间、来访人员的手机号码和用户终端的手机号码作为计算量,且这三个量在不同的授权请求中,属于变量。三个变量使得获得的终序列的独特性和唯一性得到保证,基本可以避免重码的情况。
在本发明地进一步实施例中,对Auser和Avisitor进行加密计算获得终序列,具体通过如下方式计算:
对Auser和Avisitor进行非零计算获得第一非零序列Buser和第二非零序列Bvisitor:
Buser=Auser+1
={0+1,0+1,0+1,Nu1+1,Nu2+1,Nu3+1,Nui+1,……,Nu11+1}
Bvisitor=Avisitor+1
={0+1,0+1,0+1,Nv1+1,Nv2+1,Nv3+1,Nvj+1,……,Nv11+1};
对Buser和Bvisitor进行乘积计算获得乘积序列Cnum:
Cnum=Buserx Bvisitor
={1,1,1,(Nu1+1)(Nv1+1),(Nu2+1)(Nv2+1),(Nu3+1)(Nv3+1),(Nui+1)(Nvj+1),……,(Nu11+1)(Nv11+1)} ;
将Atime和Cnum进行差值计算获得终序列Dweb:
Dweb=|Atime-Cnum|={Dweb1,Dweb2,Dweb3,Dwebk,……,Dweb14}
={|Y1-1|,|Y2-1|,|Y3-1|,|Y4-(Nu1+1)(Nv1+1)|,|M1-(Nu2+1)(Nv2+1)|,|M2-(Nu3+1)(Nv3+1)|,|D1-(Nu4+1)(Nv4+1)|,|D2-(Nu5+1)(Nv5+1)|,|H1-(Nu6+1)(Nv6+1)|,|H2-(Nu7+1)(Nv7+1)|,|F1-(Nu8+1)(Nv8+1)|,|F2-(Nu9+1)(Nv9+1)|,|S1-(Nu10+1)(Nv10+1)|,|S2-(Nu11+1)(Nv11+1)|}。
Buser,Bvisitor表示在Auser,Avisitor基础上作了“加1”的非零计算,避免后续乘积计算出现零,避免重码。Cnum则在Buser,Bvisitor作了乘积计算用以大幅减少重复结果并作为中间过程的加密措施。Dweb则为实时时间Atime与Cnum的差的绝对值,保证了运算结果唯一性,并进一步对运算结果进行了加密。
通过上述计算过程,对运算结果进行了加密,其减少重复结果,避免重码,另外采用了时间、来访人员的手机号码和用户终端的手机号码作为计算的三个变量,理论上每个授权请求对应的时间、来访人员的手机号码和用户终端的手机号码至少一种会存在不同,则最终的计算结果极大概率不相同,大大提高了结果的唯一性。所生成的临时性、一次性的通行验证码及二维码具有高度的时效性和唯一性、用完即失效。同时在通行验证码及二维码生成过程中和结果都采取了加密措施,很好的保护了用户隐私信息。
在本发明的一些实施例中,智慧门禁授权方法还包括:
对授权验证信息设定验证次数;当第一服务器接收到门禁***发送的通行信息时,所述验证次数减少一次,直至验证次数为零时,对门禁***发送授权解绑信息。门禁***根据比对结果决定对来访人员授权通行时,门禁***会即时发送通行信息给第一服务器,使得对应的授权验证信息次数核减一次,当验证次数为零时,则授权验证信息的使用次数用完,第一服务器对门禁***发送授权解绑信息,门禁***接收到授权解绑信息后,将对应的授权验证信息进行无效处理,使得对应的授权验证信息不能通过门禁***的验证,保证授权验证信息不被多次反复使用。
在本发明的一些实施例中,所述授权请求信息包括来访人员终点位置信息和用户终端的手机号码。从而为加密算法提供用户终端的手机号码。
优选的,将授权验证信息发送给门禁***的同时,第一服务器还向门禁***发送授权门禁点信息;其中所述授权门禁点信息由第一服务器根据来访人员终点位置信息分析生成,所述授权门禁点信息为来访人员进入到终点位置所需通过的门禁点数据,所述验证次数为所需通过的门禁点个数。
如访客终点位置在小区九栋,从小区外进入到小区九栋需要经过门禁点1、门禁点3和门禁点4,那么第一服务器根据来访人员终点位置信息分析生成授权门禁点信息:门禁点1、门禁点3和门禁点4,同时还给门禁***发送对应的授权验证信息。门禁***得到授权门禁点信息后,当来访人员将对应的授权验证信息中的二维码或通行验证码在这三个门禁点时就会验证成功,授权通行。授权门禁点信息即门禁***需要授权通过的门禁点信息,以避免来访人员乱入到其余楼栋,造成安全隐患。同时根据上述设定所需通过的门禁点个数为3,验证次数则设为3。
在本发明的进一步实施例中,所述预设时长由第一服务器根据来访人员终点位置信息进行分析获得。如来访人员终点位置信息为小区九栋8楼,第一服务器根据小区九栋8楼的位置,给出预设时长为20分钟,即20分钟内,来访人员可以从小区门口进入到小区九栋8楼的位置,当来访人员终点位置信息为小区1栋1楼时,由于离小区门口近,预设时长则相应地调为15分钟。可在第一服务器内设定一个预设时长的规则,将每个楼栋每个楼层设定对应的预设时长即可。
当然预设时长可以设定得相对较为宽松,如来人人员到小区九栋8楼通常只需要10分钟,为了避免出现突发偶然状况,如拥挤时段,电梯需要等待,可将预设时长设为20分钟。
在本发明的进一步实施例中,所述授权验证信息包括二维码,即点开授权链接地址后,可以从页面上获得通行验证码和一个第一服务器生成的二维码,可以通过密码验证或二维码扫码验证。
本发明还提供一种智慧门禁授权***,包括接收模块、号码获取模块、加密模块、发送模块和计时模块。
接收模块用于接收用户终端发送的授权请求信息;号码获取模块用于获取来访人员的手机号码;加密模块用于根据接收用户终端发送的授权请求信息的申请时间、来访人员的手机号码、用户终端的手机号码,通过加密算法获得授权链接地址和通行验证码,所述授权验证信息包括通行验证码;具体的,加密模块首先通过加密算法计算出终序列Dweb,再从终序列Dweb中抽取部分数作为授权链接地址的子目录,将另外部分数作为通行验证码。发送模块用于将授权验证信息发送给门禁***,将授权链接地址发送给来访人员的手机号码对应的手机终端;计时模块,用于当接收到来访人员终端发送的链接点开信息时开始计时,且当时长超过预设时长,触发发送模块对门禁***发送授权解绑信息,即计时模块判定超时时,触发发送模块,发送模块发送授权解绑信息给门禁***,门禁***则将对应的授权验证信息失效处理,使得对应的授权验证信息不能通过门禁***验证,保证时效性。具体的,授权验证信息包括二维码和通行验证码,二维码通过第一服务器的二维码生成模块获得,通行验证码由加密模块通过加密算法获得。
智慧门禁授权***通过计时模块使得授权验证信息具有高度的时效性,避免长时间反复多次使用,加密模块则在生成授权链接地址都采取了加密措施,很好的保护了用户隐私信息。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。