一种二维码解码库与配套摄像头绑定的方法及其系统的制作方法

文档序号:8226287阅读:743来源:国知局
一种二维码解码库与配套摄像头绑定的方法及其系统的制作方法
【技术领域】
[0001]本发明涉及计算机软件技术领域,尤其涉及一种二维码解码库与配套摄像头绑定的方法及其系统。
【背景技术】
[0002]在现代商业活动中,二维码的应用十分广泛,如产品防伪/溯源,广告推送,商品交易,信息传递等等。随着国内物联网产业的蓬勃发展,更多的二维码技术应用解决方案被开发。
[0003]目前的二维码解决方案提供方式主要包括:
[0004]A)提供单独的解码库,没提供配套的专用摄像头。这种方式的解码效果和速度都不能保证,不能满足特殊的工业应用场合。而且客户购买一次授权之后就无需再购买授权,拷贝解码库到各个产品上便可使用。这种方式适用于一些开源,免费的场合,比如手机之类的。
[0005]B)另外一种就是提供配套的专用摄像头。而且在摄像头上集成了专用的硬件芯片来和解码库做绑定,这种实现方式破解难度很高,很安全。但是硬件成本比较高。

【发明内容】

[0006]本发明要解决的技术问题之一,在于提供一种二维码解码库与配套摄像头绑定的方法,实现一种低成本的绑定方式,提高了系统安全性。
[0007]本发明的问题之一是这样实现的:一种二维码解码库与配套摄像头绑定的方法,该方法具体包括如下步骤:
[0008]步骤1、将摄像头通过Camera接口和I2C接口与一 CPU相连,所述Camera接口用于传输图像数据,I2C接口用来传输摄像头配置控制命令;
[0009]步骤2、CPU通过I2C接口传输摄像头配置控制命令,CPU通过Camera接口接收图像数据;
[0010]步骤3、对摄像头是否与二维解码库是配套的进行判断;不是,则结束流程,是,则对图像数据进行加密签名,并进入步骤4 ;
[0011]步骤4、对加密签名的图像数据进行校验;校验成功,则对图像数据进行解码,进入步骤5,不成功则返回步骤2 ;
[0012]步骤5、获取解码结果,把结果反馈给客户端应用程序,并继续获取下一张图像数据进行循环操作,直至解码完所有图像数据。
[0013]进一步地,所述二维解码库和厂商自制的摄像头进行绑定处理,且必须配套使用;客户若更换成自己的摄像头,则无法对图像数据进行正确的解码。
[0014]进一步地,所述对图像数据进行加密签名,具体为:对图像数据进行SHA256计算,生成一个256位的HASH值;对所述256位的HASH值做3DES加密;生成一个256位的密文数据;
[0015]所述3DES要进行加密的24字节密钥,按照如下规则生成:
[0016]预先设定一个固定的2048字节随机数据;
[0017]把图像数据的256位HASH值的前三个字节的值分别做为偏移,从固定的2048字节数据中拷贝连续的8个字节数据,组成一个24字节数据;
[0018]获取系统开机到加密签名的时间,所述时间为一个4字节的整数;
[0019]把4个字节的时间值放在所述24字节数据的后面,总共28字节数据做SHA256运算,生成一个256位HASH数据;
[0020]取所述256位HASH数据的中间24字节作为所述24字节密钥;
[0021]把所述4个字节的时间值,插入到所述256位的密文数据的中间,形成一 288位的数据。
[0022]进一步地,所述对摄像头是否与二维解码库是配套的进行判断,具体为:CPU通过I2C接口与摄像头进行交互,对摄像头内部的寄存器进行读写操作,通过读取摄像头的ID以及寄存器的一些默认值来判断摄像头是否合法;如果客户更换了摄像头,那么摄像头的ID以及寄存器的一些默认值就会和二维解码库中设定的预期值不同,这样摄像头就不是配套的摄像头;所述CPU是直接控制GP1管脚,产生I2C的时序来与摄像头进行交互。
[0023]进一步地,所述步骤4中对图像数据的签名进行校验,具体为:获取288位的数据,根据所述24字节密钥的生成规则,从288位的数据中把4字节的时间值提取出来,然后再根据生成规则生成一新密钥,并且执行3DES加密;判断生成的新密文是否和传递进来的256位的密文数据相同;如果相同就进行解码,否则就拒绝解码。
[0024]本发明要解决的技术问题之二,在于提供一种二维码解码库与配套摄像头绑定的系统,实现一种低成本的绑定方式,提高了系统安全性。
[0025]本发明的问题之二是这样实现的:一种二维码解码库与配套摄像头绑定的系统,所述系统包括连接模块、摄像头驱动模块、安全驱动模块、二维码解码模块以及接口反馈模块;
[0026]所述连接模块,用于将摄像头通过Camera接口和I2C接口与一 CPU相连,所述Camera接口用于传输图像数据,I2C接口用来传输摄像头配置控制命令;
[0027]所述摄像头驱动模块,为CPU通过I2C接口传输摄像头配置控制命令,CPU通过Camera接口接收图像数据;
[0028]所述安全驱动模块,用于对摄像头是否与二维解码库是配套的进行判断;不是,则结束流程,是,则对图像数据进行加密签名,并进行二维码解码模块;
[0029]所述二维码解码模块,用于对加密签名的图像数据进行校验;校验成功,则对图像数据进行解码,并进行接口反馈模块,不成功,则进行摄像头驱动模块;
[0030]所述接口反馈模块,获取解码结果,把结果反馈给客户端应用程序,并继续获取下一张图像数据进行循环操作,直至解码完所有图像数据。
[0031 ] 进一步地,所述二维解码库和厂商自制的摄像头进行绑定处理,且必须配套使用;客户若更换成自己的摄像头,则无法对图像数据进行正确的解码。
[0032]进一步地,所述对图像数据进行加密签名,具体为:对图像数据进行SHA256计算,生成一个256位的HASH值;对所述256位的HASH值做3DES加密;生成一个256位的密文数据;
[0033]所述3DES要进行加密的24字节密钥,按照如下规则生成:
[0034]预先设定一个固定的2048字节随机数据;
[0035]把图像数据的256位HASH值的前三个字节的值分别做为偏移,从固定的2048字节数据中拷贝连续的8个字节数据,组成一个24字节数据;
[0036]获取系统开机到加密签名的时间,所述时间为一个4字节的整数;
[0037]把4个字节的时间值放在所述24字节数据的后面,总共28字节数据做SHA256运算,生成一个256位HASH数据;
[0038]取所述256位HASH数据的中间24字节作为所述24字节密钥;
[0039]把所述4个字节的时间值,插入到所述256位的密文数据的中间,形成一 288位的数据。
[0040]进一步地,所述对摄像头是否与二维解码库是配套的进行判断,具体为:CPU通过I2C接口与摄像头进行交互,对摄像头内部的寄存器进行读写操作,通过读取摄像头的ID以及寄存器的一些默认值来判断摄像头是否合法;如果客户更换了摄像头,那么摄像头的ID以及寄存器的一些默认值就会和二维解码库中设定的预期值不同,这样摄像头不是配套的摄像头;所述CPU是直接控制GP1管脚,产生I2C的时序来与摄像头进行交互。
[0041]进一步地,所述对图像数据的签名进行校验,具体为:获取288位的数据,根据所述24字节密钥的生成规则,从288位的数据中把4字节的时间值提取出来,然后再根据生成规则生成一新密钥,并且执行3DES加密;判断生成的新密文是否和传递进来的256位的密文数据相同;如果相同就进行解码,否则就拒绝解码。
[0042]本发明具有如下优点:本发明解决厂商的二维码解码库与厂商配套自制的摄像头绑定的问题,也就是客户必须要把厂商提供的二维码解码库和摄像头配套使用才能正确解码;防止客户脱离配套的摄像头单独使用解码库,提高了系统的安全性。
【附图说明】
[0043]图1为本发明方法流程示意图。
[0044]图2为本发明的系统结构示意图。
【具体实施方式】
[0045]请参阅图1所示,本发明的一种二维码解码库与配套摄像头绑定的方法,该方法具体包括如下步骤:
[0046]步骤1、将摄像头通过Camera接口和I2C接口与一 CPU相连,所述Camera接口用于传输图像数据,I2C接口用来传输摄像头配置控制命令;
[0047]步骤2、CPU通过12C接口传输摄像头配置控制命令,来配置摄像头并启动摄像头,CPU通过Camera接口接收图像数据;<
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1