首页 > 编程学习 > C语言源代码系列-管理系统之文件加密任务书

往期文章分享
  • 点击跳转=>《导航贴》- Unity手册,系统实战学习
  • 点击跳转=>《导航贴》- Android手册,重温移动开发

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单

在这里插入图片描述

👉实践过程

😜问题

文件的传输会有明文和密文的区别,明文发送是不安全的,用一个程序实现发送文件的加密和解密操作。加密算法,密钥设计由同学自己选择现有的加密解密算法或是自己设计。
功能要求:
(1)对文件的字符根据加密算法,实现文件加密。
(2)对操作给出必要的提示。
(3)对存在的file1.txt文件,必须先打开,后读写,最后关闭。加密后的文件放在file2.txt。
(4)解密文件保存在file3.txt中。

😜回答

在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
void jiami(char namea[256])
{
	FILE *fp_jiami,*fp_file2;
	char c;
	fp_jiami=fopen(namea,"rb");
	fp_file2=fopen("file2.txt","wb");
	while(EOF!=(fscanf(fp_jiami,"%c",&c)))
	{
		if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
		{
			c=c+3;
			if (!((c>='A'&&c<='Z')||(c>='a'&&c<='z')))c=c-26;
			if(c>='a'&&c<='z')c=c-32;
		}
		fprintf(fp_file2,"%c",c);
	}
	fclose(fp_file2);
	fclose(fp_jiami);
}

void jiemi(char en_name[256])
{	
	FILE *fp_jiemi,*fp_file3;
	char c;
	fp_jiemi=fopen(en_name,"rb");
	fp_file3=fopen("file3.txt","wb");
	while(EOF!=(fscanf(fp_jiemi,"%c",&c)))
	{
		if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
		{
			c=c-3;
			if (!((c>='A'&&c<='Z')||(c>='a'&&c<='z')))c=c+26;
			if(c>='A'&&c<='Z')c=c+32;	
		}

		fprintf(fp_file3,"%c",c);
	}
	fclose(fp_file3);
	fclose(fp_jiemi);
}
int main()
{
	char name[256];
	int n;

	printf("输入你要操作的TXT文本:");
	gets(name);

	printf("	1:加密	 2:解密	 \n");
	printf("输入你的选择:");

	scanf("%d",&n);
	switch(n)
	{
		case 1:{jiami(name);printf("\t加密成功!!\n\n");
		break;
		}
		case 2:{jiemi(name);printf("\t解密成功!!\n\n");
		break;
		}
		default:{printf("输入操作不存在!");
		}
	}	
	system("pause");
} 


👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式