admin管理员组

文章数量:1591684

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这是一个简单的加密算法程序

它可以通过用户输入密码为密钥把某个文件进行加密

需要大家掌握的是:

异或运算在加密中的运用以及对文件的字节码转换

本程序使用了encfile()函数实现加密

算法部分利用了fgetc(),fputc()函数从文件中逐字节读取和储存数据

代码如下:

#include 

#include 

#include 

#include 

void encfile(char *in_filename,char *pwd,char *out_filename);

void main(int argc,char *argv[])

{

char in_filename[30];

char out_filename[30];

char pwd[8];

if(argc!=4){

printf("\nPlesae input In-filename:\n");

gets(in_filename);

printf("Plesae input your Password:\n");

gets(pwd);

printf("Plesae input Out-filename:\n");

gets(out_filename);

encfile(in_filename,pwd,out_filename);

}

}

void encfile(char *in_filename,char *pwd,char *out_file)

{

FILE *fp1,*fp2;

register char ch;

int j=0;

int j0=0;

fp1=fopen(in_filename,"rb");

if(fp1==NULL){

printf("cannot open in-file.\n");

exit(1);

}

fp2=fopen(out_file,"wb");

if(fp2==NULL){

printf("cannot open or create out-file.\n");

exit(1);

}

while(pwd[++j0]);

ch=fgetc(fp1);

while(!feof(fp1)){

fputc(ch^pwd[j>=j0?j=0:j++],fp2);

ch=fgetc(fp1);

}

fclose(fp1);

fclose(fp2);

}

本文标签: 初学者文件夹文件加密密码语言