关闭

FileLock设计文档

标签: 加密解密
111人阅读 评论(0) 收藏 举报
分类:

FileLock Design Doc

1. 设计说明

1.1 软件功能描述

1.1.1 两个主要功能
  1. 加密 : 选择文件对文件进行加密保存到指定位置 , 并删除原文件
  2. 解密: 对加密的文件进行解密并还原到文件原位置 , 并删除密文

以下所说的加密和解密均为该两个过程的简写

1.1.2 软件界面
  • Folder Reader 界面 : 从SDCard开始浏览文件 , 一个简单的文件浏览器 , 长按条目可进行加密过程
  • Box Folder 界面 : 浏览已经被加锁的文件 , 点击列表项选择需要解密的文件 , 选择进行解密文件
1.1.3 过程
  1. 打开浏览文件 : 点开APP进入Folder Reader界面 , 点击文件夹可浏览文件
  2. 选择加密 : 长按列表中某文件 , 弹出是否加密文件对话框 , 选择确定 , 则进入保险箱Box Folder界面进行加密 . 加密完成后 , 显示以加密的文件
  3. 进入保险箱 : 在Folder Reader连续点击三次右上角保险箱图片则也可进入保险箱界面
  4. 选择解密 : 在Box Folder界面 , 点击选择解密的列表项 , 弹出是否解密文件对话框 , 同意则开始解密 , 解密完成后仍在Box Folder界面

1.2 运行环境

1.2.1 软件运行环境
分类 名称 版本 语种
操作系统 Android 2.3及以上版本 中文
1.2.2 软件开发环境
分类 名称 版本 语种
操作系统 Windows 10 中文
开发软件 Android Studio 2.1 英文
其他环境 JDK 1.8
版本控制 Git

1.3 设计思想

1.3.1 软件功能结构图

软件结构

1.4 关键技术

1.4.1 加密算法的选择

对已知的加密方式进行对比 , 选择DES加密 , 该加密的优点

  1. Java本身有很好的加密支持
  2. 对大文件的加密 , 加密速度快
1.4.2 进入保险箱界面的方式

由于滑动进入在ListView下的子父组件之间的冲突 , 选择点击三次保险箱图标来进入保险箱

1.4.3 对以加密的文件进行包装的JavaBean
public class FileLock {
    private String _id;
    // 文件名
    private String filename;
    // 文件原路径
    private String filepath;
    // 加密后文件路径
    private String lockpath;

    get and set ...
}
  1. 根据数据库中的filename来显示以加密的文件列表
  2. 根据filepath和lockpath来解密文件并还原位置

2. 模块设计说明

2.1 项目包结构

  • com.sheep3.activity : Activity类
  • com.sheep3.bean : JavaBean包装类
  • com.sheep3.dao : SQLite数据库操作类
  • com.sheep3.util : 文件处理异步任务类以及文件大小获取的工具类

2.2 分层模块

2.2.1 表现层

MainActivity

方法 功能
onCreate 初始化界面 , 并添加各组件的监听器
inflateListView 通过传入的File数组 , 刷新文件列表
onResume 刷新界面
属性 说明
currentParent 当前文件列表的父文件
currentFiles 当前文件列表
checkedFile 选中的文件
COUNT_TO_BOX 记录点击保险箱图片的次数
各组件

BoxActivity

方法 功能
onCreate 初始化界面并添加各组件监听器
inflateListView 刷新列表
属性 说明
currentFiles 已加密的文件列表
checkedFile 选中的加密文件
2.2.2 子线程逻辑层

class DesUtil extends AsyncTask\

2.2.3 SQLite数据库持久层

FileDbDao

这里写图片描述

方法 功能
saveFileLock 保存一个FileLock
getAll 获取所有的FileLock
getFileLockByName 根据filename字段的值找FileLock
delectFileLock 根据filename字段的值删除FileLock
属性 说明
fileDbOpenHelper 自己的SQLiteOpenHelper接口实现
db SQLiteDatabase实例
2.2.4 模型–JavaBean

FileLock

这里写图片描述

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4861次
    • 积分:317
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条