c语言中文网 加密程序,《C语言程序设计》课程设计--文件加密.docx

南京航空航天大学金城学院

《C语言程序设计》课程设计

实验报告

题目: 文件加密

班级:

学号:

姓名:

成绩:

指导教师:

完成日期: 年 月 日

目录

一、程序的主要功能

二、系统总框架图

三、各模块的功能

四、功能模块图

五、程序结构流程图

六、试验结果

七、编程体会

八、参考资料

九、附录:程序清单及源程序

一、程序的主要功能

(1)根据ASCII码表实现文件加密

(2)根据菜单提示进行操作选择

(3)自定义需要加密的文件和加密后的文件

(4)自定义需要解密的文件和解密后的文件

(5)解密需要一定的权限验证

二、系统总框架图

主函数

主函数

用户选择操作

用户选择操作

操作完成

操作完成

退出程序

退出程序

各模块的功能

jiami() //加密函数

jiemi() //解密函数

main() //主函数

功能模块图

退出返回菜单加密成功解密成功权限验证Jiemi()解密Jiami()加密菜单选择Main()主函数

退出

返回菜单

加密成功

解密成功

权限验证

Jiemi()解密

Jiami()加密

菜单选择

Main()主函数

程序结构流程图

输入需加密文件名输入需解密文件名退出结束加密成功开始解密成功权限验证菜单

输入需加密文件名

输入需解密文件名

退出

结束

加密成功

开始

解密成功

权限验证

菜单

试验结果

七、编程体会

知道了如何查询有关资料解决问题,利用现有ASCII码表实现简单文件加密。

八、参考资料

(1) season的博客:

(2)c语言中文网:

(3)CSDN博客频道:

九、附录:程序清单及源程序

#include

#include

jiami()

{

char c,filename[20],filename2[20];

FILE *fp1,*fp2;

printf("请输入待加密的文件名:");

scanf("%s",filename);

printf("请输入加密至文件名: ");

scanf("%s",filename2);

fp1=fopen(filename,"r");

fp2=fopen(filename2,"w");

if(fp1==NULL)

{

printf("打开文件失败!\n");

exit(0);

}

do

{

c=fgetc(fp1);

if(c>=32&&c<=126)

{

c=c-32;

c=126-c;

}

if(c!=-1)

fprintf(fp2,"%c",c);

}

while(c!=-1);

printf("加密成功!\n");

fclose(fp1);

fclose(fp2);

main();

}

jiemi()

{

char c,filename[20],filename2[20];

char yanzhengma[20];

FILE *fp3,*fp4;

printf("请输入待解密文件名:");

scanf("%s",filename);

printf("请输入解密至文件名:");

scanf("%s",filename2);

printf("请输入权限验证码:");

scanf("%s",yanzhengma);

if(fp3==NULL)

{

printf("打开文件失败!\n");

exit(0);

}

if(strcmp(yanzhengma,"0000")==0)

{

fp3=fopen(filename,"r");

fp4=fopen(filename2,"w");

do

{

c=fgetc(fp3);

if(c>=32&&c<=126)

{

c=126-c;

c=32+c;

}

if(c!=-1)

fprintf(fp4,"%c",c);

}

while(c!=-1);

}

else

{

printf("验证码错误!请退出重试:\n");

}

printf("解密成功!\n");

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值