运行程序后,
把用户输入的一个源文件按照用户要求的密码加密,
如果要解密,对该文件使用同样的密码再次加密就可以了
需要掌握的是:
srand()和rand()函数产生密钥,异或运算的使用和随机数的生成
这个实例要比上一个文件加密更安全一些:
#include <stdio.h>
#include <stdlib.h>
void main(int argc,char *argv[])
{
FILE *fp1,*fp2;
char c,ch;
long j;
if(argc!=3)exit(0);
fp1=fopen(argv[1],"rb");
fp2=fopen(argv[2],"wb");
if((fp1==NULL)||(fp2==NULL))
{
printf("cannot open file\n");
exit(1);
}
printf("请输入密码:");
scanf("%i",&j);
srand(j);
ch=fgetc(fp1);
while(!feof(fp1))
{
c=rand();
ch=ch^c;
fputc(ch,fp2);
ch=fgetc(fp2);
ch=fgetc(fp1);
}
fclose(fp1);
fclose(fp2);
exit(0);
}
把用户输入的一个源文件按照用户要求的密码加密,
如果要解密,对该文件使用同样的密码再次加密就可以了
需要掌握的是:
srand()和rand()函数产生密钥,异或运算的使用和随机数的生成
这个实例要比上一个文件加密更安全一些:
#include <stdio.h>
#include <stdlib.h>
void main(int argc,char *argv[])
{
FILE *fp1,*fp2;
char c,ch;
long j;
if(argc!=3)exit(0);
fp1=fopen(argv[1],"rb");
fp2=fopen(argv[2],"wb");
if((fp1==NULL)||(fp2==NULL))
{
printf("cannot open file\n");
exit(1);
}
printf("请输入密码:");
scanf("%i",&j);
srand(j);
ch=fgetc(fp1);
while(!feof(fp1))
{
c=rand();
ch=ch^c;
fputc(ch,fp2);
ch=fgetc(fp2);
ch=fgetc(fp1);
}
fclose(fp1);
fclose(fp2);
exit(0);
}