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]={'