cryptography.c

来自「这是一个简单的加密解密程序」· C语言 代码 · 共 89 行

C
89
字号
/*FileName:Cryptography*/
/*Write by Yata*/
/*2005.11.30*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int Counter1=0;                /*统计当前需加密的字符的位置*/
int Counter2=0;                /*统计当前需解密的字符的位置*/

FILE *origin;
FILE *secret;
FILE *result;

char left(char org,int num)
{
 char end;
 end=org+num;                    /*让字符的ASCII+num*/
 return end;
}

char right(char org,int num)
{
 char end;
 end=org-num;                    /*让字符的ASCII-num*/
 return end;
}

void Encryption()
{
 char get,put;
 origin=fopen("Origin.txt","r");
 secret=fopen("Secret.txt","w");
 get=fgetc(origin);
 Counter1++;
 while(get!=EOF)
 {
  switch(Counter1%3)                /*以3为单位进行循环加密*/
  {
   case 0:put=left(get,1);
          fputc(put,secret);
          break;
   case 1:put=left(get,2);
          fputc(put,secret);
          break;
   default:put=left(get,3);
           fputc(put,secret);
  }
  get=fgetc(origin);
  Counter1++;
 }
 fclose(secret);
 fclose(origin);
}

void Discryption()
{
 char get,put;
 secret=fopen("Secret.txt","r");
 result=fopen("Result.txt","w");
 get=fgetc(secret);
 Counter2++;
 while(get!=EOF)
 {
  switch(Counter2%3)             /*以3为单位进行循环解密*/
  {
   case 0:put=right(get,1);
          fputc(put,result);
          break;
   case 1:put=right(get,2);
          fputc(put,result);
          break;
   default:put=right(get,3);
           fputc(put,result);
  }
  get=fgetc(secret);
  Counter2++;
 }
 fclose(result);
 fclose(secret);
}

void main()
{
 Encryption();
 Discryption();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?