android的文件加密系统设计与实现
摘 要随着信息技术的发展,智能手机也越发普及并且功能也日益完善,因此人们慢慢的开始依赖手机。人们对手机的应用已经涉及到生活中的方方面面,其中必然牵连到许多隐私信息。因此,为了保证数据用户信息的安全性和保密性,针对安卓的文件加密系统显得十分重要。该系统可以有效地保护用户信息不被窃取和篡改,大大增加用户数据的保密性和可靠性。该论文首先分析了目前智能手机的信息安全问题,然后进一步介绍了常用的几种加密算法和安卓平台,紧接着讲述了安卓系统的系统设计及其几大模块,最后实现了一个基于Android的文件加密系统的设计。
目 录
第一章 绪论 1
1.1研究背景 1
1.2 研究意义 1
1.3 研究内容 1
第二章 开发技术介绍 3
2.1 android平台介绍 3
2.2 加密算法介绍 4
2.3 Java 语言介绍 4
第三章 需求分析与设计 6
3.1 项目需求分析 6
3.2系统功能分析 6
3.3 系统总体设计 6
3.3.1 文件读写模块 6
3.3.2 文件选择和删除 7
3.3.3 文件加密和解密 7
3.3.4 软件整体功能流程图 7
第四章 系统实现与测试 8
4.1 系统功能实现 8
4.1.1 文件选择功能实现 8
4.1.2 文件删除功能实现 8
4.1.3 文件加密功能实现 8
4.1.4 文件解密功能实现 10
4.2 系统测试 11
结束语 13
致 谢 14
参考文献 15
第一章 绪论
1.1研究背景
在现代生活中,手机已经逐渐成为人们的主要通信交流工具,给人们的日常生活和事实联系带来了便利。移动通讯技术在不断发展中,手机也由最开始的移动通话功能,渐渐地发展为多功能的掌上电脑—智能手机。尤其是在2G、3G、4G网络的普及,越来越多的智能手机集合了多种功能。例如:无线上网,导航,视频通话,观看视频电视等。因此可以毫
*好棒文|www.hbsrm.com +Q: @351916072@
不隐晦地说,智能手机已经成为新一代微型的掌上电脑,能够更加有效地为人们的生活提供便利。
然而随着智能手机的不断普及与发展,智能手机的弊端——信息安全问题,也日益明显。智能手机具有很高的开放性,与互联网的联系更为密切,因此其安全问题也更为严重。人们已经习惯地将私密信息保存在手机上,用户很容易在不知情的状况下泄露个人信息,比如使用陌生的无线网,因此造成的损失后悔莫及。所以,如何保证人们能够安全地使用智能手机,保护手机信息不被窃取,已经成为当下人们应该及时解决的一个问题。
1.2 研究意义
该文件加密系统,用户将其安装在手机上,可以一定程度上加强文件的安全性。用户通过该加密系统,可以对文件进行加密保存,这样就算手机信息被不法分子获取,他们没有解密秘钥也无法获得正确的信息。在手机智能化的发展过程中,文件加密系统是不可或缺的。对用户来说,他们可以放心地随时随地使用手机上网,不用担心信息外漏;对不法分子来说,该系统的出现,他们将望而却步,无法获取正确信息而放弃。
本次系统设计目的在于设计一款加密软件,通过该加密软件,用户存放在手机中的信息,通过加密,可以得到很大的安全性的保障。软件简单操作十分方便,用户选择好加密方式确认密码,就可以完成对目标文件的加密,从而确保自己的手机的信息安全。
1.3 研究内容
考虑到安卓开发的特殊性,我研究的文件加密系统需要在安卓环境中调试运行出来,需要配置相关的环境变量来配合开发。因为适用于手机,所以系统的外观需要具有一定的艺术性。不同的手机,安卓的版本号可能不同,为了维持该系统的稳定性,需要手机环境进行测试。综合分析,我研究的文件加密系统可以分为三大模块:文件编辑模块,文件加密模块和文件解密模块。
(1)文件编辑模块是用户可以自己编辑文件信息,包括增加和删除操作。用户可以加私密信息放入文件中,通过该系统进行保密工作。具有一定地灵活性和实用性。
(2)加密模块中,用户可以在三种加密方法(DES,DESede和AES)中挑选任一种方法,在输入密钥一栏中输入密钥,用户需要自己记住密码。然后定义输出的文件名,最后点击“文件加密”。从而完成文件加密这一步骤。
(3)解密模块,与加密模块相对应。用户需要选择与加密模块同样的解密算法,输入与加密模块相对应的解密密钥。然后定义输出的文件名,最后点击“文件解密”。从而完成解密这一步骤。
第二章 开发技术介绍
2.1 android平台介绍
如果要给Android平台分层的话,可以分为五个部分,包括应用程序、应用程序框架、Android运行时、库函数和Linux内核,可参考图21。
图21 Android结构图
下面分别来讲解各个部分。
1. 应用程序
应用程序层位于Android体系的第一层,从用户的角度出发,Android展现给用户的第一视角都是应用程序。Android免费提供一些基本的应用程序,这些应用程序大部分都是用Java语言开发编写的的。你也可以用Android提供的相关API来写自己需要的应用程序。
2. 应用程序框架
位于应用程序之下的就是应用程序框架,这一层提供高级的建构组件,即可以提供特定类型软件的一组类集合来创建Android应用程序。换句话说,应用程序框架代表Android操作系统已经实现众多的java类,我们只需要调用适当对象的方法,或者继承指定类来扩展其功能,就可以快速创建Android应用程序。
3. Android程序库
应用程序框架是应用程序开发的支撑,而为应用程序框架提供支持的就是Android提供的函数库。在这一层里面,Android提供大量的函数库,包括SSL、Libc、SQlite、WebKit、媒体函数库等。这些函数库都实现一些比较底层的支持,为应用程序框架的实现,提供了良好的基础。
4. Android运行环境
Android中的应用程序都是使用java来进行开发的,但是执行程序时并没有使用java组件,而是利用其自有运行环境。
Android运行环境包括核心库和Dalvik虚拟机。核心库中主要包括Java中的一些核心函数和Android自有的核心函数。Dalvik虚拟机是一种特殊的Java虚拟机。每一个Android应用程序的执行都是交给自有的Dalvik虚拟机。与Java虚拟机的区别之处是Dalvik虚拟机是基于寄存器的,但是Java虚拟机是基于栈的。Dalvik虚拟机不直接执行Java 文件,而是利用工具将Java字节码转换成dex格式。
5. Linux内核
Android操作系统构架在Linux操作系统之上,Linux核心在Android系统架构中扮演硬件与其他软件堆栈之间的抽象层,使用的是Linux核心版本是2.6版。
目 录
第一章 绪论 1
1.1研究背景 1
1.2 研究意义 1
1.3 研究内容 1
第二章 开发技术介绍 3
2.1 android平台介绍 3
2.2 加密算法介绍 4
2.3 Java 语言介绍 4
第三章 需求分析与设计 6
3.1 项目需求分析 6
3.2系统功能分析 6
3.3 系统总体设计 6
3.3.1 文件读写模块 6
3.3.2 文件选择和删除 7
3.3.3 文件加密和解密 7
3.3.4 软件整体功能流程图 7
第四章 系统实现与测试 8
4.1 系统功能实现 8
4.1.1 文件选择功能实现 8
4.1.2 文件删除功能实现 8
4.1.3 文件加密功能实现 8
4.1.4 文件解密功能实现 10
4.2 系统测试 11
结束语 13
致 谢 14
参考文献 15
第一章 绪论
1.1研究背景
在现代生活中,手机已经逐渐成为人们的主要通信交流工具,给人们的日常生活和事实联系带来了便利。移动通讯技术在不断发展中,手机也由最开始的移动通话功能,渐渐地发展为多功能的掌上电脑—智能手机。尤其是在2G、3G、4G网络的普及,越来越多的智能手机集合了多种功能。例如:无线上网,导航,视频通话,观看视频电视等。因此可以毫
*好棒文|www.hbsrm.com +Q: @351916072@
不隐晦地说,智能手机已经成为新一代微型的掌上电脑,能够更加有效地为人们的生活提供便利。
然而随着智能手机的不断普及与发展,智能手机的弊端——信息安全问题,也日益明显。智能手机具有很高的开放性,与互联网的联系更为密切,因此其安全问题也更为严重。人们已经习惯地将私密信息保存在手机上,用户很容易在不知情的状况下泄露个人信息,比如使用陌生的无线网,因此造成的损失后悔莫及。所以,如何保证人们能够安全地使用智能手机,保护手机信息不被窃取,已经成为当下人们应该及时解决的一个问题。
1.2 研究意义
该文件加密系统,用户将其安装在手机上,可以一定程度上加强文件的安全性。用户通过该加密系统,可以对文件进行加密保存,这样就算手机信息被不法分子获取,他们没有解密秘钥也无法获得正确的信息。在手机智能化的发展过程中,文件加密系统是不可或缺的。对用户来说,他们可以放心地随时随地使用手机上网,不用担心信息外漏;对不法分子来说,该系统的出现,他们将望而却步,无法获取正确信息而放弃。
本次系统设计目的在于设计一款加密软件,通过该加密软件,用户存放在手机中的信息,通过加密,可以得到很大的安全性的保障。软件简单操作十分方便,用户选择好加密方式确认密码,就可以完成对目标文件的加密,从而确保自己的手机的信息安全。
1.3 研究内容
考虑到安卓开发的特殊性,我研究的文件加密系统需要在安卓环境中调试运行出来,需要配置相关的环境变量来配合开发。因为适用于手机,所以系统的外观需要具有一定的艺术性。不同的手机,安卓的版本号可能不同,为了维持该系统的稳定性,需要手机环境进行测试。综合分析,我研究的文件加密系统可以分为三大模块:文件编辑模块,文件加密模块和文件解密模块。
(1)文件编辑模块是用户可以自己编辑文件信息,包括增加和删除操作。用户可以加私密信息放入文件中,通过该系统进行保密工作。具有一定地灵活性和实用性。
(2)加密模块中,用户可以在三种加密方法(DES,DESede和AES)中挑选任一种方法,在输入密钥一栏中输入密钥,用户需要自己记住密码。然后定义输出的文件名,最后点击“文件加密”。从而完成文件加密这一步骤。
(3)解密模块,与加密模块相对应。用户需要选择与加密模块同样的解密算法,输入与加密模块相对应的解密密钥。然后定义输出的文件名,最后点击“文件解密”。从而完成解密这一步骤。
第二章 开发技术介绍
2.1 android平台介绍
如果要给Android平台分层的话,可以分为五个部分,包括应用程序、应用程序框架、Android运行时、库函数和Linux内核,可参考图21。
图21 Android结构图
下面分别来讲解各个部分。
1. 应用程序
应用程序层位于Android体系的第一层,从用户的角度出发,Android展现给用户的第一视角都是应用程序。Android免费提供一些基本的应用程序,这些应用程序大部分都是用Java语言开发编写的的。你也可以用Android提供的相关API来写自己需要的应用程序。
2. 应用程序框架
位于应用程序之下的就是应用程序框架,这一层提供高级的建构组件,即可以提供特定类型软件的一组类集合来创建Android应用程序。换句话说,应用程序框架代表Android操作系统已经实现众多的java类,我们只需要调用适当对象的方法,或者继承指定类来扩展其功能,就可以快速创建Android应用程序。
3. Android程序库
应用程序框架是应用程序开发的支撑,而为应用程序框架提供支持的就是Android提供的函数库。在这一层里面,Android提供大量的函数库,包括SSL、Libc、SQlite、WebKit、媒体函数库等。这些函数库都实现一些比较底层的支持,为应用程序框架的实现,提供了良好的基础。
4. Android运行环境
Android中的应用程序都是使用java来进行开发的,但是执行程序时并没有使用java组件,而是利用其自有运行环境。
Android运行环境包括核心库和Dalvik虚拟机。核心库中主要包括Java中的一些核心函数和Android自有的核心函数。Dalvik虚拟机是一种特殊的Java虚拟机。每一个Android应用程序的执行都是交给自有的Dalvik虚拟机。与Java虚拟机的区别之处是Dalvik虚拟机是基于寄存器的,但是Java虚拟机是基于栈的。Dalvik虚拟机不直接执行Java 文件,而是利用工具将Java字节码转换成dex格式。
5. Linux内核
Android操作系统构架在Linux操作系统之上,Linux核心在Android系统架构中扮演硬件与其他软件堆栈之间的抽象层,使用的是Linux核心版本是2.6版。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/1337.html