1、 摘摘 要要 随着计算机的应用和网络技术的不断发展,网络间的通讯量不断的加 大,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的 保护,文件加密技术也就随之产生。文件的加密主要是由加密算法实现, 加密算法有多种,常见的有 RSA、DES、MD5 等。本程序设计对文件的加 密使用的是 DES 加密算法。 DES 是分块加密的。DES 用软件进行解码需要用很长时间,而用硬件解 码速度非常快,1977 年,人们估计要耗资两千万美元才能建成一个专门计 算机用于 DES 的解密,而且需要 12 个小时的破解才能得到结果。所以,当 时 DES 被认为是一种十分强壮的加密方法。但今天, 只需 二
2、十万美元就 可以制造一台破译 DES 的特殊的计算机,所以现在 DES 对要求“强壮”加 密的场合已经不再适用了。 Java 语言具有简单、安全、可移植、面向对象、健壮、多线程、体系 结构中立、解释执行、高性能、分布式和动态等主要特点。利用 Java 语言 中秘密密钥工厂对 DES 算法的支持,使程序实现文件加密、解密两大功能 更简单。 本程序设计所采用的就是 DES 算法。同时利用 Java 的 GUI 编程,生成 文本对话框,对文件的路径进行选择、提供密钥框、加密和解密按钮。 使用本程序可以对 txt, word 等多种文件进行加密解密, 使用便捷实用, 功能完善,满足了用户对文件安全性的
3、需求。 关键词:关键词:JAVA , DES, 加密, 解密。 目目 录录 1 题目分析 1 1.1 课程设计的要求和内容 1 1.2 DES 算法描述 .1 2 概要设计 3 2.1 抽象数据类型的定义 3 2.1.1 程序所需要引入的包 3 2.1.2 其他定义 3 2.2 主程序流程图 4 2.3 各程序模块之间的层次(调用)关系 .4 3 详细设计 6 3.1 窗体的设计与实现 .6 3.2 文件导入模块 8 4 测试分析与结果 9 4.1. 测试结果 9 4.1.1 运行程序 .9 4.1.2 加密 .9 4.1.3 解密 . 11 总 结 .13 参考文献 .14 附 录 .15
4、第 1 页 共 18 页 1 1 题目分析题目分析 1.11.1 课程设计的要求和内容课程设计的要求和内容 基本要求: 1.利用某种加密算法对指定的文本文件进行加密(应判断其是否已经加 密,若已加密则结束该步骤,否则提示输入加密口令,对文件进行加密) ; 2.加密解密方法:本设计采用 DES 加密算法。 3.还应该提供解密功能。 1.21.2 DESDES 算法描述算法描述 DES ( data encryption Standard) 是一种世界标准的加密形式,已经 15 年 历史了,虽然有些老,可还算是比较可靠的算法。在七十的初期, 随着计算机 之间的通信发展, 需要有一种标准密码算法为了限制不同算法的激增使它们之 间不能互相对话。 为解决这个问题, 美国国家安全局(N.S.A ) 进行招标。 I.B.M 公司开发了一种算法, 称为: Lucifer。 经过几年的研讨和修改, 这种算法, 成 为了今天的 D.E.S,1976 年 11 月 23 日, 终于被美国国家安全局采用。 DES 是一种