亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 凱撒和維吉尼亞加密.cpp

?? 凱撒和維吉尼亞加密方法
?? CPP
字號:
#include "stdio.h"
#include "string.h"
#include "ctype.h"
#include "stdlib.h"
#define N 50

void menu();/*顯示菜單*/
char * inputPandK();/*輸入明文和密鑰*/
void caesar();/*愷撒加密算法*/
void vigenere();/*維吉尼亞加密算法*/

int main()
{
    menu();

    system("PAUSE");
    return 0;
}

void menu()
{
    int i=0;

    printf("  Clssical encrption program: \n");
    printf("****0-----------EXIT              **** \n");
    printf("****1-----------Keasar        **** \n");
    printf("****2-----------Vigenere     **** \n");
    printf("******************************* \n");
    
    printf("Choose your option: ");
    scanf("%d",&i);
        
    switch(i)
    {
        case 0: break;
        case 1: caesar();
                      break;
        case 2: vigenere();
                     break;
        default:break;
      }
}

//輸入明文和密鑰
char* inputPandK()
{
    char * plntxt;//聲明一個明文指針類型
    int i = 0,choose = 0;
     //開辟一塊內存空間
    plntxt = (char *)malloc(N * sizeof(char));
    if(plntxt == NULL)
    {
         printf("Memory location failed!");
         exit(-1);
    }
    /*輸入明文*/
    printf("****Enter plaintext: \n");
    fflush(stdin);
    while(i < N)
    {    
        plntxt[i] = getchar();
  //如果輸入不合法,跳出循環,最后一個元素賦值為空
        if(plntxt[i] > 126 || plntxt[i] < 32) 
  {
   plntxt[i] = '\0';
            break;
  } 
  else 
            i++;
    } 
 //返回該數組首地址
    return plntxt;
}

void caesar()
{
    char* _plntxt;//明文指針
    int* _cphrtxt;//密文指針
    unsigned int i,j;
    unsigned char key = 0;
 //接收明文
    _plntxt = inputPandK();
 printf("Enter the key:");
    scanf("%c",&key);
 while(!isdigit(key))
 {
  //key = 0;
  printf("Your input is error! \n");
     printf("Enter the key again: \n");
        scanf("%c",&key);
 }

    _cphrtxt = (int *)malloc(N * sizeof(int));
    if(_cphrtxt == NULL)
    {
        printf("Memory location failed!");
        exit(-1);
    } 
    //keasar加密算法
    for(i = 0;i < strlen(_plntxt);i++)
 {   
        if(_plntxt[i] >= 'A' && _plntxt[i] <= 'Z')
   //直接轉換為小寫
            _cphrtxt[i] = (_plntxt[i]%'A' + key)%26 + 'a';
        else if(_plntxt[i] >= 'a' && _plntxt[i] <= 122)
   //直接轉換為大寫
            _cphrtxt[i] = (_plntxt[i]%'a' + key)%26 + 'A';
     else 
   //如果為其他字符,則不變輸出
            _cphrtxt[i] = _plntxt[i];
 }  
   //輸出密文
  printf("The ciphertext is :");
  for(j = 0;j <= i;j++)
   printf("%c",_cphrtxt[j]);

     free(_plntxt); 
  free(_cphrtxt);
}

