• 大小: 195KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: C/C++
  • 标签: c语言rc4  

资源简介

c语言rc4加密算 可以对任意文件进行加解密,自己写的,效率很高哦

资源截图

代码片段和文件信息

#include 
#include 

void InitS(unsigned char *s)
{
 int i;
 for(i=0;i<256;i++)
  s[i]=i;
}

void InitT(unsigned char *tchar *key)
{
 int i;
 for(i=0;i<256;i++)
  {
   t[i]=key[i%strlen(key)];
  }
}

void Swap(unsigned char *sint firstint last)
{
 unsigned char temp;
 temp=s[first];
 s[first]=s[last];
 s[last]=temp;
}

void InitPofS(unsigned char *sunsigned char *t)
{
 int i;
 int j=0;
 for(i=0;i<256;i++)
  {
   j=(j+s[i]+t[i])%256;
   Swap(sij);
  }
}


int encypher(char *sourcepathchar *destpathchar *key)
{
 unsigned char s[256]={0};
 unsigned char t[256]={0};
 char buf;
 FILE *fsource;
 FILE *fdest;
 int i=0;
 int j=0;
 int k=0;
 int temp;

 InitS(s);
 InitT(tkey);
 InitPofS(st);
 fsource=fopen(sourcepath“rb“);
 fdest=fopen(destpath“wb“);
 buf=fgetc(fsource);
 while(buf!=EOF)
 {
  i=(i+1)%256;
  j=(j+s[i])%256;
  Swap(sij);
  temp=(s[i]+s[j])%256;
  k=s[temp];
  fputc(k^buffdest);
  buf=fgetc(fsource);
 }
  fclose(fdest); 
  fclose(fsource);
 
 printf(“\n................................\nok\n“);
 return 1;
}

int main(int argcchar **argv)
{
    char sourcepath[100] destpath[100];
int i;
char key[256];

while(1)
{
printf(“Please choose operation:\n1: RC4\n2: Encrypt\n3: Decrypt\n4: Exit\n“);
printf(“\nchoice:“);
scanf(“%d“&i);
if(i!=4 && i!=1)
{
printf(“File Path:“);
scanf(“%s“&sourcepath);

printf(“Save Path:“);
scanf(“%s“&destpath);

printf(“Input Key:“);
scanf(“%s“&key);
}
switch(i)
{
case 1:
printf(“..............................RC4.................................\n“);
break;
case 2:
encypher(sourcepath destpath key);
break;
case 3:
encypher(sourcepath destpath key);
break;
case 4:
default:
return;
}
printf(“\n“);
}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      32768  2008-11-11 15:45  rc4\Debug\rc4.exe

     文件     319148  2008-11-11 15:45  rc4\Debug\rc4.ilk

     文件     396288  2008-11-11 15:45  rc4\Debug\rc4.pdb

     文件      11882  2008-11-11 15:45  rc4\rc4\Debug\BuildLog.htm

     文件         67  2008-11-11 15:45  rc4\rc4\Debug\mt.dep

     文件        663  2008-11-11 15:45  rc4\rc4\Debug\rc4.exe.embed.manifest

     文件        728  2008-11-11 15:45  rc4\rc4\Debug\rc4.exe.embed.manifest.res

     文件        621  2008-11-11 15:45  rc4\rc4\Debug\rc4.exe.intermediate.manifest

     文件      13273  2008-11-11 15:45  rc4\rc4\Debug\rc4.obj

     文件      27648  2008-11-11 15:45  rc4\rc4\Debug\vc90.idb

     文件      53248  2008-11-11 15:45  rc4\rc4\Debug\vc90.pdb

     文件       1890  2008-11-10 19:20  rc4\rc4\rc4.c

     文件       3905  2008-11-10 14:11  rc4\rc4\rc4.vcproj

     文件       1427  2008-11-11 15:53  rc4\rc4\rc4.vcproj.CHINA-3B0AF26FA.Administrator.user

     文件       1427  2008-11-19 13:31  rc4\rc4\rc4.vcproj.CHINA-4820F37DB.Administrator.user

     文件     330752  2008-11-19 13:31  rc4\rc4.ncb

     文件        875  2008-11-10 14:10  rc4\rc4.sln

    ..A..H.      8704  2008-11-19 13:31  rc4\rc4.suo

     目录          0  2008-11-11 15:45  rc4\rc4\Debug

     目录          0  2008-11-11 15:45  rc4\Debug

     目录          0  2008-11-19 13:26  rc4\rc4

     目录          0  2008-11-19 13:00  rc4

----------- ---------  ---------- -----  ----

              1205314                    22


评论

共有 条评论

相关资源