c级加密
c语言文件加密和解密方法如下:
1、首先打开VC++6.0;
voidDecryptFile(FILE*sfp,FILE*dfp,charpwd)
{
charch;
while((ch=fgetc(sfp))!=EOF)
{
if((ch>='a')&&(ch<='z'))
{
ch=ch^pwd;
ch=(ch-'a'+25)%26+'a';
}
if((ch>='A')&&(ch<='Z'))
{
ch=ch^pwd;
ch=(ch-'A'+25)%26+'A';
}
fputc(ch,dfp);
}
}
输出函数,输出文件内容
voidOutputFile(FILE*fp)
{
charch;
while((ch=fgetc(fp))!=EOF)
putchar(ch);
}
主函数,主要调用这几个函数
int哪银main()
{
/*用户输入的要加密的文件名*/
charsfilename[20];
/*用户输入加密后保存的文件名*/
chardfilename[20];
/*用来保存密码字符*/
charpwd;
FILE*sfp,*dfp;
printf(":
");
/*得到要加密的文件名*/
gets(sfilename);
/*得到加密后你要的文件名*/
printf(":
");
gets(dfilename);
/*得到加密字符*/
printf("PleaseinputyourPassword:
");
//scanf("%c",&pwd);
pwd=getch();
/*屏幕以*来表示输入的加密字符*/
printf("*
");
/*以只读方式打开要加密的文件*/
if((sfp=fopen(sfilename,"r"))==0)
{
printf("Can'topenthefile:%s
",sfilename);
exit(0);
}
/*输出要加密的文件*/
printf(":
");
OutputFile(sfp);
/*建立加密后的文件*/
if((dfp=fopen(dfilename,"w+"))==0)
{
printf("Can'topenorcreatethefile:%s
",dfilename);
//exit(0);
}
/*文件加密*/
fseek(sfp,0L,SEEK_SET);
EncryptFile(sfp,dfp,pwd);
printf("
Encryptedthefilesuccessfully!
");
/*输出加密后的文件*/
printf(":
");
fseek(dfp,0L,SEEK_SET);
OutputFile(dfp);
fclose(sfp);
fclose(dfp);
李梁宴getch();
return0;
}
2. C语言简单加密
#include "stdio.h"
#define N 80
void main()
{
char str[N];
int i;
printf("Please input string:\n");
gets(str);
for(i=0;str[i]!='枝迟\0';i++)
{
if((str[i]>=97)&&(str[i]<=112))
{
str[i]+=10;
}
else if((str[i]>112)&&(str[i]<=122))
{
str[i]-=16;
}
}
str[i]='\猛橡李0';
printf("Result:\n"如袭);
puts(str);
getch();
}
3. C语言加密算法(简单)
MD5是HASH算法,他不能用来解密的,他主要是用来校验信息的完整型,也就是我们常说的数值签名,你可以去RFC文档上收索,上边有他具体的算法,代码也是封装好了的,可以去研究研究
4. C语言文件加密
#include<stdio.h>
intmain()
{charch;
FILE*fp1,*fp2;
fp1=fopen("d:\file1.txt","r");
fp2=fopen("d:\file2.txt","w");
printf("加密后的内容: ");
while((ch=fgetc(fp1))!=EOF)
{ch^=0x6a;putchar(ch);fputc(ch,fp2);}
fclose(fp1);
fclose(fp2);
printf(" 解密后的氏缺内容碧岩: ");
fp2=fopen("d:\file2.txt","r");
while((ch=fgetc(fp2))!=EOF)
{ch^=0x6a;putchar(ch);}悔核御
return0;
}
5. c语言的简单加密
#include <stdio.h>#include <math.h>
int main()
{
char a[10];
int i=0;
while(getchar()!='\n')
{
a[i++]=getchar(); //错误在这里,上一句while(getchar()!='\n'腔枯唤),如果读入字符不是回车
} //那么再读入一个字符,赋给数组败物里的元素。也就是说,每两个字符
a[i]='\n'; //能读入第二个字符。如果读入奇数个字符,则无法结束程序。
i=0;
do
{
printf("%c",a[i++]+4);
}
while(a[i]!='\n');
}
修改如下,运行OK:
#include <stdio.h
int main()
{
char a;
int i=0;
while((a=getchar())!='\n')
{
printf("%c"伍凯,a+4);
}
printf("\n");
}
6. C语言 文件加密解密
根据你的需要,修改了之前的代码。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
constunsignedintMAX_KEY_LENGTH=1000;
intencode(charconst*datafile,charconst*keyfill);
intdecode(charconst*datafile,charconst*keyfile);
intloadKey(charconst*keyfile,int*keys,unsignedintsize);
intsaveKey(charconst*keyfile,int*keys,unsignedintsize);
intgenerateKey(int*keys,unsignedintsize);
intmain(intargc,charconst*argv[])
{
chardatafile[]="encrypted.txt";
charkeyfile[]="key.txt";
intretcode,choice,loop=1;
charch[5]={'