女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用C語(yǔ)言程序如何模擬棋盤(pán)密碼呢?

冬至子 ? 來(lái)源:計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室 ? 作者:好壞生長(zhǎng) ? 2023-01-18 11:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

棋盤(pán)密碼是利用波利比奧斯方陣(Polybius Square)進(jìn)行加密的密碼方式,產(chǎn)生于公元前兩世紀(jì)的希臘,相傳是世界上最早的一種密碼。

棋盤(pán)秘密也是代換密碼的一種,它將一個(gè)字符用另一個(gè)字符代替。

假設(shè)有棋盤(pán)如下

2.jpg

例如字符A加密為11,字符E加密為15,字符R加密為42。根據(jù)坐標(biāo),又可以定位到明文字符,實(shí)現(xiàn)解密。

C語(yǔ)言程序如何模擬棋盤(pán)密碼呢?

1 首先定義一個(gè)數(shù)組,用于存儲(chǔ)密鑰,棋盤(pán)密碼的密鑰就是棋盤(pán)本身。

2 將全部的英文字母轉(zhuǎn)換為大寫(xiě)字母。

3 加密算法實(shí)現(xiàn):棋盤(pán)以5X5的大小定義,坐標(biāo)可以用下標(biāo)加1的形式表示

4 在26個(gè)字母中,用5X5的矩陣并不能表示所有的字符,所以I和J兩個(gè)字符放在一起,加密的時(shí)候直接按照字符I來(lái)實(shí)現(xiàn)加密,解密的時(shí)候,只能根據(jù)上下文來(lái)判斷到底是I還是J

下面是實(shí)現(xiàn)代碼

#include


static char key[5][5] = {
  {'A', 'B', 'C', 'D', 'E'},
  {'F', 'G', 'H', 'I', 'K'},
  {'L', 'M', 'N', 'O', 'P'},
  {'Q', 'R', 'S', 'T', 'U'},
  {'V', 'W', 'X', 'Y', 'Z'}
};


void upcase(char *ch){
  if(*ch >= 'a' && *ch <= 'z')
    *ch = *ch - 32;
}


void displayStr(char data[]){
  int i = 0;
  while(data[i]){
    printf("%c", data[i]);
    i ++;
  }
  printf("\\n");
}


void displayCipher(char cipher[][2]){
  int i = 0;
  while(cipher[i][0]){
    printf("%o%o", cipher[i][0], cipher[i][1]);
    i ++;
  }
  printf("\\n");
}


void encrypte(char data[], char key[][5], char cipher[][2]){
  if(!data[0]) return;


  int i = 0, m = 0, n = 0, tag = 0;
  while(data[i]){
    if(data[i] == 'J' || data[i] == 'j') data[i] = 'I';
    upcase(&data[i]);
    i ++;
  }


//  displayStr(data);


  i = 0;
  while(data[i]){
    for(m = 0; m < 5; m ++){
      tag = 0;
      for(n = 0; n < 5; n ++){
        if(data[i] == key[m][n]){
          cipher[i][0] = m + 1;
          cipher[i][1] = n + 1;


          tag = 1;
          break;
        }
      }
      if(tag == 1) break;
    }
    i ++;
  }
}


void decrypte(char cipher[][2], char key[][5], char data[]){
  int i = 0, m = 0, n = 0;
  while(cipher[i][0]){
    data[i] = key[cipher[i][0] - 1][cipher[i][1] - 1];
    i ++;
  }
}


int main(){


  char cipher[10][2] = {0};
  char data[] = "A";
  char data2[20] = {0};


  encrypte(data, key, cipher);


  displayCipher(cipher);


  decrypte(cipher, key, data2);


  displayStr(data2);


  return 0;
}

我們說(shuō)棋盤(pán)密碼的坐標(biāo)不是唯一的,還可以是其他的字符表示棋盤(pán),例如將12345換成FGHTU等等,都是可以的,主要能夠區(qū)分每個(gè)字符的坐標(biāo)。

在這個(gè)實(shí)現(xiàn)過(guò)程中,是可以靈活改變?cè)创a,實(shí)現(xiàn)坐標(biāo)軸動(dòng)態(tài)變化的。只需要修改一條語(yǔ)句就可以實(shí)現(xiàn)。

static char xKey[5] = {'G', 'E', '3', 'R', 'T'};
static char yKey[5] = {'1', 'F', '3', 'T', 'A'};


void displayCipher(char cipher[][2]){
  int i = 0;
  while(cipher[i][0]){
//    printf("%o%o", cipher[i][0], cipher[i][1]);
    printf("%c%c", xKey[cipher[i][0]-1], yKey[cipher[i][1]-1]);
    i ++;
  }
  printf("\\n");
}

實(shí)際上,我們只是修改了密文的打印方式,對(duì)整個(gè)程序的邏輯結(jié)構(gòu)沒(méi)有做任何修改。

