歡迎使用CSDN markdown編輯器

2021-08-01 10:57:23 字數 1554 閱讀 5455

#include 

#include

#include

#include

#include

void genkey(int len);

void denkey();

int main()

else

if(select == 2)//解密操作

else

if(select == 3)

else

}return0;}

//加密

void genkey(int len)

; while(len>0)//隨機生成金鑰

printf("隨機生成的金鑰為:");

while(len1>0)//列印金鑰

printf("\n");

int l=strlen(key1);

file *fp,*fp1;

int num1[26];

int num2[26];

intm=0;

for(m=0;m

<26;m++)

int al=0,bl=0;

fp=fopen("d:\test2\1.txt","r");

fp1=fopen("d:\test2\2.txt","w");

if(fp==null)

i=0,j=0;

fscanf(fp,"%c",&ch);

while(!feof(fp))

else

}fscanf(fp,"%c",&ch);

}printf("加密結果請檢視文件!\n");//printf("%d\n",j); //也可以在終端進行相應的列印

fclose(fp1);

fclose(fp);

//統計明文密文中各字元的頻率

printf("明文中各字元的頻率(a-z):");

for(m=0;m

<26;m++)

}

printf("密文中各字元出現的頻率(a-z):");

for(m=0;m

<26;m++)

}//計算重合指數

int sum=0;

int sum1=0;

for(m=0;m

<26;m++)

for(m=0;m

<26;m++)

printf("金鑰長度為%d時\n",l);

printf("明文的重合指數為:%.3f%%\n",(float)sum/(j*(j-1))*100);

printf("密文的重合指數為:%.3f%%\n",(float)sum1/(j*(j-1))*100);

} //解密

void denkey()

else

else

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

fscanf(fp,"%c",&ch);

}printf("解密結果請檢視文件!\n");

fclose(fp1);

fclose(fp);

}}

歡迎使用CSDN markdow

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎毛毛與妞妞使用CSDN markdown編輯器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

歡迎使用CSDN markdow1n編輯器

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...