- 3
- 0
- 约9.8千字
- 约 16页
- 2018-10-21 发布于湖北
- 举报
文件的加密与解密r3h_shs4
前言
随着网络技?术的不断发?展,人们的个人?信息、网络间的文?件传递、电子商务等?方面都需要?大力的保护?,文件加密技?术也就随之?产生。文件的加密?主要是由加?密算法实现?,加密算法有?多种,常见的有R?SA、DES、MD5等。但是这些算?法虽然原理?简单,但具体实现?起来却非常?繁琐复杂,故而本程序?设计对文件?的加密使用?的是最基础?的异或加密?算法。
Java语?言具有简单?、安全、可移植、面向对象、健壮、多线程、体系结构中?立、解释执行、高性能、分布式和动?态等主要特?点。Java是?一门很优秀?的编程语言?,是目前软件?设计中极为?健壮的编程?语言。Java不?仅可以用来?开发大型的?应用程序,而且特别适?合于Int?ernet?的应用开发?。Java确?实具备了“一次写成,处处运行”的特点,所以,Java已?经成为网络?时代最重要?的编程语言?之一。本程序充分?利用Jav?a语言的特?点,针对当下社?会比较重视?的文件加密?,设计了本程?序。
使用本程序?可以对tx?t,word等?多种文件进?行加密解密?,使用便捷实?用,功能完善,
满足了用户?对文件安全?性的需求。
题目分析
1.1课程设计?的要求和内?容
基本要求:
1.用图形用户?界面实现,建立菜单。
2.给定任意一?个文本文件?,进行加密,生成另一个?文件。
3.对加密后的?文件还原。
1.2任务分析?
1.向图形用户?界面中添加?组件。
2.设置各个组?件的布局。
3.添加窗口事?件。
4. 查找读入及?写入文件,并显示。
5.加密功能实?现。
6.解密功能实?现。
1.3相关知识?介绍
本程序采用?传统的异或?加密算法,没有采用D?ES算法,但对于世界?上公认的D?ES是一种?分组加密算?法,是以64位?为分组对数?据加密。64位一组?的明文从算?法的一端 输入,64位的密?文从另一端?输出。密钥的长度?为56位(密钥通常表?示为64位?的数,但每个第8?位都用作奇?偶检验,可以忽 略)。密钥可以是?任意的56?位数,且可以在任?意的时候改?变。 本程序采用?的算法与D?ES相同的?一点是:都是一个对?称算法:及加密和解?密用的是同?一个算法。
我们也许知?道公认的D?ES算法的?工作过程,那就是:若Mode?为加密,则用Key?对数据Da?ta进行加?密,生成Dat?a的密码 形式(64位)作为DES?的输出结果?;若Mode?为解密,则用Key?对密码形式?的数据Da?ta解密,还 原为Dat?a的明码形?式(64位)作为DES?的输出结果?。但是,重要的是本?程序首先经?“打开”菜单项,进入文件选?择模块,读取字符流?,输出文本文?档后,在一个数组?中,对字符进行?异或运算,从而达到加?密的效果。
在通信网络?的两端,双方约定了?一致的Ke?y,在通信的源?点用Key?对核心数据?进行DES?加密 ,然后以密码?形式通过公?共通信网(如电话网)传输到通信?网络的终点?,数据达到目?的 地后,用同样的K?ey对密码?数据进行解?密,便再现了明?码形式的核?心数据。这样便保证?了核 心数据(如PIN,MAC等)在公共通信?网中传输的?安全性和可?靠性。通过定期在?通信网络的?源 端和目的端?同时改用新?的Key,便能更进一?步提高数据?的保密性,这正是现在?金融界交易?网 络的流行作?法。 简单地说,DES算法?只不过是加?密的其中一?种技术,通过一个初?始置换,将明文分组?分成左半部?分和右半部?分,各32位 长。然后进行1?6轮相同的?运算,这些相同的?运算被称为?函数f,在运算过程?中数据和密? 钥相结合。经过16轮?运算后左、右部分在一?起经过一个?置换(初始置换的?逆置换),这样算 法就完成了?。 本程序虽然?没有采用此?算法,而是采用众?所周知的与?DES有相?似之处的异?或算法,实际上是降?低了程序的?复杂度,使其更清晰?,但功能依旧?很强大,可见优势也?是很多的。
概要设计
2.1程序所需?要引入的包?
impor?t java.awt.*; //包含用于创?建用户界面?和绘制图形?图像的所有?类。
impor?t java.awt.event?.*; //提供处理由? AWT 组件所激发?的各类事件?的接口和类?。
impor?t javax?.swing?.*; //提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些?组件在所有?平台上的工?作方式都相?同。
impor?t java.io.*; //通过数据流?、序列化和文?件系统提供?系统输入和?输出。
2.2模块定义?
图形用户界?面模块:
添加各种所?需组件,设置
原创力文档

文档评论(0)