一种重力感应智能密钥装置的工作方法及装置
技术领域
本发明涉及信息安全领域,尤其涉及一种重力感应智能密钥装置的工作方法及装置。
背景技术
现有技术中,在与移动设备的音频口连接时,由于智能密钥装置的显示方向只能是在出厂时设定好的,而用户的移动设备音频口位置又有所不同,导致屏幕显示方向无法根据用户习惯进行相应调整,本发明就是在这样的背景下应运而生的。
发明内容
本发明的目的是为了解决现有技术中存在的问题,提供了一种重力感应智能密钥装置的工作方法及装置。
本发明采用的技术方案是:一种重力感应智能密钥装置的工作方法,包括:
智能密钥装置等待并接收上位机下发的指令,当接收到签名指令时,从所述签名指令中获取显示数据,从所述显示数据中获取当前显示数据,读取重力感应模块中的信号数据,根据所述信号数据设置当前显示方向,根据当前显示方向显示当前显示数据;
当检测到第一翻页键按下时,判断当前显示方向,如果是第一显示方向,则将所述显示数据中当前显示数据之前的数据作为当前显示数据并进行显示,如果是第二显示方向,则将所述显示数据中当前显示数据之后的数据作为当前显示数据并进行显示;
当检测到第二翻页键按下时,判断当前显示方向,如果是第一显示方向,则将所述显示数据中当前显示数据之后的数据作为当前显示数据并进行显示,如果是第二显示方向,则将所述显示数据中当前显示数据之前的数据作为当前显示数据并进行显示;
当检测到确认键按下时,执行签名操作,向上位机返回成功响应;
当检测到取消键按下时,向所述上位机返回失败响应。
所述智能密钥装置等待并接收上位机下发的指令之前,还包括:
步骤a1:所述智能密钥装置上电初始化,将初始方向设置为第一显示方向,将重力感应模块的信号数据设置为初始信号数据;
步骤a2:所述智能密钥装置获取所述重力感应模块中的信号数据,根据所述信号数据设置当前显示方向,显示开机信息;
步骤a3:所述智能密钥装置判断是否接收到上位机下发的指令,如果是,则继续,否则返回步骤a2。
所述根据信号数据设置当前显示方向,具体为:
步骤a1:所述智能密钥装置从所述信号数据中获取第一坐标轴上的值和第二坐标轴上的值;
步骤a2:所述智能密钥装置判断所述第一坐标轴上的值,如果小于或等于第二预设值,则将当前显示方向设置为第二显示方向,如果大于所述第二预设值且小于第一预设值,则执行步骤a3;
步骤a3:所述智能密钥装置判断所述第二坐标轴上的值,如果大于或等于所述第一预设值,则将当前显示方向设置为第一显示方向,如果大于所述第二预设值且小于所述第一预设值,则将当前显示方向设置为第二显示方向。
所述将当前显示方向设置为第一显示方向之前,还包括:所述智能密钥装置判断当前显示方向是否为第一显示方向,如果是,则显示方向不变,否则将当前显示方向设置为第一显示方向;
所述将当前显示方向设置为第二显示方向之前,还包括:所述智能密钥装置判断当前显示方向是否为第二显示方向,如果是,则显示方向不变,否则将当前显示方向设置为第二显示方向。
所述将当前显示方向设置为第一显示方向,具体为:根据当前显示方向,获取保存的第一预设显示指令,将所述第一预设显示指令发送至显示屏,将显示屏的显示属性设置为第一显示属性,将当前显示方向设置为第一显示方向;
所述将当前显示方向设置为第二显示方向,具体为:根据当前显示方向,获取保存的第二预设显示指令,将所述第二预设显示指令发送至显示屏,将显示屏的显示属性设置为第二显示属性,将当前显示方向设置为第二显示方向。
所述根据所述信号数据设置当前显示方向,具体为:
步骤b1:所述智能密钥装置从所述信号数据中获取第一坐标轴上的值和第二坐标轴上的值;
步骤b2:所述智能密钥装置判断所述第一坐标轴上的值,如果大于或等于第一预设值,则将当前显示方向设置为第三显示方向,如果大于第二预设值且小于第一预设值,则执行步骤b3;
步骤b3:所述智能密钥装置判断所述第二坐标轴上的值,如果小于或等于第二预设值,则将当前显示方向设置为第四显示方向。
所述将当前显示方向设置为第三显示方向之前,还包括:所述智能密钥装置判断当前显示方向是否为第三显示方向,如果是,则显示方向不变,否则将当前显示方向设置为第三显示方向;
所述将当前显示方向设置为第四显示方向之前,还包括:所述智能密钥装置判断当前显示方向是否为第四显示方向,如果是,则显示方向不变,否则将当前显示方向设置为第四显示方向。
所述将当前显示方向设置为第三显示方向,具体为:根据当前显示方向,获取保存的第三预设显示指令,将所述第三预设显示指令发送至显示屏,将显示屏的显示属性设置为第三显示属性,将当前显示方向设置为第三显示方向;
所述将当前显示方向设置为第四显示方向,具体为:根据当前显示方向,获取保存的第四预设显示指令,将所述第四预设显示指令发送至显示屏,将显示屏的显示属性设置为第四显示属性,将当前显示方向设置为第四显示方向。
当检测到第一翻页键按下时,判断当前显示方向,还包括:如果是第三显示方向,则将所述显示数据中当前显示数据之前的数据作为当前显示数据并进行显示,如果是第四显示方向,则将所述显示数据中当前显示数据之后的数据作为当前显示数据并进行显示;
当检测到第二翻页键按下时,判断当前显示方向,还包括:如果是第三显示方向,则将所述显示数据中当前显示数据之后的数据作为当前显示数据并进行显示,如果是第四显示方向,则将所述显示数据中当前显示数据之前的数据作为当前显示数据并进行显示。
所述将所述显示数据中当前显示数据之前的数据作为当前显示数据之前,还包括:所述智能密钥装置判断所述显示数据中当前显示数据之前是否还有显示数据,如果是,则将所述显示数据中当前显示数据之前的数据作为当前显示数据,否则等待接收按键触发。
所述将所述显示数据中当前显示数据之后的数据作为当前显示数据之前,还包括:所述智能密钥装置判断所述显示数据中当前显示数据之后是否还有显示数据,如果是,则将所述显示数据中当前显示数据之后的数据作为当前显示数据,否则等待接收按键触发。
所述根据当前显示方向显示当前显示数据之后,还包括:
步骤S2-1:所述智能密钥装置检测按键状态,判断是否检测到按键触发,如果是,则继续,否则执行步骤S2-2;
步骤S2-2:所述智能密钥装置判断检测按键触发是否超时,如果是,则提示超时信息,结束,否则执行步骤S2-3;
步骤S2-3:所述智能密钥装置读取所述重力感应模块中的信号数据,根据所述信号数据设置当前显示方向,根据当前显示方向显示当前显示数据,返回步骤S2-1。
所述签名指令,具体包括报文解析指令和报文签名指令;
当所述智能密钥装置接收到报文解析指令时,获取所述报文解析指令中的报文,应用预设哈希算法对所述报文进行计算,将计算得到的哈希结果保存,并从所述报文解析指令中解析得到显示数据,将所述显示数据保存;
当所述智能密钥装置接收到报文签名指令时,从保存的显示数据中获取当前显示数据,并读取所述重力感应模块中的信号数据,根据所述信号数据设置当前显示方向,根据当前显示方向显示当前显示数据。
所述执行签名操作,具体为:所述智能密钥装置获取保存的所述哈希结果,应用预设签名算法对所述哈希结果进行签名,得到签名结果,根据所述签名结果生成成功响应;
所述当检测到取消键按下时,向上位机返回失败响应,具体为:当检测到取消键按下时,将保存的所述哈希结果删除,并向上位机返回失败响应。
当检测到确认键按下时,还包括:所述智能密钥装置提示是否需要执行签名操作,并等待接收按键操作;
当检测到确认键再次按下时,执行签名操作,向所述上位机返回确认响应;
当检测到取消键按下时,删除所述显示数据,向所述上位机返回失败响应。
所述向上位机返回失败响应之前,还包括:显示取消签名信息。
一种重力感应智能密钥装置,包括:
接收模块,用于等待并接收上位机下发的指令;
获取模块,用于当所述接收模块接收到签名指令时,从所述签名指令中获取显示数据,从所述显示数据中获取当前显示数据;
重力感应模块,用于生成信号数据;
第一设置模块,用于读取重力感应模块中的信号数据,根据所述信号数据设置当前显示方向;
第一显示模块,用于根据所述第一设置模块设置的当前显示方向显示所述获取模块获取到的当前显示数据;
第一判断模块,用于当所述第一显示模块显示当前数据且检测到第一翻页键按下时,判断当前显示方向;
第二判断模块,用于当所述第一显示模块显示当前数据且检测到第二翻页键按下时,判断当前显示方向;
第二显示模块,用于当所述第一判断模块判断当前显示方向为第一显示方向,或当所述第二判断模块判断当前显示方向为第二显示方向时,将所述显示数据中当前显示数据之前的数据作为当前显示数据并进行显示;
第三显示模块,用于当所述第一判断模块判断当前显示方向为第二显示方向,或当所述第二判断模块判断当前显示方向为第一显示方向时,将所述显示数据中当前显示数据之后的数据作为当前显示数据并进行显示;
签名模块,用于当检测到确认键按下时,对接收模块接收到的签名指令执行签名操作;
发送模块,用于当所述签名模块执行签名操作后,向上位机返回成功响应;当检测到取消键按下时,向所述上位机返回失败响应。
所述智能密钥装置还包括:第二设置模块和第四显示模块;
所述第二设置模块,用于将初始方向设置为第一显示方向,将所述重力感应模块的信号数据设置为初始信号数据;
所述第四显示模块,用于当所述接收模块未接收到签名指令时,获取所述重力感应模块中的信号数据,根据所述信号数据设置当前显示方向,显示开机信息。
所述第一设置模块,具体包括第一获取单元、第一判断单元、第一设置单元、第二判断单元和第二设置单元;
所述第一获取单元,用于从所述重力感应模块中获取第一坐标轴上的值和第二坐标轴上的值;
所述第一判断单元,用于判断所述第一坐标轴上的值,当判断所述第一坐标轴上的值小于或等于第二预设值时,触发所述第一设置单元;当判断所述第一坐标轴上的值大于所述第二预设值且小于第一预设值时,触发所述第二判断单元;
所述第二判断单元,用于判断所述第二坐标轴上的值,当判断所述第二坐标轴上的值大于第二预设值且小于第一预设值时,触发所述第一设置单元;当所述第二判断单元判断所述第二坐标轴的值大于或等于第一预设值时,触发所述第二设置单元;
所述第一设置单元,用于将当前显示方向设置为第二显示方向;
所述第二设置单元,用于将当前显示方向设置为第一显示方向。
所述第一设置模块,还包括第三判断单元,用于判断当前显示方向是否为第一显示方向,判断当前显示方向是否为第二显示方向;
所述第一设置单元,具体用于当所述第三判断单元判断当前显示方向不为第二显示方向时,将当前显示方向设置为第二显示方向;
所述第二设置单元,具体用于当所述第三判断单元判断当前显示方向不为第一显示方向时,将当前显示方向设置为第一显示方向。
所述第二设置单元,具体用于根据当前显示方向,获取保存的第一预设显示指令,将所述第一预设显示指令发送至显示屏,将显示屏的显示属性设置为第一显示属性,将当前显示方向设置为第一显示方向;
所述第一设置单元,具体用于根据当前显示方向,获取保存的第二预设显示指令,将所述第二预设显示指令发送至显示屏,将显示屏的显示属性设置为第二显示属性,将当前显示方向设置为第二显示方向。
所述第一设置模块,具体包括第二获取单元、第四判断单元、第三设置单元、第五判断单元、第四设置单元和第五设置单元;
所述第二获取单元,用于从所述信号数据中获取第一坐标轴上的值和第二坐标轴上的值;
所述第四判断单元,用于判断所述第一坐标轴上的值,当判定第一坐标轴上的值大于或等于第一预设值时,触发所述第三设置单元;当判断第一坐标轴上的值大于第二预设值且小于第一预设值,触发所述第五判断单元;
所述第五判断单元,用于判断所述第二坐标轴上的值,当判定所述第二坐标轴上的值小于或等于第二预设值时,触发所述第四设置单元;
所述第三设置单元,用于将当前显示方向设置为第三显示方向;
所述第四设置单元,用于将当前显示方向设置为第四显示方向。
所述第一设置模块,还包括第六判断单元,用于判断当前显示方向是否为第三显示方向,判断当前显示方向是否为第四显示方向;
所述第三设置单元,具体用于当所述第六判断单元判断当前显示方向不为第三显示方向时,将当前显示方向设置为第三显示方向;
所述第四设置单元,具体用于当所述第六判断单元判断当前显示方向不为第四显示方向时,将当前显示方向设置为第四显示方向。
所述第三设置单元,具体用于根据当前显示方向,获取保存的第三预设显示指令,将所述第三预设显示指令发送至显示屏,将显示屏的显示属性设置为第三显示属性,将当前显示方向设置为第三显示方向;
所述第四设置单元,具体用于根据当前显示方向,获取保存的第四预设显示指令,将所述第四预设显示指令发送至显示屏,将显示屏的显示属性设置为第四显示属性,将当前显示方向设置为第四显示方向。
所述第二显示模块,还用于当所述第一判断模块判断当前显示方向为第三显示方向时,或当所述第二判断模块判断当前显示方向为第四显示方向时,将所述显示数据中当前显示数据之前的数据作为当前显示数据并进行显示;
所述第三显示模块,还用于当所述第一判断模块判断当前显示方向为第四显示方向,或当所述第二判断模块判断当前显示方向为第三显示方向时,将所述显示数据中当前显示数据之后的数据作为当前显示数据并进行显示。
所述智能密钥装置还包括第三判断模块,用于判断所述显示数据中当前显示数据之前是否还有显示数据;
所述第二显示模块,具体用于当所述第三判断模块判断为是时,将所述显示数据中当前显示数据之前的数据作为当前显示数据。
所述智能密钥装置还包括第四判断模块,用于判断所述显示数据中当前显示数据之后是否还有显示数据;
所述第二显示模块,具体用于当所述第四判断模块判断为是时,将所述显示数据中当前显示数据之后的数据作为当前显示数据。
所述智能密钥装置还包括检测模块,所述检测模块包括第一检测单元、判断超时单元、提示单元和显示单元;
所述第一检测单元,用于检测按键状态,判断是否检测到按键触发;
所述判断超时单元,用于当所述第一检测单元未检测到按键触发时,判断检测按键触发是否超时;
提示单元,用于当所述判断超时单元判断检测按键触发超时时,提示超时信息;
显示单元,用于当所述判断超时单元判断检测按键触发未超时时,读取所述重力感应模块中的信号数据,根据所述信号数据设置当前显示方向,根据当前显示方向显示当前显示数据。
所述智能密钥装置,还包括:第一处理模块和第二处理模块;
所述第一处理模块,用于当所述接收模块接收到报文解析指令时,获取所述报文解析指令中的报文,应用预设哈希算法对所述报文进行计算,将计算得到的哈希结果保存,并从所述报文解析指令中解析得到显示数据,将所述显示数据保存;
所述第二处理模块,用于当所述接收模块接收到报文签名指令时,从保存的显示数据中获取当前显示数据,并读取所述重力感应模块中的信号数据,根据所述信号数据设置当前显示方向,根据当前显示方向显示当前显示数据。
所述签名模块,具体用于获取保存的所述哈希结果,应用预设签名算法对所述哈希结果进行签名,得到签名结果,根据所述签名结果生成成功响应;
所述发送模块中所述向上位机返回失败响应,具体用于将保存的所述哈希结果删除,并向上位机返回失败响应。
所述智能密钥装置,还包括提示模块;
所述提示模块,用于当检测到确认键按下时,提示是否需要执行签名操作,并等待接收按键操作;
所述签名模块,具体用于当检测到确认键再次按下时,执行签名操作;
所述发送模块中所述向上位机返回失败响应,具体用于当检测到取消键按下时,删除所述显示数据,向所述上位机返回失败响应。
所述发送模块中向上位机返回失败响应,具体用于显示取消签名信息,向上位机返回失败响应。
本发明取得的有益效果是:采用本发明的技术方法,能够实现通过接收重力感应模块的触发,智能密钥装置对显示屏的显示方向进行相应调整,达到用户使用习惯的目的,用户体验更佳。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例2提供的一种重力感应智能密钥装置的工作方法流程图;
图2是本发明实施例2中智能密钥装置显示方向示意图;
图3、图4、图5和图6是本发明实施例2中智能密钥装置显示临界状态图;
图7是本发明实施例2中重力感应智能密钥装置示意图;
图8是本发明实施例3提供的一种重力感应智能密钥装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提供了一种重力感应智能密钥装置的工作方法,包括:
智能密钥装置等待并接收上位机下发的指令,当接收到签名指令时,从签名指令中获取显示数据,从显示数据中获取当前显示数据,读取重力感应模块中的信号数据,根据信号数据设置当前显示方向,根据当前显示方向显示当前显示数据;
其中,签名指令可以为一条指令,也可以为多条指令;
如果签名指令为一条指令,则该签名指令中包含显示数据;
如果签名指令包括报文解析指令和报文签名指令,则当接收到报文解析指令时,从报文解析指令中获取报文,应用预设哈希算法对报文进行计算,将得到的哈希结果保存,并从报文解析指令中解析得到显示数据,将显示数据保存;当接收到报文签名指令时,从保存的显示数据中获取当前显示数据,并读取重力感应模块中的信号数据,根据信号数据设置当前显示方向,根据当前显示方向显示当前显示数据;
当检测到第一翻页键按下时,判断当前显示方向,如果是第一显示方向,则将显示数据中当前显示数据之前的数据作为当前显示数据并进行显示,如果是第二显示方向,则将显示数据中当前显示数据之后的数据作为当前显示数据并进行显示;
当检测到第二翻页键按下时,判断当前显示方向,如果是第一显示方向,则将显示数据中当前显示数据之后的数据作为当前显示数据并进行显示,如果是第二显示方向,则将显示数据中当前显示数据之前的数据作为当前显示数据并进行显示;
当检测到确认键按下时,执行签名操作,向上位机返回成功响应;
如果签名指令为一条指令,则执行签名操作具体为从签名指令中获取待签名数据,对待签名数据进行签名操作,得到签名结果,向上位机返回包含签名结果的成功响应;
如果签名指令包括报文解析指令和报文签名指令,则执行签名操作具体为获取保存的哈希结果,应用预设签名算法对哈希结果进行签名,得到签名结果,向上位机返回包含签名结果的成功响应;
进一步的,当检测到确认键按下时,还包括:提示是否需要执行签名操作,并等待接收按键操作,当检测到确认键再次按下时,执行签名操作,向上位机返回确认响应;
当检测到取消键按下时,向上位机返回失败响应;
如果签名指令为一条指令,则当检测到取消键按下时,删除签名指令中的待签名数据,并向上位机返回失败响应;
如果签名指令包括报文解析指令和报文签名指令,则当检测到取消键按下时,将保存的哈希结果删除,并向上位机返回失败响应;
进一步的,当检测到取消键按下时,删除显示数据,显示取消签名信息,并向上位机返回失败响应。
实施例2
本发明实施例2提供了一种重力感应智能密钥装置的工作方法,如图1所示,包括:智能密钥装置执行以下操作:
步骤101:智能密钥装置上电初始化,将初始显示方向设置为第一显示方向,将重力感应装置的信号数据设置为初始信号数据;
例如,智能密钥装置设置重力感应装置的信号数据x、y、z的取值为初始信号数据,即(0、10、0)。
步骤102:智能密钥装置获取重力感应模块中的信号数据,根据信号数据设置当前显示方向,显示开机信息;
其中,开机信息包括logo信息等;
本实施例中,根据信号数据设置当前显示方向,具体为:判断重力感应装置信号是否发生变化,即对重力感应装置信号数据与上电时记录的初始信号数据进行比较,判断是否超过预设变化范围,如果是,则重力感应装置信号发生变化,根据信号数据更新当前显示方向,否则重力感应装置信号未发生变化,继续为初始显示方向;
进一步的,根据信号数据设置当前显示方向,具体包括:
步骤102-1:智能密钥装置从信号数据中获取第一坐标轴上的值和第二坐标轴上的值;
本实施例中,显示方向是由第一坐标轴(x轴)上的值和第二坐标轴(y轴)上的值决定,第三坐标轴(z轴)上的值只决定智能密钥装置与水平面的倾斜程度,并不影响显示的方向,故无需判定z轴的取值;
步骤102-2:智能密钥装置判断第一坐标轴上的值,如果大于或等于第一预设值,则将当前显示方向设置为第三显示方向,如果小于或等于第二预设值,则将当前显示方向设置为第二显示方向,如果大于第二预设值且小于第一预设值,则执行步骤102-3;
本实施例中,优选的,第一预设值为2,第二预设值为-2;
步骤102-3:智能密钥装置判断第二坐标轴的值,如果大于或等于第一预设值,则将当前显示方向设置为第一显示方向,如果小于或等于第二预设值,则将当前显示方向设置为第四显示方向,如果大于第二预设值且小于第一预设值,则将当前显示方向设置为第二显示方向;
其中,将当前显示方向设置为第一显示方向之前,还包括:判断当前显示方向是否为第一显示方向,如果是,则显示方向不变,否则向显示屏发送第一预设显示指令,将当前显示方向设置为第一显示方向;
例如,智能密钥装置根据重力感应模块的信号数据判定为第一显示方向时,向显示屏发送第一预设显示指令0x2f 0x22 0x81 0x3f 0xa2 0xa0 0xc0 0x10 0x00 0xb00xaf 0xa6;
将当前显示方向设置为第二显示方向之前,还包括:判断当前显示方向是否为第二显示方向,如果是,则显示方向不变,否则向显示屏发送第二预设显示指令,将当前显示方向设置为第二显示方向;
将当前显示方向设置为第三显示方向之前,还包括:判断当前显示方向是否为第三显示方向,如果是,则显示方向不变,否则向显示屏发送第三预设显示指令,将当前显示方向设置为第三显示方向;
将当前显示方向设置为第四显示方向之前,还包括:判断当前显示方向是否为第四显示方向,如果是,则显示方向不变,否则向显示屏发送第四预设显示指令,将当前显示方向设置为第四显示方向;
例如,参见图2,为第一显示方向、第二显示方向、第三显示方向和第四显示方向,以智能密钥装置左下角为坐标原点,以智能密钥装置显示屏的长边为x轴,宽边为y轴,高边为z轴;
图2中,2-1为第一显示方向,其中,x轴和z轴在水平面上,取值为0,y轴的取值为10;
2-2为第二显示方向,其中,y轴和z轴在水平面上,取值为0,x轴的取值为-10;
2-3为第三显示方向,其中,y轴和z轴在水平面上,取值为0,x轴的取值为10;
2-4为第四显示方向,其中,x轴和z轴在水平面上,取值为0,y轴的取值为-10;
如图3、图4、图5和图6所示,为显示方向发生变化的临界状态;
其中,图3为第一显示方向和第三显示方向发生变化的临界状态,其中,3-1的z轴在水平面上,取值为0,x轴的取值为2,y轴的取值6,当x轴的取值达到2或大于2时,显示方向由3-1变化为3-2;
图4为第三显示方向和第四显示方向发生变化的临界状态,其中,4-1的x轴为1,y轴的取值为-2,当y轴的取值为-2或小于-2时,显示方向由4-1变化为4-2;
图5为第四显示方向和第二显示方向发生变化的临界状态,其中,5-1的x轴的取值为-2,y轴的取值为-1,当x轴的取值为-2或小于-2时,显示方向由5-1变化为5-2;
图6为第二显示方向和第一显示方向发生变化的临界状态,其中,6-1的x轴的取值为-1,y轴的取值为2,当y轴的取值为2或大于2时,显示方向由6-1变化为6-2。
步骤103:智能密钥装置等待接收上位机发送的指令,判断是否接收到指令,如果是,则执行步骤104,否则返回步骤102;
本步骤还包括:当智能密钥装置检测到在预设时间内未接收到指令,则进入省电模式(包括关闭显示屏或关机等)。
步骤104:智能密钥装置判断接收到的指令的类型,如果是报文解析指令,则执行步骤105,如果是报文签名指令,则执行步骤108;
优选的,智能密钥装置判断接收到的指令的第一、二字节,如果是0x002a,则为报文解析指令,如果是0x002b,则为报文签名指令。
步骤105:智能密钥装置判断报文解析指令的参数是否正确,如果是,则执行步骤106,否则向上位机返回错误响应,返回步骤103;
优选的,智能密钥装置判断接收到的指令的第三、四字节,如果为预设值0x0010,则表示参数正确,否则参数不正确。
步骤106:智能密钥装置获取报文解析指令中的报文,应用预设哈希算法对指令中的报文进行哈希计算,将哈希结果保存在预设存储区中;
优选的,哈希算法为SM3算法,除此之外,还包括MD5算法等;
例如,报文解析指令中的报文为:
<?xml version="1.0"encoding="utf-8"?>
<SignData>
<Fields>
<PayerAccountNoName=:“收款账号”:>6221286897001736<PayerAccountNo>
<PayerAccountName name=“收款户名:”>李四<PayerAccountName>
<TrsAmount name=“交易金额:”>100</TrsAmount>
</Fields>
</SignData>
步骤107:智能密钥装置对报文解析指令中的报文进行解析,得到显示数据,将显示数据保存在显示缓存区中,向上位机返回成功响应,返回步骤103;
例如,对步骤106中的报文进行解析后,得到的显示数据为:
收款账号:6221286897001736
收款户名:李四
交易金额:100
步骤108:智能密钥装置判断报文签名指令的参数是否正确,如果是,则执行步骤109,否则向上位机返回错误响应,返回步骤103;
步骤109:智能密钥装置从显示缓存区的显示数据中获取当前显示数据;
步骤110:智能密钥装置对当前显示数据进行编码转换,根据转换后的编码获取对应的字模数据;
步骤111:智能密钥装置读取重力感应模块中的信号数据,根据信号数据设置当前显示方向,根据当前显示方向显示当前显示数据对应的字模数据,并等待按键确认;
本步骤还包括:当智能密钥装置显示完成后,启动定时器,将定时器的值设为初值。
步骤112:智能密钥装置检测按键触发,判断是否检测到按键触发,如果是,则执行步骤114,否则执行步骤113。
步骤113:智能密钥装置判断等待按键触发是否超时,如果是,则提示超时信息,并向上位机返回超时响应,返回步骤103,否则执行步骤111;
本步骤中判断等待按键触发是否超时,具体为:判断定时器的值是否达到预设时间,如果是,则超时,否则未超时。
步骤114:智能密钥装置判断接收到的按键类型,如果是确认键,则执行步骤115,如果是取消键,则执行步骤116,如果是第一翻页键,则执行步骤117,如果是第二翻页键,则执行步骤122;
步骤115:智能密钥装置从预设存储区中获取哈希结果,应用预设签名算法对哈希结果进行签名,得到签名结果,根据签名结果生成成功响应并返回给上位机,返回步骤103;
步骤116:智能密钥装置提示取消签名信息,清除预设存储区中的哈希结果,向上位机返回失败响应,返回步骤103;
步骤117:智能密钥装置获取并判断当前显示方向,如果是第一显示方向或第三显示方向,则执行步骤118,如果是第二显示方向或第四显示方向,则执行步骤120;
步骤118:智能密钥装置判断显示缓存区中当前显示数据之前是否还有数据,如果是,则执行步骤119,否则返回步骤111;
步骤119:智能密钥装置将显示缓存区中当前显示数据之前的数据作为当前显示数据,返回步骤110;
步骤120:智能密钥装置判断显示缓存区中当前显示数据之后是否还有数据,如果是,则执行步骤121,否则返回步骤111;
步骤121:智能密钥装置将显示缓存区中当前显示数据之后的数据作为当前显示数据,返回步骤110;
步骤122:智能密钥装置获取并判断当前显示方向,如果是第一显示方向或第三显示方向,则执行步骤123,如果是第二显示方向或第四显示方向,则执行步骤125;
步骤123:智能密钥装置判断显示缓存区中当前显示数据之后是否还有数据,如果是,则执行步骤124,否则返回步骤111;
步骤124:智能密钥装置将显示缓存区中当前显示数据之后的数据作为当前显示数据,返回步骤110;
步骤125:智能密钥装置判断显示缓存区中当前显示数据之前是否还有数据,如果是,则执行步骤126,否则返回步骤111;
步骤126:智能密钥装置将显示缓存区中当前显示数据之前的数据作为当前显示数据,返回步骤110。
如图7所示,7-1为智能密钥装置、7-101为智能密钥装置的音频头,7-102为显示屏,7-103为显示数据,标识当前显示方向为第一显示方向,7-104为显示数据,标识当前显示方向为第四显示方向,7-105为显示数据,标识当前显示方向为第三显示方向,7-106为显示数据,标识当前显示方向为第二显示方向,7-107为取消键,7-108为第一翻页键,7-109为第二翻页键,7-110为确认键。
实施例3
本发明实施例3提供了一种重力感应智能密钥装置,如图8所示,包括:
接收模块301,用于等待并接收上位机下发的指令;
获取模块302,用于当接收模块301接收到签名指令时,从签名指令中获取显示数据,从显示数据中获取当前显示数据;
重力感应模块303,用于生成信号数据;
第一设置模块304,用于读取重力感应模块303中的信号数据,根据信号数据设置当前显示方向;
第一显示模块305,用于根据第一设置模块304设置的当前显示方向显示获取模块302获取到的当前显示数据;
第一判断模块306,用于当第一显示模块305显示当前数据且检测到第一翻页键按下时,判断当前显示方向;
第二判断模块307,用于当第一显示模块305显示当前数据且检测到第二翻页键按下时,判断当前显示方向;
第二显示模块308,用于当第一判断模块306判断当前显示方向为第一显示方向,或当第二判断模块307判断当前显示方向为第二显示方向时,将显示数据中当前显示数据之前的数据作为当前显示数据并进行显示;
第三显示模块309,用于当第一判断模块306判断当前显示方向为第二显示方向,或当第二判断模块307判断当前显示方向为第一显示方向时,将显示数据中当前显示数据之后的数据作为当前显示数据并进行显示;
签名模块310,用于当检测到确认键按下时,对接收模块301接收到的签名指令执行签名操作;
发送模块311,用于当签名模块310执行签名操作后,向上位机返回成功响应;当检测到取消键按下时,向上位机返回失败响应。
本实施例中,智能密钥装置还包括:第二设置模块和第四显示模块;
第二设置模块,用于将初始方向设置为第一显示方向,将重力感应模块303的信号数据设置为初始信号数据;
第四显示模块,用于当接收模块301未接收到签名指令时,获取重力感应模块303中的信号数据,根据信号数据设置当前显示方向,显示开机信息。
具体的,第一设置模块304,具体包括第一获取单元、第一判断单元、第一设置单元、第二判断单元和第二设置单元;
第一获取单元,用于从重力感应模块303中获取第一坐标轴上的值和第二坐标轴上的值;
第一判断单元,用于判断第一坐标轴上的值,当判断第一坐标轴上的值小于或等于第二预设值时,触发第一设置单元;当判断第一坐标轴上的值大于所述第二预设值且小于第一预设值时,触发第二判断单元;
第二判断单元,用于判断第二坐标轴上的值,当判断第二坐标轴上的值大于第二预设值且小于第一预设值时,触发第一设置单元;当第二判断单元判断第二坐标轴上的值大于或等于第一预设值时,触发第二设置单元;
第一设置单元,用于将当前显示方向设置为第二显示方向;
第二设置单元,用于将当前显示方向设置为第一显示方向。
进一步的,第一设置模块304,还包括第三判断单元,用于判断当前显示方向是否为第一显示方向,判断当前显示方向是否为第二显示方向;
第一设置单元,具体用于当第三判断单元判断当前显示方向不为第二显示方向时,将当前显示方向设置为第二显示方向;
第二设置单元,具体用于当第三判断单元判断当前显示方向不为第一显示方向时,将当前显示方向设置为第一显示方向。
更进一步的,第二设置单元,具体用于根据当前显示方向,获取保存的第一预设显示指令,将第一预设显示指令发送至显示屏,将显示屏的显示属性设置为第一显示属性,将当前显示方向设置为第一显示方向;
第一设置单元,具体用于根据当前显示方向,获取保存的第二预设显示指令,将第二预设显示指令发送至显示屏,将显示屏的显示属性设置为第二显示属性,将当前显示方向设置为第二显示方向。
其中,第一设置模块304,具体包括第二获取单元、第四判断单元、第三设置单元、第五判断单元、第四设置单元和第五设置单元;
第二获取单元,用于从信号数据中获取第一坐标轴上的值和第二坐标轴上的值;
第四判断单元,用于判断第一坐标轴上的值,当判定第一坐标轴上的值大于或等于第一预设值时,触发第三设置单元;当判断第一坐标轴上的值大于第二预设值且小于第一预设值,触发第五判断单元;
第五判断单元,用于判断第二坐标轴上的值,当判定第二坐标轴上的值小于或等于第二预设值时,触发第四设置单元;
第三设置单元,用于将当前显示方向设置为第三显示方向;
第四设置单元,用于将当前显示方向设置为第四显示方向。
进一步的,第一设置模块304,还包括第六判断单元,用于判断当前显示方向是否为第三显示方向,判断当前显示方向是否为第四显示方向;
第三设置单元,用于当第六判断单元判断当前显示方向不为第三显示方向时,将当前显示方向设置为第三显示方向;
第四设置单元,具体用于当第六判断单元判断当前显示方向不为第四显示方向时,将当前显示方向设置为第四显示方向。
具体的,第三设置单元,具体用于根据当前显示方向,获取保存的第三预设显示指令,将第三预设显示指令发送至显示屏,将显示屏的显示属性设置为第三显示属性,将当前显示方向设置为第三显示方向;
第四设置单元,具体用于根据当前显示方向,获取保存的第四预设显示指令,将第四预设显示指令发送至显示屏,将显示屏的显示属性设置为第四显示属性,将当前显示方向设置为第四显示方向。
本实施例中,第二显示模块308,还用于当第一判断模块306判断当前显示方向为第三显示方向时,或当第二判断模块307判断当前显示方向为第四显示方向时,将显示数据中当前显示数据之前的数据作为当前显示数据并进行显示;
第三显示模块309,还用于当第一判断模块306判断当前显示方向为第四显示方向,或当第二判断模块307判断当前显示方向为第三显示方向时,将显示数据中当前显示数据之后的数据作为当前显示数据并进行显示。
本实施例中,智能密钥装置还包括第三判断模块,用于判断显示数据中当前显示数据之前是否还有显示数据;
第二显示模块308,具体用于当第三判断模块判断为是时,将显示数据中当前显示数据之前的数据作为当前显示数据。
本实施例中,智能密钥装置还包括第四判断模块,用于判断显示数据中当前显示数据之后是否还有显示数据;
第二显示模块308,具体用于当第四判断模块判断为是时,将显示数据中当前显示数据之后的数据作为当前显示数据。
本实施例中,智能密钥装置还包括检测模块,检测模块包括第一检测单元、判断超时单元、提示单元和显示单元;
第一检测单元,用于检测按键状态,判断是否检测到按键触发;
判断超时单元,用于当第一检测单元未检测到按键触发时,判断检测按键触发是否超时;
提示单元,用于当判断超时单元判断检测按键触发超时时,提示超时信息;
显示单元,用于当判断超时单元判断检测按键触发未超时时,读取重力感应模块303中的信号数据,根据信号数据设置当前显示方向,根据当前显示方向显示当前显示数据。
进一步的,智能密钥装置,还包括:第一处理模块和第二处理模块;
第一处理模块,用于当接收模块301接收到报文解析指令时,获取报文解析指令中的报文,应用预设哈希算法对报文进行计算,将计算得到的哈希结果保存,并从报文解析指令中解析得到显示数据,将显示数据保存;
第二处理模块,用于当接收模块301接收到报文签名指令时,从保存的显示数据中获取当前显示数据,并读取重力感应模块303中的信号数据,根据信号数据设置当前显示方向,根据当前显示方向显示当前显示数据。
签名模块310,具体用于获取保存的哈希结果,应用预设签名算法对哈希结果进行签名,得到签名结果,根据签名结果生成成功响应;
发送模块311中向上位机返回失败响应,具体用于将保存的哈希结果删除,并向上位机返回失败响应。
本实施例中,智能密钥装置,还包括提示模块;
提示模块,用于当检测到确认键按下时,提示是否需要执行签名操作,并等待接收按键操作;
签名模块310,具体用于当检测到确认键再次按下时,执行签名操作;
发送模块311中向上位机返回失败响应,具体用于当检测到取消键按下时,删除显示数据,向上位机返回失败响应。
其中,发送模块311中向上位机返回失败响应,具体用于显示取消签名信息,向上位机返回失败响应。
需要说明的是,本发明中仅为一种重力感应智能密钥装置的实现方法,仅用于举例说明,在本发明的实施过程中,该智能密钥装置中的重力感应模块可以为任何形式,现有技术中只要能够实现重力感应功能的所有方式都在本发明的保护范围之内。
以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。