單表置換密碼的C++代碼實(shí)現(xiàn),供大家參考,具體內(nèi)容如下
創(chuàng)新互聯(lián)公司成立于2013年,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元中方做網(wǎng)站,已為上家服務(wù),為中方各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
本程序使用方法:需要在本程序所在的文件夾創(chuàng)建一個(gè)"密碼學(xué).txt"文檔。
該程序所需要的數(shù)據(jù)全部由該文檔提供,然后運(yùn)行即可得到結(jié)果,如需要修改數(shù)據(jù),必須從文檔中人工修改
文檔格式的要求:文檔總共包含兩行。第一行由一個(gè)1或2的數(shù)字和一個(gè)字符串組成,數(shù)字1代表加密,2代表解密,字符串表示密鑰
第二行僅包含一個(gè)字符串,這個(gè)字符串是需要加密或解密的內(nèi)容。
該程序運(yùn)行結(jié)果直接由控制臺(tái)輸出
運(yùn)行結(jié)果:
代碼:
#include#include #include using namespace std; ifstream in("密碼學(xué).txt"); void JiaMi(char ZhiHuan[]); //加密函數(shù) void JieMi(char ZhiHuan[]); //解密函數(shù) void setZhiHuan(char ZhiHuan[],char fanZhiHuanBiao[]); //設(shè)置置換表函數(shù) int main() { int m; //確定是加密或解密?加密為1,解密為2 char ZhiHuanBiao['z'+1]; //正向置換表,加密時(shí)用 char fanZhiHuanBiao['Z'+1]; //反向置換表,解密時(shí)用 cout<<"加密按輸入1,解密輸入2"< >m; //讀入m setZhiHuan(ZhiHuanBiao, fanZhiHuanBiao); //設(shè)置置換表 switch(m) //判斷m值,執(zhí)行相應(yīng)的功能 { case 1: JiaMi(ZhiHuanBiao);break; case 2: JieMi(fanZhiHuanBiao);break; default:break; } return 0; } void JiaMi(char ZhiHuan[]) //加密 { string MingWen; //保存明文 cout< ='a' && MingWen[i]<='z') cout< ='A' && MiWen[i]<='Z') cout< = 'A' && s[i] <='Z') { for(int j = 0; j < s1.length();j++) { if(s[i] == s1[j]) { sign = 1; break; } } if(sign == 0) s1 = s1 + s[i]; else sign = 0; } } for( j ='a';j<='z';j++)cout<
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。