第乙個密碼技術實驗 愷撒 維吉尼亞

2021-04-13 10:55:23 字數 1603 閱讀 9520

#include "stdafx.h"

#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()

void menu()

}//輸入明文和金鑰

char* inputpandk()

/*輸入明文*/

printf("****enter plaintext: /n");

fflush(stdin);

while(i < n)

else

i++;

} //返回該陣列首位址

return plntxt;

}void caesar()

_cphrtxt = (int *)malloc(n * sizeof(int));

if(_cphrtxt == null)

//keasar加密演算法

for(i = 0;i < strlen(_plntxt);i++)

//輸出密文

printf("the ciphertext is :");

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

printf("%c",_cphrtxt[j]);

free(_plntxt);

free(_cphrtxt);

}void vigenere()

_cphrtxt = (int *)malloc(n * sizeof(int));

if(_cphrtxt == null)

//接受明文

_plntxt = inputpandk();

printf("enter the key: /n");

fflush(stdin);

while(i < n)

else

i++;

}for(i = 0;i < strlen(_plntxt);i++)

//金鑰為小寫

if(key[i%strlen(key)] >= 'a' && key[i%strlen(key)] <= 'z')

//如果為其他字元,則不變輸出

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);

}

實驗二 第乙個問題

一 實驗目的 鞏固線性表的資料結構,學會線性表的應用。1.回顧線性表的邏輯結構,線性表的物理儲存結構和常見操作。2.學習運用線性表的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗時間 準備時間為第2周到第4周,具體集中實驗時間為第4週第2次課。2個學時。三 實驗...

第乙個hello world 驅動實驗總結

本次採用的是模組動態載入方式 驅動的載入方式存在兩種 一是靜態載入,而是動態載入,其中動態載入,是不需要對源 中的char下的kconfig和makefile檔案修改的,在需要使用的時候直接使用insmod ko 即可,解除安裝的時候直接用rmmod ko即可 我在我的工作目錄下 root work...

python第乙個程式設計 第乙個 Python 程式

簡述 安裝完 python 後,windows 中 開始選單或安裝目錄下就會有 idle 開發 python 程式的基本 ide 整合開發環境 幫助手冊 模組文件等。linux 中 只需要在命令列中輸入 python 命令即可啟動互動式程式設計。互動式程式設計 互動式程式設計不需要建立指令碼檔案,是...