永发信息网

c语言加密解密算法

答案:1  悬赏:60  手机版
解决时间 2021-03-07 17:10
c语言加密解密算法
最佳答案
这里使用的是按位加密,按ASCII码进行加密的算法自己写个,很容易的。
#include
#include
#include
#include

void dofile(char *in_fname,char *pwd,char *out_fname);
void usage(char *name);

void main(int argc,char *argv[])
{
char in_fname[30];
char out_fname[30];
char pwd[10];

if(argc!=4)
{
usage(argv[0]);
printf("\nIn-fname:\n");
gets(in_fname);
while(*in_fname==NULL)
{
printf("\nIn-fname:\n");
gets(in_fname);
}

printf("Password 6-8:\n");
gets(pwd);
while(*pwd==NULL || strlen(pwd)>8 || strlen(pwd)<6)
{
printf("Password 6-8:\n");
gets(pwd);
}

printf("Out-file:\n");
gets(out_fname);
while(*in_fname==NULL)
{
printf("Out-file:\n");
gets(out_fname);
}
while(!strcmp(in_fname,out_fname))
{
printf("文件名不能和源文件相同\n");
printf("Out-file:\n");
gets(out_fname);
}
dofile(in_fname,pwd,out_fname);
printf("加密成功,解密请再次运行程序\n");

}
else
{

strcpy(in_fname,argv[1]);
strcpy(pwd,argv[2]);
strcpy(out_fname,argv[3]);
while(*pwd==NULL || strlen(pwd)>8 || strlen(pwd)<6)
{
printf("Password faied!\n");
printf("Password 6-8:\n");
gets(pwd);
}

while(!strcmp(in_fname,out_fname))
{
printf("文件名不能和源文件相同\n");
printf("Out-file:\n");
gets(out_fname);
while(*in_fname==NULL)
{
printf("Out-file:\n");
gets(out_fname);
}
}

dofile(in_fname,pwd,out_fname);
printf("加密成功,解密请再次运行程序\n");

}

}


void dofile(char *in_fname,char *pwd,char *out_file)
{
FILE *fp1,*fp2;
register char ch;
int j=0;
int j0=strlen(pwd);

fp1=fopen(in_fname,"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(j0>=0)
{
ch=fgetc(fp1);
while(!feof(fp1))
{
fputc(ch^pwd[j>=j0?j=0:j++],fp2);
ch=fgetc(fp1);
}
j0--;
}
fclose(fp1);
fclose(fp2);
}

void usage(char *name)
{
printf("\t=======================File encryption======================\n");
printf("\tusage: %s In-fname password out_fname\n",name);
printf("\tExample: %s file1.txt 12345678 file2.txt\n",name);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
花晨美食厅在哪里啊,我有事要去这个地方
你知道手工皂洗脸的好处吗?
“指点迷津”是什么意思?
世界上著名的桥梁有哪些?
以下哪个选项不是建设工程施工合同最为核心的
绿豆汤地址在哪,我要去那里办事
亲…各位亲们知道珠海到广州城轨最后一班车是
轮胎多少寸怎么看,如205/60r16
流体分布板的作用是什么
两岸关系和平发展的政治基础是A. 一国两制B.
扭腰盘有什么作用?
在SQL中,物理备份设备和逻辑备份设备有什么
鑫鸿源寄卖行在哪里啊,我有事要去这个地方
NO和O2反应生成NO2的电子转移数是多少?
N-Up Print:1-Up什么意思
推荐资讯
安瓶用后面部怎么不吸收??
求:车牌号码粤s91n86的车主的联系方式 谢谢
唱吧金币兑换中心兑换金币
b2b2c电子商务系统有什么特点
虾想网络定制跟报喜鸟定制哪个好?
小米袋多少钱一个
并联电路中,为了验证并联电路的电压特点,是更
我现在和一个大我五岁的姑娘谈恋爱,但是我爸
太阳花怎么过冬
不知道为什么我的iphone4s本来是26健的变成九
windows系统怎么安装ipython ipython安装
事业单位女职工哺乳假怎么规定的 假期的待遇
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?