void vigenere()
{
    char* _plntxt;
 int* _cphrtxt;
 char* key;
 unsigned int i = 0,j;
 //開辟密鑰,密文空間
 key = (char *)malloc(N * sizeof(char));
    if(key == NULL)
    {
        printf("Memory location failed!");
        exit(-1);
    } 

    _cphrtxt = (int *)malloc(N * sizeof(int));
    if(_cphrtxt == NULL)
    {
        printf("Memory location failed!");
        exit(-1);
    } 
    //接受明文 
 _plntxt = inputPandK();

 printf("Enter the key: \n");
 fflush(stdin);
 while(i < N)
 {
  //
  key[i%strlen(key)] = getchar();
  if(key[i%strlen(key)] > 126 || key[i%strlen(key)] < 32)
  {
   key[i%strlen(key)] = '\0';
   break;
  }
  else 
   i++;
 }

    for(i = 0;i < strlen(_plntxt);i++)
 {   //密鑰為大寫字母
  if(key[i%strlen(key)] >= 'A' && key[i%strlen(key)] <= 'Z')
  {    //明文為大寫字母
             if(_plntxt[i] >= 'A' && _plntxt[i] <= 'Z')
                 _cphrtxt[i] = (key[i%strlen(key)]-'A' + _plntxt[i]-'A')%26 + 'a';
    //明文為小寫字母
             else if(_plntxt[i] >= 'a' && _plntxt[i] <= 'z')
                 _cphrtxt[i] = (key[i%strlen(key)]-'A' + _plntxt[i]-'a')%26 + 'A';
  } 
  //密鑰為小寫
  if(key[i%strlen(key)] >= 'a' && key[i%strlen(key)] <= 'z')
  {   //明文為大寫字母 
   if(_plntxt[i] >= 'A' && _plntxt[i] <= 'Z')
                _cphrtxt[i] = (key[i%strlen(key)]-'a' + _plntxt[i]-'A')%26 + 'a';
   //明文為小寫字母
   if(_plntxt[i] >= 'a' && _plntxt[i] <= 'z')
                _cphrtxt[i] = (key[i%strlen(key)]-'a' + _plntxt[i]-'a')%26 + 'A';
  }
  //如果為其他字符,則不變輸出
     if(key[i%strlen(key)] < 'A' || ((key[i%strlen(key)] > 'Z' && key[i%strlen(key)] < 'a')) || key[i%strlen(key)] > 'z')
            _cphrtxt[i] = _plntxt[i];
 }
 //屏幕輸出密文
 printf("The ciphertext is :"); 
 for(j = 0;j <= i;j++)
     printf("%c",_cphrtxt[j]);

    free(_plntxt); 
 free(_cphrtxt);
 free(key);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久免费网| 中文在线免费一区三区高中清不卡| 欧美成人国产一区二区| 国产欧美日韩综合精品一区二区| 亚洲愉拍自拍另类高清精品| 狠狠久久亚洲欧美| 欧美天天综合网| 国产日韩欧美制服另类| 欧美aⅴ一区二区三区视频| 色噜噜狠狠成人网p站| 日本一区二区三区高清不卡| 青草国产精品久久久久久| 欧美亚洲另类激情小说| 欧美极品少妇xxxxⅹ高跟鞋| 激情久久久久久久久久久久久久久久| 91官网在线观看| 亚洲免费毛片网站| 国产成人av资源| 久久天天做天天爱综合色| 人人狠狠综合久久亚洲| 欧美日韩国产另类一区| 亚洲免费观看高清完整版在线 | 久久蜜桃一区二区| 成人中文字幕在线| 久久久久国产精品麻豆ai换脸| 免费在线看成人av| 在线播放中文一区| 日韩精品久久久久久| 精品视频一区二区不卡| 亚洲一区二区三区在线看| 在线国产电影不卡| 一区二区免费视频| 欧美色图第一页| 亚洲国产裸拍裸体视频在线观看乱了| caoporn国产精品| 亚洲欧美日韩国产中文在线| 91在线码无精品| 怡红院av一区二区三区| 在线亚洲人成电影网站色www| 亚洲欧美另类小说视频| 色av一区二区| 天堂影院一区二区| 精品国产91久久久久久久妲己| 激情另类小说区图片区视频区| 久久久国产精华| 不卡免费追剧大全电视剧网站| 国产精品人人做人人爽人人添| 99国产精品久久久久久久久久久| 日韩美女视频一区二区 | 国产99久久久国产精品潘金| 日本一区免费视频| 97精品久久久午夜一区二区三区 | 国产亚洲精品福利| 成人av午夜电影| 夜夜嗨av一区二区三区网页| 欧美日韩卡一卡二| 久久99精品久久只有精品| 国产网站一区二区| 91在线国产观看| 日精品一区二区| 久久精品亚洲麻豆av一区二区| 91伊人久久大香线蕉| 婷婷开心激情综合| 国产日韩精品一区二区三区在线| 日本韩国欧美国产| 免费人成在线不卡| 成人免费一区二区三区视频| 欧美精品乱码久久久久久| 国产乱人伦精品一区二区在线观看| 中文字幕一区视频| 日韩视频123| 99久久精品国产网站| 日韩精品一二三区| 亚洲色图丝袜美腿| 精品国产乱码久久久久久久久| 一本到高清视频免费精品| 精品无码三级在线观看视频| 国产精品久久二区二区| 日韩欧美亚洲另类制服综合在线| 成人av网址在线观看| 蜜桃传媒麻豆第一区在线观看| 国产精品久久久久久久午夜片| 欧美精品亚洲二区| 色综合天天综合网天天狠天天 | 秋霞午夜鲁丝一区二区老狼| 亚洲欧美在线视频观看| 日韩欧美亚洲另类制服综合在线 | 一区二区国产视频| 久久久影院官网| 欧美一级理论片| 欧美日韩高清一区二区不卡| 成人午夜看片网址| 狠狠色狠狠色综合系列| 日韩高清欧美激情| 亚洲小少妇裸体bbw| 中文字幕视频一区二区三区久| 久久先锋影音av| 精品日韩一区二区三区免费视频| 欧美日韩美女一区二区| 在线日韩国产精品| 色综合中文字幕| 91网上在线视频| 97久久人人超碰| av成人老司机| 91精品在线一区二区| 欧美日韩一二三| 欧洲亚洲精品在线| 欧洲精品在线观看| 一本大道久久精品懂色aⅴ | 精品一区二区免费视频| 日韩av中文在线观看| 日韩高清不卡一区二区| 日本亚洲最大的色成网站www| 亚洲国产精品久久人人爱| 亚洲一二三区在线观看| 一区二区在线免费| 亚洲综合在线免费观看| 一级日本不卡的影视| 亚洲色图清纯唯美| 亚洲国产美国国产综合一区二区| 性做久久久久久| 日韩成人精品视频| 久久精品国产精品亚洲综合| 蜜芽一区二区三区| 精品午夜久久福利影院| 国产成人午夜视频| 99久久精品久久久久久清纯| 色婷婷综合激情| 欧美日韩精品一区二区三区| 制服丝袜在线91| 欧美成人女星排名| 久久精品免视看| |精品福利一区二区三区| 亚洲乱码国产乱码精品精可以看 | 成人免费一区二区三区在线观看| 中文字幕人成不卡一区| 一区二区在线免费| 伦理电影国产精品| www.成人网.com| 欧美日韩一区二区三区免费看 | 国产精品大尺度| 亚洲高清三级视频| 国产美女一区二区三区| 97se亚洲国产综合自在线| 欧美视频一二三区| 26uuu国产日韩综合| 亚洲视频精选在线| 蜜桃视频一区二区三区在线观看| 丰满少妇久久久久久久| 欧美三级在线看| 久久久久九九视频| 亚洲chinese男男1069| 国产在线视频一区二区三区| 色综合天天视频在线观看| 欧美一级视频精品观看| 日本一区二区三区dvd视频在线 | 国产精品网站导航| 午夜精品福利一区二区蜜股av| 国产伦精一区二区三区| 欧美亚洲丝袜传媒另类| 欧美韩日一区二区三区四区| 亚洲一区二区欧美激情| 国产九色精品成人porny| 欧美三区在线观看| 中文字幕成人av| 久久精品99久久久| 在线免费观看日本一区| 国产日韩精品一区二区三区| 日韩制服丝袜先锋影音| 色综合久久久久综合99| 久久人人超碰精品| 男男成人高潮片免费网站| 色天天综合久久久久综合片| 久久免费电影网| 免费的国产精品| 欧美日韩国产小视频| 亚洲欧洲另类国产综合| 国产精品小仙女| 欧美精品一区二区三区蜜桃| 日韩精品五月天| 欧美性大战久久久| 亚洲欧美偷拍三级| 不卡一区二区在线| 国产视频一区二区在线| 国产美女一区二区| 精品入口麻豆88视频| 成人爱爱电影网址| 国产精品你懂的| 高清在线观看日韩| 国产午夜精品久久久久久免费视| 美女一区二区三区| 日韩亚洲国产中文字幕欧美| 午夜在线电影亚洲一区| 欧美日韩一区视频| 午夜精品久久久久影视| 欧美亚洲一区二区在线| 亚洲午夜一二三区视频| 欧美日韩一二三| 天天综合色天天| 欧美一级xxx|