#include<iostream>
#include<fstream>
#include<conio.h>
using namespace std;
void decrypt(ifstream&,char*);
void encrypt(ifstream &in,char *cmd)
{
ofstream file("AStarEncrypt.txt");
char temp;
int i=-1;
if(!file)
{
cerr<<"打不开文件\n";
exit(1);
}
else
{
while(!in.eof())
{
in>>temp;
i++;
if(i==8)i=i%8;
file<<(temp^cmd[i]);
}
in.close();
ifstream input("AStarEncrypt.txt");
decrypt(input,cmd);
}
}
void decrypt(ifstream &in,char *cmd)
{
ofstream file("AStarDecrypt.txt");
char temp;
int i=-1;
if(!file)
{
cerr<<"打不开文件\n";
exit(1);
}
else
{
while(!in.eof())
{
in>>temp;
i++;
if(i==8)i=i%8;
file<<(char)(temp^cmd[i]);
}
in.close();
file.close();
}
}
int main()
{
char cmd[8],ch;
int i;
ifstream in("AStar.txt");
if(!in)
{
cerr<<"打不开文件\n";
exit(1);
}
else
{
cout<<"请输入密码:\n";
for(i=0;i<8;i++)
{
ch=getch();
cmd[i]=ch;
cout<<"*";
}
cout<<endl;
encrypt(in,cmd);
}
return 0;
}
为什么第二个文件是乱码呢?而第一个文件是数字呢?
我想应该是第一个是乱码,而第二个是正确的数据才对啊!!!请教!!!