凯撒加密算法



                                     凯撒加密算法

恺撒加密:凯撒密码据传是凯撒大帝用来保护军情的一种加密系统,它是一种置换密码,通过将字母移动一定的位数来实现加密解密。

例如:

    加密数据:abc

    偏移的位数为3

    加密之后的数据为:cde

    

   C语言实现:

   代码:

//加密
void encode(char *src,int n)
{
     int i=0;
     char ch;
     for( i=0;i     {
          ch=*(src+i);
          if( ch>='a'&&ch<='z' )
          {
               if( (ch+(n%26)) > 'z' )
                   *(src+i)=(char)('a'+n-('z'-ch)-1);
              else
                   *(src+i)=(char)(ch+n);
          }
          else if(ch>='A'&&ch<='Z')
          {
               if( (ch+(n%26))>'Z' )
                   *(src+i)=(char)('A'+n-('Z'-ch)-1);
               else
                   *(src+i)=(char)(ch+n);
          }
     }
}
//解密
void decode(char *src,int n)
{
     int i=0;
     char ch;
     for( i=0;i     {
          ch=*(src+i);
          if( ch>='a'&&ch<='z' )
          {
               if( (ch-(n%26)) < 'a' )
                   *(src+i)=(char)('z'-(n-(ch-'a')-1));
               else
                   *(src+i)=(char)(ch-n);
          }
          else if( ch>='A'&&ch<='Z' )
          {
               if( (ch-(n%26)) < 'A' )
                    *(src+i)=(char)('Z'-(n-(ch-'A')-1));
               else
                    *(src+i)=(char)(ch-n);
          }
     }
}

你可能感兴趣的:(C语言)