凯撒密码的算法c语言的怎么实现啊

凯撒密码的算法c语言的怎么实现啊,第1张

凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。他的原理很简单,说到底就是字母于字母之间的替换。下面让我们看一个简单的例子:“baidu”用凯撒密码法加密后字符串变为“edlgx”,它的原理是什么呢?把“baidu”中的每一个字母按字母表顺序向后移3位,所得的结果就是刚才我们所看到的密文。

#include <stdioh>

main()

{

char M[100];

char C[100];

int K=3,i;

printf("请输入明文M(注意不要输入空白串)\n");

gets(M);

for(i=0;M[i]!='\0';i++)

C[i]=(M[i]-'a'+K)%26+'a';

C[i]='\0';

printf("结果是:\n%s\n",C);

}

#include <iostream>

#include <string>

using namespace std;

int main()

{

    string code;//储存初始字符串

    string d_code;//加密后的字符串

    int i;

    int n;         //移位的个数

    cout<<"Enter the string "<<endl;

    cin>>code;

    cout<<"how many step do you want to move "<<endl;

    cin>>n;

    for(i=0;i<codesize();++i)

    {

        if(int(code[i])>97)

        {

            if(int(code[i])+n>122)

              d_code[i]=int(code[i])+n-26;

            else

                d_code[i]=int(code[i])+n;

        }

        else if(int(code[i])+n>90)

            d_code[i]=char(int(code[i])+n-26);

        else

            d_code[i]=char(int(code[i]+n));

    }

    for(i=0;i<codesize();++i)

    {

        cout<<d_code[i];

    }

    cout<<endl;

    cout<<"Code = "<<code<<endl;

    return 0;

}

#include<stdioh>

int main()

{

int n;

char a, b;

printf("Enter shift amount(1-25):");

scanf_s("%d", &n);

getchar();

printf("Enter message to be encrypted:");

while ((a = getchar()) != '\n')

{

if (a >= 'A' && a <= 'Z')

b = 'A' + (a - 'A' + n) % 26;

else if (a >= 'a' && a <= 'z')

b = 'a' + (a - 'a' + n) % 26;

else

b=a;

putchar(b);

}

getchar();

return 0;

}

#include <stdioh>

char s[]="Beijing Technology and Business University (BTBU) is a key state-run university with comprehensive disciplines covering Arts, Sciences, Engineering, Law, Economics, History, Philosophy and Management";

void fun(char s,int n)

{

int i=0;

while(s[i]!=0)

{

if(s[i]<='z'&&s[i]>='a')

{

s[i] += n;

if(s[i]>'z') s[i] -=24;

}

else if(s[i]<='Z'&&s[i]>='A')

{

s[i] += n;

if(s[i]>'Z') s[i] -=24;

}

i++;

}

}

void main()

{

fun(s,3);

puts(s);

}

以上就是关于凯撒密码的算法c语言的怎么实现啊全部的内容,包括:凯撒密码的算法c语言的怎么实现啊、C语言凯撒加密是一种移位替代加密算法,即将字母表A-Z向左移位,然后用移位后的字母表替原来的明文得到密文、C语言凯撒加密问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9483460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存