1、福州大学阳光学院本科毕业论文、毕业设计题 目: 票据二维码中信息获取处理与分析系统系 别: 计算机工程系专 业: 网络工程专业年 级: 学 号: 姓 名: 指导教师: 年 月 日I票据二维码中信息获取处理与分析系统摘要二维码是一种特定的几何图形,它按照某种规律在平面(二维方向)将数据和信息填充在一个黑白相间的正方形中。二维码编码中是通过计算机的特有的“0” 、 “1”比特流的概念,使用对应的二进制来表示数据和信息,可以通过手机的摄像头或者其他的图像扫描设备对其进行读取识别来实现信息获取处理。二维码可以在水平和垂直两个方向的一起表达信息,所以它可以表达大量的数据和信息在一个非常小的区域中。二维码
2、广泛应用于我们生活的各个领域。本文主要研究的是如何通过扫描动车票中的二维码来获取信息的技术,主要介绍了二维码的生成和二维码的读取识别以及实现方法,主要阐述了二维码软件研究的背景以及研究该系统软件的意义,并实现系统的测试。本课题利用 Eclipse 工具软件,基于 Android 平台对系统进行开发。本系统主要根据 Google code 上面提供的一个关于条码编解码的 ZXing 开源项目,设计并完成了票据二维码中信息获取处理与分析系统。主要功能有:二维码的信息生成,二维码的信息读取识别,二维码信息的生成分享,二维码的信息 RSA 加解密,二维码信息 AES 加解密,二维码信息 MD5 加密,
3、二维码 WIFI 网络的生成与连接,模拟火车票的二维码生成,二维码名片的生成与分享等。本课题是对票据二维码中的信息获取处理与分析系统的设计。第一章介绍本课题的意义及目的和二维码的发展背景以及本课题主要研究的内容和方法;第二章介绍本课题软件系统的开发环境和技术理论;第三章介绍本软件系统设计概要;第四章介绍本软件系统的设计以及实现;第五章介绍软件系统的测试。关键词:票据二维码 信息获取 RSA加解密 AES加解密 二维码WIFIII目 录1 绪论 .11.1 课题的意义及目的 .11.2 二维码发展背景 .11.3 本课题主要研究内容及研究方法 .22 软件开发环境与技术理论 .32.1 软件开发
4、工具配置 .32.2 软件运行环境 .32.3 开发环境 .32.4 Android 的系统架构 .42.5 Java 编程语言 .43 软件系统设计概要 .53.1 软件开发目标 .53.2 软件设计原则 .54 软件设计与实现 .64.1 软件的界面设计 .64.2 软件的系统结构 .64.3 软件所运用 RSA 算法、AES 算法、MD5 算法 .84.4 软件模块设计 .135 软件系统测试 .165.1 二维码图片扫描模块测试 .165.2 二维码图片生成模块测试 .175.3 其他模块测试 .19结论 .25参考文献 .26致谢 .27票据二维码中信息获取处理与分析系统11 绪论1
5、.1 课题的意义及目的二维码技术具有信息容量大、安全强度高、抗损能力强、制作简单、成本低等优点,并且可以直接用手机进行拍照后识读 1。因为 Android 系统是免费的,越来越多的手机生产商选择了 Android 系统。由于安卓手机的流行,二维码也随着 Android 手机慢慢的流行起来。我们通过二维码扫描软件只需轻轻一扫,便可以实现添加好友、下载软件、登入帐号上网等等。但是一些不法分子利用手机病毒对二维码“下毒” ,通过扫描二维码下载恶意软件使手机中毒,这让二维码当上了“替罪羊” 。票据二维码信息泄露和篡改所带来的负面影响也正在不断扩大,票据泄露攻击也成为网络的一个有害威胁。在这其中,票据信
6、息泄露包括动车票据的火车票号、发车时间及身份证号码等常规信息,以及凡是有二维码构造的票据形式等都是黑客的主要攻击行为方式。用户真实信息一旦被泄露恢复或复制篡改,不仅影响个人隐私保护问题,而直接影响票务机构的正常运营和普通用户的信誉。而且对于票据泄露事件的真伪,以及管理票据的企业部门的处理方式,被泄露和篡改后所带来的社会、政治上的消极影响不可估量。因此,研究一种专门用来防止票据信息泄露或复制取证和恢复技术的逆向防御软件系统是有极有意义的。更重要的是提高对各种票据二维码信息泄露和篡改的分析与鉴别能力,能更好掌握真实辨别票据二维码信息泄露和篡改的实际技术,为有关安全部门提供分析依据。1.2 二维码发
7、展背景国外二维码已经是一门发展的相当成熟的技术,在国外二维码技术最早在二十世纪80 年代末开始。国外在对二维码技术研究探索方面,已经开发出了很多种的码制,当中最常见的码制有 PDF417,QRcode,code49,CODE16K,codeone 等,现在这些二维码编码标准已经在全世界范围内进行普及应用。QRcode 码又称快速响应矩阵码,是由日本于 1994 研制出来的一种二维码,它的主要优点是能够对中国的汉字和图像图片等多种信息进行表达,还具有信息处理速度快,可靠性高和防伪性高等优点。中国的二维码产业起步较晚,我国对二维码的研究是从 20 世纪 90 年代初,最初是由中国物品编码中心对几种
8、常用的二维码 PDF417、QR Code、Data Matrix、Code one、Code 16K、Code 49 的技术规范进行翻译和跟踪研究 2。随着国内人员对二维码技福州大学阳光学院本科生毕业设计(论文)2术进行不断的创新,我国对二维码自主技术开始出现,并且得到了国家的支持。现在关于二维码技术的应用已经在我们生活中的各个方面体现出来了。1.3 本课题主要研究内容及研究方法1.3.1 研究内容概要本课题研究的是如何通过扫描动车票中的二维码来获取信息的技术。系统基于实际票据二维码信息泄露环境下的篡改和取证恢复过程实现。面向专用的票据二维码信息泄露类型和手机或计算机取证恢复仿真环境。并使用
9、 Android 系统或 C/C+语言实现一个包含票据二维码信息泄露和取证恢复的仿真系统(或采用其他熟悉的流行高级软件开发工具) 。系统应突出如何辨别票据二维码信息泄露和取证类型。即从各种技术分辨票据二维码信息泄露,以及能识别篡改技术的取证恢复手段。其次从具体事例分析票据二维码信息泄露和取证恢复技术的实际应用,设计一个有效的发现和分析软件技术来实现。1.3.2 研究方法和步骤(1)研究步骤:1)软件的分析二维码是什么,生成方式,以及二维码的种类。二维码的加密,加密可用的算法有哪些。二维码的解密,以及如何解密。可行性分析,对可能用到的技术进行学习、总结。2)软件的设计软件结构的设计,信息生成二维
10、码的设计,二维码扫描处理信息的设计,二维码信息存储的设计以及对二维码其他功能的设计。3)软件开发与维护通过前期做的大量准备,开发环境的安装、部署、配置,着手软件开发工作。开发完成后,对软件进行测试及完善。(2)方法与措施:通过互联网和图书馆以及任何可用渠道得到的查找所需的资源。采取文献研究的方法,阅读基于 Android 技术的二维码的相关知识的书籍、期刊和论文等。并从文献当中梳理、归纳和查找材料相关研究成果的技术方法,并自主学习基于 Android 平台下的票据二维码中的信息获取与分析系统的所需要的技术和 Java 编程语言。学习研究整个软件系统的构建,学习软件系统开发环境,完成编码实现和软
11、件系统测试。实现界面友好,满足时下主流手机的运行需要。票据二维码中信息获取处理与分析系统32 软件开发环境与技术理论2.1 软件开发工具配置本课题采用的开发工具配置如下:(1)操作系统 :Windows 7 ,Android。(2)硬件配置:1)计算机:笔记本电脑。2)Android手机:android版本为4.0.4。(3)系统采用eclipse工具软件进行开发,其中JDK为jdk1.7.0_07。2.2 软件运行环境(1)android 模拟器运行环境本软件运行在 android 模拟器的运行环境如下:1)操作系统:Window xp 或以上版本。2)SDK 版本:android 版本 3
12、.0(API 11)或以上版本。(2)android 手机运行环境本软件运行在 android 手机上的运行环境如下:1)操作系统:android 版本 3.0 或以上版本。2.3 开发环境2.3.1 Eclipse 开发环境Eclipse是很好的一个集成开发环境它具有可扩展且开源的优点,是以一切皆为插件作为它的设计思想,因为Eclipse的核心是非常小,所以所有的功能都是以插件的形式附加到Eclipse的核心上进行功能的实现。由于它是免费的以及它的种种优点成为了现在Java开发平台中的主流。2.3.2 Android开发工具包Android SDK(software development
13、kit)软件开发工具包,是软件开发工程师开发的特定的软件包,软件体系结构,硬件平台,操作系统和应用软件的开发工具集。本福州大学阳光学院本科生毕业设计(论文)4课题通过 Android 开发工具包对软件进行开发设计。本课题主要运用 Android SDK 与Eclipse 开发环境进行软件的开发设计。2.4 Android 的系统架构Android 是谷歌公司在 Linux 操作系统下开发的一款新的操作系统,因为 Android 系统是开源的,即 Android 系统是免费的,所以现在一些手机和平板电脑中都使用 Android系统作为操作系统。本课题研究内容的是基于 Android 平台开发的。
14、谷歌公司的 Android平台架构图,如图 2-1 所示。图 2-1 Android 平台架构图2.5 Java 编程语言Java 是一种面向对象的程序设计语言,是由 Sun 公司于 1995 年推出,Java 因为可以实现跨平台应用软件的开发自推出后就被广泛运用到各个平台,Java 具有语言简单、面向对象、跨平台、多线程、可移植性、动态、安全且与系统无关等优点,所以发展速度相当快。本软件正是利用 Java 编程语言在 Android 系统平台上进行设计,采用 Xml 作为界面布局语言。Java 作为编程语言,设计了基于 Android 平台的票据二维码获取与分析系统。票据二维码中信息获取处理
15、与分析系统53 软件系统设计概要3.1 软件开发目标通过本软件的实现,能够对票据二维码中的信息进行获取与分析,还可将信息进行二维码生成,主要包括普通生成,RSA 加密生成,AES 加密生成,MD5 加密生成等主要功能。本软件还能对经过本软件加密后生成的二维码进行解密,包括 RSA 解密以及 AES 解密。因为 MD5 算法是不可逆的,所以目前还不能实现很好的对 MD5 的解密。软件使用者可以通过对软件中按钮的点击以及一些表单的选择等实现 Android 手机中软件的界面交互与功能使用,该软件将实现至少以下功能:(1)票据二维码的读取识别。(2)输入信息生成二维码图片。(3)对输入信息进行加密生
16、成二维码图片。(4)对本软件中加密生成的二维码进行解密。3.2 软件设计原则(1)界面友好原则,软件系统界面是软件与使用者信息交互的平台。软件界面质量的好与坏往往会影响使用者的心情以及软件的使用率。二维码软件使用时下流行的Fragment 来设计界面,界面美观,操作性强。(2)可修改性原则,软件系统开发中要求以科学的方法对软件进行设计,使软件有良好的结构和完善的功能,要求软件系统功能实现简单。二维码软件是通过 xml 文件和Activity 文件一一对应的方式来实现界面的交互,修改起来很方便。(3)效率性原则,使用者在使用软件的过程中,需要保证软件系统反应的及时性。如扫描一张二维码图片时,软件
17、系统反应时间需要保证在用户的接受范围之内,不能让用户过久的等待。(4)可测试性原则,软件系统开发完成后,使用者可以输入一些数据对软件的功能进行测试,排除软件自身的异常错误,保证软件系统得到全面的检验。二维码软件开发过程中采取了 trycatch来捕获异常,这样在软件的测试过程中能够很好的查找到出现了哪些异常,并且进行修改。福州大学阳光学院本科生毕业设计(论文)6(5)可靠性原则,软件系统开发完成后,使用者再使用过程中会产生一些信息数据存储在手机中。随着数据增长,在数据提取时,必须确保提取的数据是可靠的,这样才可以正确的表达用户的用意。4 软件设计与实现4.1 软件的界面设计Android 在
18、3.0 版本之后引入了 Fragment 的概念,其主要目的是支持更加动态和灵活的 UI 设计在大屏手机和平板电脑中。一个 Activity 中可以包含多个 Fragment。一个 Activity 通过调用多个 Fragment 来创建一个多界面区域的用户界面。多个 Activity 也可通过重复调用某个 Fragment 来实现某功能,所以 Fragment 就相当于功能的模块化。Fragment 有属于它自己的生命周期,可以像 Activity 一样监听属于它的输入事件并且进行响应,同时可以在 Activity 运行期间进行更改。作为一款软件,界面的美观往往影响到用户使用软件进行良好的体验。由于时下主流的手机都趋于大屏化,所以本软件运用了 Android 3.0 中引入的 Fragment 的概念。通过将各个 Activity 的布局分散到各个 Fragment 中,能够很好的实现界面的切换这样使界面变得跟美观,更加人性化。4.2 软件的系统结构本软件要求在 Android 系统中运行,用户通过操作 Android 系统调用二维码软件,二维码软件的计算结果返回到 Android 系统,Android 系统再将软件处理的信息呈现给用户。软件总体操作图如图 4-1 所示。