用C++写一个对文本文件加密的程序和一个解密的程序。急用呀!

用C++写一个对文本文件加密的程序和一个解密的程序。密码规则是:对于小写字母,a换成x,b换成y,c换成z,d换成a,e换成b,...;对于大写字母,A换成X,B换成Y,C换成Z,D换成A,E换成B,...;其他字符不变。

第1个回答  2010-07-08
/*abc.cpp*/
#include <stdio.h>

int jiami(char *file1, char *file2)
{
FILE *fp1,*fp2;
char ch;

fp1=fopen(file1,"r");
if(!fp1) return 0;
fp2=fopen(file2,"w");
if(!fp2) return 0;
fseek(fp1,0,0);
while(!feof(fp1))
{
ch=fgetc(fp1);
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
if(ch>='a'&&ch<='c'||ch>='A'&&ch<='C') ch=ch+'x'-'a';
else ch=ch-'d'+'a';
putchar(ch);
fputc(ch,fp2);
}
fclose(fp1);
fclose(fp2);
return 1;
}
int jiemi(char *file1, char *file2)
{
FILE *fp1,*fp2;
char ch;

fp1=fopen(file1,"r");
if(!fp1) return 0;
fp2=fopen(file2,"w");
if(!fp2) return 0;
fseek(fp1,0,0);
while(!feof(fp1))
{
ch=fgetc(fp1);
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
if(ch>='x'&&ch<='z'||ch>='X'&&ch<='Z') ch=ch-'x'+'a';
else ch=ch+'d'-'a';
putchar(ch);
fputc(ch,fp2);
}
fclose(fp1);
fclose(fp2);
return 1;
}

int main( )
{ int ok;
printf("Text of JiaMi:\n");
ok=jiami("abc.cpp","abc1.cpp");
if(!ok) printf("Encrypt Failure!\n");
printf("Text of jieMi:\n");
ok=jiemi("abc1.cpp","abc2.cpp");
if(!ok) printf("Decrypt Failure!\n");
return 0;
}
加解密程序都在里面了,在VC6下调试通过.本回答被提问者采纳
第2个回答  2010-07-08
//加密
#include<iostream>
#include<fstream>
using namespace std;

int main(){
ifstream ifile("e:\\mima.txt");
ofstream ofile("e:\\mima2.txt");
char temp;
while(ifile.get(temp)){
if(temp=='a'||temp=='b'||temp=='c')
temp+=23;
else if(temp>='d'&&temp<='z')temp-=3;
else if(temp=='A'||temp=='B'||temp=='C')
temp+=23;
else if(temp>='D'&&temp<='Z')temp-=3;
ofile<<temp;
}
ifile.close();
ofile.close();
}

//解密
#include<iostream>
#include<fstream>
using namespace std;

int main(){
ifstream ifile("e:\\mima2.txt");
ofstream ofile("e:\\mima22.txt");
char temp;
while(ifile.get(temp)){
if(temp=='x'||temp=='y'||temp=='z')
temp-=23;
else if(temp>='a'&&temp<='w')temp+=3;
else if(temp=='X'||temp=='Y'||temp=='Z')
temp-=23;
else if(temp>='A'&&temp<='W')temp+=3;
ofile<<temp;
}
ifile.close();
ofile.close();
}

参考资料:自己的大脑

c语言文件加密和解密
1、首先打开VC++6.0;2、选择文件,新建;3、选择C++ source file 新建一个空白文档;4、声明头文件 include<stdio.h> include<stdlib.h> include<string.h> 首先写个加密函数,算法就是简介里说的;void EncryptFile(FILE *sfp,FILE *dfp,char pwd){char ch;if(sfp==0||dfp==0){printf("...

C++编程 加密解密,封装,主要是文件读取和打开,菜鸟一个,最好有较详细...
\/\/ 加密后写入文件 fwrite(buffer, count, 1, pOut);} while (1);fflush(pOut);fclose(pIn);fclose(pOut);} 有加密的,解密差不多,自已改,足够简单了

用C++编制一个程序,将输入的一行字符以加密的形式输出,然后将其解密...
按你的要求简单写了一个程序,不知道是否符合要求?程序截图:源代码如下,如果有什么问题欢迎追问:include <iostream> include <string> using namespace std;const char STR_ENCRYPTION_USED[] = "4962873";const string zdsEncryption(string zStr);\/\/<加密 const string zdsDecryption(string zStr);...

高分求用C++写一道完整的加密程序
else encrypt(argv[1], argv[2], argv[3]);return 0;

C++代码 加密解密“恺撒密码” 要做界面
纯手工写,下面的我写的两个加密与解密的函数,LZ只要放到你的button按钮代码的同一文件里就可以了,LZ可以在点击加密的时候先获取textbox1的值,再调用encoder函数,然后把返回值写到textbox2里,解密同理。我这里MFC跑不起来 include <iostream> include<string> using namespace std;string encode="...

求一个凯撒密码加密解密程序·要C++的
加密和解密形式为:eK(x)=(x+K)mod26 dK(y)=(y-K)mod26 书里的例题啊,有详细解释的。好好看看书。

这是一段C++凯撒密码的加密源程序,求高人帮忙写出解密的源程序
include <iostream> using namespace std;int main(){char c;while ((c=getchar())!='\\n'){ if ((c>='a' && c<='z')){ c=(c-'a'-4+26)%26+'a';} else if((c>='A' && c<='Z')){ c=(c-'A'-4+26)%26+'A';} cout<<c;} cout<<endl;return 0;} ...

c++ 实现对TXT内的文字进行加密解密,请给出详细代码我是新手
liceEncryptText 文本加密解密 http:\/\/dl.icese.net\/src.php?f=iceEncryptText.src.rar

求C++大神编个程序,谢谢。情报解密。急!!!
string decode (string str) { const char tbl[9][5] = { " ,.", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz" }; string r; string::iterator i, ie; ie = str.end(); for(i = str.begin(); i != ie; ++i) { char k = *i...

写一个加密程序,命名为encrypt-学号.c
c语言文件加密和解密方法如下: 1、首先打开VC++6.0; 2、选择文件,新建; 3、选择C++ source file 新建一个空白文档; 4、声明头文件 #include #include #include 首先写个加密函数,算法就是简介里说的; void EncryptFile(FILE *sfp,FILE ...

相似回答