- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种新型加密彩码技术的设计
[摘 要]三维彩码,是为解决目前二维码应用瓶颈而发展起来的一种新型条码技术,其市场适用性非常广泛。本文结合彩码与数据库,构建了一套具有防伪功能的学生信息录入与查询彩码系统。该系统由学生信息录入模块、包含加密信息的三维彩码生成模块和彩码识别模块构成。系统运行测试表明:系统稳定、快速、可靠,并能有效地防止了三维彩码的伪造与篡改。
[关键词]彩码 防伪 数字加密 数据库
中图分类号:TP309 文献标识码:A 文章编号:1009-914X(2014)35-0219-01
1. 概述
彩码是利用黑、红、蓝、绿四个色块,构成的一个6×6的彩色矩阵块,通过对色块赋值编码而形成所谓彩码“指针”。因此彩码技术不同于传统条码技术 ,它并非将所有信息加密后编入条码中,它只需存储一些类似于“指针”的信息,比如服务器地址、数据库等等。在使用过程中,用户首先从彩码中获取 “指针”,然后用这个“指针”链接服务器、数据库来获取相关数据。彩码应用工作流程一般分为三步:
第一步:用户可使用智能手机 、个人电脑、智能终端等拍摄彩码;
第二步:利用设备上安装的彩码识别软件识别彩码所包含的信息,然后根据解码所获得的信息再次链接内容服务器并向其发送查询请求。
第三步:内容服务器将查询结果返回用户设备,并且显示在屏幕上。查询结果可以是图片或者文本信息,也可以是网址链接或多媒体内容甚至是一些下载功能的入口。
因此,彩码适用性强,可满足不同的应用领域。
然而,如同二维码一样,普通彩码易仿制,因而使其应用受到限制。本文构建一具有加密功能的彩码应用系统,可以很好地克服上述不足。
2.彩码生成模块与数字加密的实现
2.1 彩码生成模块的设计
利用JAVA中J2EE技术设计了彩码生成模块。其工作运行流程如下:
①首先登陆彩码生成页面,录入学生信息,如国别、学校、姓名、学号。
②输入完毕后,利用AJAX技术,将信息传递给后台数据库。
彩码生成步骤:
仿用EAN-13码的编码规则,对获取的信息赋予十进制值。本系统采用6×6彩码,因此彩码的信息容量可达436(4.7×1021),即22位,故本设计取20位数字作为信息的容量,赋值的方法为:类别2位,国别3位,学校7位,学生8位。对输入的信息进行处理,最终得到BigInteger的十进制值数字。同时,仿用EAN-13码验证码规则,计算此20位数字的验证数字,方法如下:
EAN-13码示例:690123456789。
校验符计算过程:
奇数位和:6 + 0 + 2 + 4 + 6 + 8 = 26;
偶数位和:9 + 1 + 3 + 5 + 7 + 9 = 34;
奇数位和与偶数位和的三倍相加:26 + 34 * 3 = 128;
取结果的个位数:8;
用10减去此数:10 - 8 = 2;
获得校验码为2(注:若取结果的个位数为0,则校验码不为10 (10 - 0 = 10),是0)。
最后,包含13位条形码的彩码编码为:6901234567892。
2.2 数字加密算法的实现
为确保彩码不会因人为篡改而简单获得,故需采用下列对彩码数字进行加密。
本彩码示例:21690372712837271286。
校验符计算过程:
基数位和:2 + 6 + 0 + 7 + 7 + 2 + 3 + 2 + 1 + 8 = 38;
偶数位和:1 + 9 + 3 + 2 + 1 + 8 + 7 + 7 + 2 + 6 = 46;
奇数位和与偶数位和的三倍相加:38 + 46 * 3 = 176;
取结果的个位与十位数:76;
100减去此两位数:100-76 = 24;
校验码为24(注:若取结果的个位与十位数字相减后含数字0,则取0为最终值)。
最终获得带有校验码的22位数值为:2169037271283727128624。
本系统通过对22位数字,进行单数增1双数减1等简单加密过程,当需要获取彩码信息时,需反编译一次,获取原始的数据。
在对彩码加密后,进行彩码生成。由于彩码图块可能含有红、绿、蓝、黑四色,故将22位十进制数字转化为36个四进制数字的编码,如图1所示。
3.彩码识别模块的实现
利用Java中图像识别插件,颜色图块的获取,采用图像定位切割的方法进行色块获取,根据彩码的特点,准确定位到图片的实际大小,再通过切割取点的方法,准确获取每个图块的颜色信息情况。
获取36个图块的颜色后需进行四进制转化,十进制转化及解密过程,并对最后两位的校验符进行校验,通过后即可查询数
文档评论(0)