#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頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...