審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7631

    瀏覽量

    141200
  • 加解密
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    6633
  • printf函數(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    6106
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    求單片機(jī)密碼鎖的c語(yǔ)言程序

    想做一個(gè)單片機(jī)控制的密碼鎖,苦于參考了百度文庫(kù)的程序,還是不夠有思緒,求完整c語(yǔ)言程序,我的是
    發(fā)表于 04-12 10:39

    電子密碼鎖源程序 (C語(yǔ)言代碼)

    電子密碼鎖源程序 (C語(yǔ)言代碼)
    發(fā)表于 03-28 09:44 ?379次下載

    2051的比較器模擬AD源程序(C語(yǔ)言)

    2051的比較器模擬AD源程序(C語(yǔ)言) /* io分配:          &n
    發(fā)表于 01-15 20:50 ?1459次閱讀

    模擬串口的C語(yǔ)言程序代碼

    模擬串口的C語(yǔ)言程序代碼 本程序模擬串口硬件機(jī)制寫(xiě)的,使用時(shí)可設(shè)一定時(shí)中斷,時(shí)間
    發(fā)表于 07-16 15:13 ?1776次閱讀

    心的c語(yǔ)言程序

    C語(yǔ)言編寫(xiě)的程序,在屏幕上輸出一個(gè)心形,并顯示“這顆心送給你”
    發(fā)表于 11-26 15:45 ?5次下載

    C語(yǔ)言教程之獲取CMOS密碼

    C語(yǔ)言教程之獲取CMOS密碼,很好的C語(yǔ)言資料,快來(lái)學(xué)習(xí)吧。
    發(fā)表于 04-25 16:49 ?0次下載

    電子密碼鎖的C語(yǔ)言程序

    這個(gè)是電子密碼鎖的C語(yǔ)言程序,以及電子密碼鎖的仿真圖。
    發(fā)表于 07-29 17:26 ?130次下載

    HL開(kāi)發(fā)板配套的密碼鎖(掉電記憶密碼C語(yǔ)言資料

    HL開(kāi)發(fā)板配套C實(shí)驗(yàn)例程100例之密碼鎖(掉電可記憶密碼),很好的單片機(jī)C語(yǔ)言資料。
    發(fā)表于 09-01 09:39 ?4次下載
    HL開(kāi)發(fā)板配套的<b class='flag-5'>密碼</b>鎖(掉電記憶<b class='flag-5'>密碼</b>)<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>資料

    使用51單片機(jī)矩陣鍵盤(pán)模擬密碼鎖的C語(yǔ)言程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)矩陣鍵盤(pán)模擬密碼鎖的C語(yǔ)言程序免費(fèi)下載。
    發(fā)表于 08-15 17:32 ?19次下載
    使用51單片機(jī)矩陣鍵盤(pán)<b class='flag-5'>模擬</b><b class='flag-5'>密碼</b>鎖的<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>程序</b>免費(fèi)下載

    使用C語(yǔ)言模擬51單片機(jī)的I2C總線的資料和程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用C語(yǔ)言模擬51單片機(jī)的I2C總線的資料和程序免費(fèi)下載。
    發(fā)表于 08-06 17:34 ?11次下載
    使用<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>模擬</b>51單片機(jī)的I2<b class='flag-5'>C</b>總線的資料和<b class='flag-5'>程序</b>免費(fèi)下載

    使用C語(yǔ)言來(lái)編寫(xiě)51單片機(jī)液晶顯示屏幕的修改密碼功能的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用C語(yǔ)言來(lái)編寫(xiě)51單片機(jī)液晶顯示屏幕的修改密碼功能的程序免費(fèi)下載。
    發(fā)表于 07-09 17:40 ?0次下載
    使用<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>來(lái)編寫(xiě)51單片機(jī)液晶顯示屏幕的修改<b class='flag-5'>密碼</b>功能的<b class='flag-5'>程序</b>免費(fèi)下載

    使用51單片機(jī)實(shí)現(xiàn)矩陣鍵盤(pán)模擬密碼鎖的C語(yǔ)言代碼免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的設(shè)計(jì)使用51單片機(jī)實(shí)現(xiàn)矩陣鍵盤(pán)模擬密碼鎖的C語(yǔ)言代碼免費(fèi)下載。模擬密碼
    發(fā)表于 04-29 08:00 ?5次下載
    使用51單片機(jī)實(shí)現(xiàn)矩陣鍵盤(pán)<b class='flag-5'>模擬</b><b class='flag-5'>密碼</b>鎖的<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>代碼免費(fèi)下載

    學(xué)習(xí)51單片機(jī)及模擬電路資料包括20個(gè)模擬電路和C語(yǔ)言程序

    學(xué)習(xí)51單片機(jī)及模擬電路資料包括20個(gè)模擬電路和C語(yǔ)言程序免費(fèi)下載。
    發(fā)表于 03-12 17:40 ?44次下載
    學(xué)習(xí)51單片機(jī)及<b class='flag-5'>模擬</b>電路資料包括20個(gè)<b class='flag-5'>模擬</b>電路和<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>程序</b>

    使用單片機(jī)實(shí)現(xiàn)1602液晶顯示的密碼C語(yǔ)言程序免費(fèi)下載

    使用單片機(jī)實(shí)現(xiàn)1602液晶顯示的密碼C語(yǔ)言程序免費(fèi)下載
    發(fā)表于 03-30 09:32 ?60次下載

    C++中棋盤(pán)覆蓋問(wèn)題分析

    的所有方格,且任何2個(gè)L型骨牌不得重疊覆蓋。 功能說(shuō)明 本程序分治法的思想解決了棋盤(pán)覆蓋問(wèn)題,顯示輸出 代碼簡(jiǎn)述 用戶輸入數(shù)據(jù),程序輸入檢測(cè),動(dòng)態(tài)分配空間,調(diào)用
    的頭像 發(fā)表于 10-08 17:06 ?1458次閱讀
    主站蜘蛛池模板: 六枝特区| 武山县| 如皋市| 怀化市| 晋宁县| 清水县| 荔浦县| 阜南县| 炉霍县| 共和县| 峨眉山市| 中阳县| 东阿县| 菏泽市| 治县。| 全州县| 南漳县| 陆川县| 揭阳市| 宁远县| 永平县| 巴中市| 梧州市| 巴彦县| 闻喜县| 斗六市| 延安市| 易门县| 昭觉县| 揭西县| 达拉特旗| 都匀市| 涪陵区| 阳信县| 云林县| 会同县| 丰台区| 江源县| 旬阳县| 正阳县| 察雅县|