一个简单的加密程序
只能用文本文件(不知道为什么,下一次写的时候我用二进制操作应该可以了吧,可能是误读了EOF的原因)(加密解密共用一个程序,比如说输入文件地址xxx后会生成一个xxx.dingluo的文件)(原理是把整个文件反着存储一遍,然后把每个字节都用255减一遍)
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
int main()
{
printf("请输入需要加密/解密的文件名(文件大小最多1MB)\n");
char s[256],mem[1024*1024+5];//顶多1MB
scanf("%s",s);
FILE*fp;
fp=fopen(s,"r");
if(fp==NULL)
{
printf("输入有误,退出程序\n");
system("pause");
return 0;
}
strcat(s,".dingluo");
FILE*fp2=fopen(s,"w");
int p=0;
while((mem[p]=fgetc(fp))!=EOF)
p++;
p--;
while(p!=-1)
{
fputc(255-mem[p],fp2);
p--;
}
fclose(fp2);
fclose(fp);
fp=NULL;
printf("加密/解密成功!转换后的文件名为%s\n",s);
system("pause");
return 0;
}
2

浙公网安备 33010602011771号