⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weonigema.c

📁 维吉尼亚码的c语言实现。 该程是维吉尼亚码的一个简单实现。
💻 C
字号:
#define NUM 100
#define NUMKEY 100
main()
{   char key1[NUMKEY];                                              /*中间变量,用于存放临时信息*/
    char key[NUMKEY];                                               /*用于存放密钥信息*/
    char code[NUM];                                                 /*用于存放明文信息*/
    char encode[NUM];                                               /*用于存放密文信息*/
    int i,numb,numbkey,temp1,temp2;
    printf("Please input the figure of key:(<=%d)\n",NUMKEY-1);     /*数组首元素key1[0]由回车占据,并非用户所输入的字符*/
    scanf("%d",&numbkey);
    printf("Please input the key(=%d)\n",numbkey);                  /*数组首元素key1[0]由回车占据,并非用户所输入的字符,若要实现numbkey个明文密文对就需要i<=numbkey*/
    for(i=0;i<=numbkey;i++)                                         /*由用户输入输入密钥*/
      scanf("%c",&key1[i]);
    for(i=0;i<numbkey;i++)                                          /*重新存储便于使用*/
      key[i]=key1[i+1];
    printf("Please input the figure of numbes:(<=%d)\n",NUM-1);     /*数组首元素code[0]由回车占据,并非用户所输入的字符*/
    scanf("%d",&numb);
    printf("Please input codes:(the figure=%d)\n",numb);
    for(i=0;i<=numb;i++)                                            /*数组首元素code[0]由回车占据,并非用户所输入的字符,若要实现numb个明文密文对就需要i<=numb*/
    {   scanf("%c",&code[i]);                                       /*用户输入字符,其实code[0]为回车字符,从code[1]开始才是用户输入的字符,所以用户输入的字符只有NUM-1个*/
        temp1=key[(i-1)%numbkey]-96;                                /*定位密钥字符在字母表中的位置*/
        temp2=(code[i]-96+temp1-1)%26;                              /*根据维吉尼亚码的生成算法定位密文字母在字母表中的位置*/
        if(temp2==0)
            encode[i]=96+26;                                        /*将密文转化为ASCII码,若取余为0,则密文相对位置为26,要特别处理*/
        else
            encode[i]=96+temp2;                                     /*将密文转化为ASCII码,若取余<26,则ASCII码为96+在字母表中的相对位置*/
    }
    printf("the encrypted numbes:\n");
    for(i=1;i<=numb;i++)
    printf("%c",encode[i]);                                         /*将转化后的密文输出  */
    getch();

}



⌨️ 快捷键说明

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