凯撒密码加解密c代码(凯撒密码加解密c代码怎么用)

2023-02-28 18:56:30 密码用途 思思

如何用C语言实现加强版的凯撒密码破解!?

供参考 译码只需要一句即可

感兴趣自己分析下

#include stdio.h

int main()

{

char s[100];

int k;

int i;

while(~scanf("%s%d", s, k))

{

k%=26;

for(i = 0; s[i]; i ++)

s[i] = (s[i] - 'A' + 26 - (k+i + 1)%26)%26 + 'A';

printf("%s\n", s);

}

return 0;

}

用c语言编写凯撒加密算法

#includestdio.h

#includestring.h

#define PASSWORD 3

int main()

{

    char c; 

    FILE *source = fopen("source.txt","r");//源   解密时将该源文件换成加密后的文件 

    FILE *result = fopen("result.txt","w");//处理结果 

    

    while((c=fgetc(source))!=EOF)//加密 

    {        

             if(c='a'c='z')

                          c='a'+(c-'a'+PASSWORD)%26;

             else if(c='A'c='Z')

                          c='A'+(c-'A'+PASSWORD)%26;

              fputc(c,result);

    }

/*    

    while((c=fgetc(source))!=EOF)//解密  解密时将加密部分注释掉 

    {        

             if(c='a'c='z')

                          c='a'+(c-'a'+26-PASSWORD)%26;

             else if(c='A'c='Z')

                          c='A'+(c-'A'+26-PASSWORD)%26;

              fputc(c,result);

    }

*/    

    close(source);

    close(result);

    system("pause");

    return 0;

}

这是之前写的,可以看看

凯撒密码加解密c代码(凯撒密码加解密c代码怎么用) 第1张

用C语言实现凯撒密码加密解密,急!

凯撒密码就是简单的加上一个数,'a'+3='d';'z'+3='c' 假设原文全是小写字母,那么 char plain[N]={...}; //明文 char cipher[N]={};//密文 int key=3; int i=0,temp; for(i=0;iN;i++) {if(plain[i]!=' ') {temp=plain[i]+key-'a'; temp=temp%26; cipher[i]=temp+'a'; } else cipher[i]=plain[i]; } 这样就完成了加密,密文数组里面就是对原文加密后的密文,key是密钥。

凯撒密码,C语言,求救!

#include stdio.h

#include string.h

int main()

{

int i = 0;

int len = 0;

char ch;

char buf[256] = {0};

char nor[26] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};

char enc[26] = {'s','u','w','y','a','c','e','g','i','k','m','o','q','r','t','v','x','z','b','d','f','h','j','l','n','p'};

printf("Encode or Decode: ");

scanf("%c",ch);

printf("please input your string: ");

fflush(stdin);

gets(buf);

len = strlen(buf);

switch (ch)

{

case 'e':

case 'E':

for (i=0;ilen;i++)

{

buf[i] = enc[buf[i] - 'a'];

}

break;

case 'd':

case 'D':

for (i=0;ilen;i++)

{

buf[i] = nor[i];

}

break;

default:

printf("wrong input!\n");

}

printf("%s\n",buf);

return 0;

}

用C语言编程恺撒密码加密解密程序

#include stdio.h

#define isletter( c )    ( ((c)='a'(c)='z') || ((c)='A'(c)='Z') )

void Enc( const char *str, char *out, int key )

{

    int i = 0; 

    while( str[i] )

    {

        if ( isletter( str[i] ) )

        {

            out[i] = str[i] + key;

            if ( ! isletter( out[i])  )

                out[i] -= 26;

        }

        else

            out[i] = str[i];

        i++;

    }

    out[i] = 0;

}

void Denc( const char *str, char *out, int key )

{

    int i=0;

    while( str[i] )

    {

        if ( isletter( str[i] ) )

        {

            out[i] = str[i] - key;

            if ( ! isletter( out[i] ) )

                out[i] += 26;

        }

        else

            out[i] = str[i];

        i++;

    }

    out[i] = 0;

}

int main()

{

    char  out[100], out2[100];

    Enc( "THE QUICK BROWn fox jumps over THE LAZY DOG", out, 3 );

    printf( "%s\n", out );

    Denc( out, out2, 3 );

    printf( "%s\n", out2 );

}