2024年3月9日发(作者:)

实验报告---文件的加密与解密

一、问题重述

基于对各种加密算法的理解,结合各种加密、解密算法,选择合适的加密方

法分别对文件进行加密和解密。

二、实验目的及要求

2.1 实验目的

1)在Linux环境下编写C语言程序,实现文件加密与解密;

2)通过此次实验了解通信过程中不同的加密方式;

3)了解不同的加密算法及加密过程;

4)从多种加密和解密方式出发,对加密和解密的知识进行扩展。

2.2 实验要求

根据不同的加密算法,设计加密程序,完成对文件的加密和解密。

2.3实验环境

操作系统:Linux操作系统、window10操作系统;

C语言环境: vim编辑器、DEV C++编辑器。

硬件环境:机房内电脑及个人笔记本电脑。

三、总体设计及思路

3.1 实验思路

对于文件的加密和解密主要采用ASCII与十进制数字之间相互转换的方法。

1

1)准备部分

新建三个文件,分别命名为file1、file2、file3,其中file1装有源数据;

将对file1加密后的信息放入file2中;对file2进行解密,解密生成的信息放

入file3中。

2)计算部分

当进入加密模式,首先对文件file1、file2进行读取操作,在保证成功读

取文件的前提下,采用十进制转ASCII码的方法对文件file1进行加密,且加密

后的数据保存在file2中,即文件file2是文件file1的加密文件。

采用ASCII码转十进制的方法对文件file2进行解密,解密后的数据放入

file3中,即file3是file2的源文件。

四、实验过程

4.1.1文件的读取

顾名思义文件的加密和解密是以文件作为依托的,所以我们首先需要新建两

个文件,文件1存放原始数据,其名字定义为;对文件1进行加密

后需要将加密后的数据存放至文件2中,此处将文件2命名为,最后

将利用fopen函数以读取的方式打开文件,文件读取代码如下:

4.1.2 文件的加密

文件的加密过程采用十进制转三位ASCII码的加密方式,对从文件1中读取

的字符依次进行ASCII码的转换,此段代码如下:

2