亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aesdlg.cpp

?? 應用編碼與計算機密碼學program 《應用編碼與計算機密碼學》程序 單鑰密碼算法中的AES算法
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	OnSetkey128();	
}

//選擇明文
void CAESDlg::OnSBrowse() 
{
	// TODO: Add your control notification handler code here
	static char BASED_CODE szFilter[] = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*||";
	int result;
	//
	CFileDialog dlg(true, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL);
	if (dlg.DoModal()==IDOK)
	{
		sflag	=	1;
		editflag	=	0;
		showflag	=	1;
		//
		ClearAll(0);
		//
		strcpy(sfilename, dlg.GetPathName());
		m_sfile.SetWindowText(sfilename);
		m_sfile.UpdateWindow();		
		//讀入
		result	=	copyfile(sfilename, SFILENAME);		
		//
		OnSShowText();		
	}	
}

//選擇密文
void CAESDlg::OnRBrowse() 
{
	// TODO: Add your control notification handler code here	
	static char BASED_CODE szFilter[] = "All Files (*.*)|*.*||";
	int result;
	FILE* handle;
	int filelen;
	//
	CFileDialog dlg(true, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL);
	if (dlg.DoModal()==IDOK)
	{
		rflag	=	1;
		showflag	=	1;
		//
		ClearAll(0);
		//
		strcpy(rfilename, dlg.GetPathName());		
		//		
		handle	=	fopen(rfilename, "rb");
		filelen	=	filelength(fileno(handle));
		result	=	fclose(handle);
		if (filelen==0 || filelen%16!=0)
		{	
			show("密文長度不對");
			rflag	=	0;
			return;	
		}
		//
		m_rfile.SetWindowText(rfilename);
		m_rfile.UpdateWindow();	
		//讀入
		result	=	copyfile(rfilename, RFILENAME);		
		//
		OnRShowText();
	}
}

//輸出明文
void CAESDlg::OnSOutput() 
{
	// TODO: Add your control notification handler code here
	static char BASED_CODE szFilter[] = "All Files (*.*)|*.*||";	
	int result;
	//
	if (sflag==0)
	{
		show("請先選擇明文文件或輸入明文");
		return;
	}
	//	
	CFileDialog dlg(false, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL);	
	if (dlg.DoModal()==IDOK)
	{
		strcpy(soutfile, dlg.GetPathName());
		//
		result	=	copyfile(SFILENAME, soutfile);
		//
		show("明文輸出完成");
	}
}

//輸出密文
void CAESDlg::OnROutput() 
{
	// TODO: Add your control notification handler code here
	static char BASED_CODE szFilter[] = "All Files (*.*)|*.*||";	
	int result;
	//
	if (rflag==0)
	{
		show("請先選擇密文文件");
		return;
	}
	//
	CFileDialog dlg(false, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL);	
	if (dlg.DoModal()==IDOK)
	{
		strcpy(routfile, dlg.GetPathName());
		//
		result	=	copyfile(RFILENAME, routfile);
		//
		show("密文輸出完成");
	}	
}

//加密明文
void CAESDlg::OnEncrypt() 
{
	// TODO: Add your control notification handler code here
	int i;
	int filelen;
	int pos;
	FILE* handle;
	FILE* handle2;
	int firstcount;
	int result;
	//
	if (sflag==0)
	{
		show("請先選擇明文文件或輸入明文");
		return;
	}
	//準備工作
	m_rfile.SetWindowText("");
	m_rtext.SetWindowText("");	
	//
	handle	=	fopen(SFILENAME, "rb");	
	if (handle==NULL)
	{
		show("非法明文文件");		
		return;
	}
	filelen	=	filelength(fileno(handle));
	if (filelen==0)
	{
		show("明文為空");
		fclose(handle);
		return;
	}
	handle2	=	fopen(RFILENAME, "wb");
	//
	setposinit(0, filelen);
	pos	=	0;
	firstcount	=	0;
	while (pos<filelen)
	{
		memset(stext, 0, TEXT_MAX+1);
		scount	=	fread(stext, 1, TEXT_MAX, handle);
		if (scount%16!=0)
			scount	=	scount+16-scount%16;
		if (firstcount==0)
			firstcount	=	scount;
		pos	+=	scount;
		//加密工作:stext->rtext
		for (i=0; i<scount; i+=16)
		{
			memcpy(s_blk, stext+i, 16);
			encrypt(s_blk, r_blk);
			memcpy(rtext+i, r_blk, 16);
		}
		//
		result	=	fwrite(rtext, 1, scount, handle2);
		//
		setpos(pos);			
	}
	result	=	fclose(handle);
	result	=	fclose(handle2);
	//
	scount	=	firstcount;
	rcount	=	scount;
	rflag	=	1;
	showflag	=	1;
	//顯示結果
	OnRShowText();
}

//解密密文
void CAESDlg::OnDecrypt() 
{
	// TODO: Add your control notification handler code here
	int i;
	int filelen;
	int pos;
	FILE* handle;
	FILE* handle2;
	int firstcount;
	int result;
	//
	if (rflag==0)
	{
		show("請先選擇密文文件");
		return;
	}
	//準備工作
	m_sfile.SetWindowText("");
	m_stext.SetWindowText("");
	//
	handle	=	fopen(RFILENAME, "rb");	
	if (handle==NULL)
	{
		show("非法密文文件");		
		return;
	}
	filelen	=	filelength(fileno(handle));
	if (filelen==0 || filelen%16!=0)
	{
		show("密文長度不對");
		fclose(handle);
		return;
	}
	handle2	=	fopen(SFILENAME, "wb");
	//
	setposinit(0, filelen);
	pos	=	0;
	firstcount	=	0;
	while (pos<filelen)
	{
		memset(rtext, 0, TEXT_MAX+1);
		rcount	=	fread(rtext, 1, TEXT_MAX, handle);
		//
		if (firstcount==0)
			firstcount	=	rcount;
		pos	+=	rcount;
		//解密工作:rtext->stext
		for (i=0; i<rcount; i+=16)
		{
			memcpy(r_blk, rtext+i, 16);
			decrypt(r_blk, s_blk);
			memcpy(stext+i, s_blk, 16);
		}
		//
		result	=	fwrite(stext, 1, rcount, handle2);
		//
		setpos(pos);			
	}
	result	=	fclose(handle);
	result	=	fclose(handle2);
	//顯示結果
	rcount	=	firstcount;
	scount	=	rcount;
	sflag	=	1;
	showflag	=	1;
	OnSShowText();
}

//顯示明文
//用文本方式,將ASC的0轉換為空格來顯示
void CAESDlg::OnSShowText() 
{
	// TODO: Add your control notification handler code here	
	int i;	
	FILE* handle;
	int result;
	//
	memset(stext, 0, TEXT_MAX+1);
	handle	=	fopen(SFILENAME, "rb");
	if (handle==NULL)
	{
		show("非法明文文件");		
		return;
	}
	scount	=	fread(stext, 1, TEXT_MAX, handle);
	result	=	fclose(handle);
	//處理	
	for (i=0; i<scount; i++)
	{
		if (stext[i]==0)
			stext2[i]	=	' ';
		else
			stext2[i]	=	stext[i];
	}
	stext2[scount]	=	0;
	//
	m_stext.SetWindowText(stext2);
	m_stext.UpdateWindow();
}

//顯示密文
//用01方式,不用文本方式
void CAESDlg::OnRShowText() 
{
	// TODO: Add your control notification handler code here
	int i,j;
	int p;
	FILE* handle;
	int result;
	const int mark[9]	=	{0, 128, 64, 32, 16, 8, 4, 2, 1};
	unsigned char c1,c2,c3;	
	//
	memset(rtext, 0, TEXT_MAX+1);		
	handle	=	fopen(RFILENAME, "rb");
	if (handle==NULL)
	{
		show("非法密文文件");		
		return;
	}
	rcount	=	fread(rtext, 1, TEXT_MAX, handle);		
	result	=	fclose(handle);
	//處理	
	p	=	0;
	for (i=0; i<rcount; i++)
	{
		for (j=1; j<=8; j++)
		{
			c1	=	rtext[i];
			c2	=	mark[j];
			c3	=	c1&c2;
			if (c3==0) 
				rtext2[p]	=	'0';
			else
				rtext2[p]	=	'1';
			p++;
		}
	}
	rtext2[p]	=	0;
	//
	m_rtext.SetWindowText(rtext2);
	m_rtext.UpdateWindow();
}

//清除明文
void CAESDlg::OnSClear() 
{
	// TODO: Add your control notification handler code here
	memset(stext, 0, TEXT_MAX+1);
	memset(stext2, 0, TEXT_MAX+1);
	DeleteFile(SFILENAME);
	//
	sflag	=	0;	
	editflag	=	0;
	showflag	=	1;
	//
	m_sfile.SetWindowText("");
	m_sfile.UpdateWindow();
	//
	m_stext.SetWindowText("");
	m_stext.UpdateWindow();
	//	
	m_sshow.SetWindowText("");
	m_rshow.SetWindowText("");
	m_time.SetWindowText("");		
	m_progress.SetRange32(0, 100);
	m_progress.SetPos(0);
}

void CAESDlg::OnRClear() 
{
	// TODO: Add your control notification handler code here
	//
	memset(rtext, 0, TEXT_MAX+1);
	memset(rtext2, 0, 8*TEXT_MAX+1);
	DeleteFile(RFILENAME);
	//
	rflag	=	0;
	showflag	=	1;
	//
	m_rfile.SetWindowText("");
	m_rfile.UpdateWindow();
	//
	m_rtext.SetWindowText("");
	m_rtext.UpdateWindow();
	//	
	m_sshow.SetWindowText("");
	m_rshow.SetWindowText("");
	m_time.SetWindowText("");		
	m_progress.SetRange32(0, 100);
	m_progress.SetPos(0);
}


void CAESDlg::OnStop() 
{
}

void CAESDlg::show(char *str)
{
	MessageBox(str, "信息", MB_OK|MB_ICONINFORMATION);
}

//顯示進度
void CAESDlg::setpos(int pos)
{
	char temp[128];
	int i;	
	//
	if (showflag==1 || rand()%NUM_RAND1==0)
	{		
		etime	=	GetTickCount()-stime;
		sprintf(temp, "%i秒%i毫秒", etime/1000, etime%1000);
		//
		m_time.SetWindowText(temp);
		m_time.UpdateWindow();
	}
	//
	if (showflag==1 || rand()%NUM_RAND2==0)
	{
		for (i=SHOW_MAX-1; i>0; i--)
		{
			sshow[i]	=	sshow[i-1];
			rshow[i]	=	rshow[i-1];
		}
		sshow[0]	=	rand()%2+'0';
		rshow[0]	=	rand()%2+'0';
		//
		m_sshow.SetWindowText(sshow);
		m_sshow.UpdateWindow();
		//
		m_rshow.SetWindowText(rshow);
		m_rshow.UpdateWindow();
	}
	//
	showflag	=	0;
	m_progress.SetPos(pos);	
}

void CAESDlg::setposinit(int a, int b)
{
	int	i;
	//
	m_progress.SetRange32(a,b);
	m_progress.SetPos(0);
	//
	for (i=0; i<SHOW_MAX; i++)
	{
		sshow[i]	=	rand()%2+'0';
		rshow[i]	=	rand()%2+'0';
	}
	sshow[SHOW_MAX]	=	0;
	rshow[SHOW_MAX]	=	0;
	//
	stime	=	GetTickCount();
}

void CAESDlg::OnSetkey128() 
{
	// TODO: Add your control notification handler code here
	keylen	=	128;
	memcpy(key, (char*)key128, keylen);	
	OnShowKey();
	//
	set_key(key128, keylen);
}

void CAESDlg::OnSetkey192() 
{
	// TODO: Add your control notification handler code here
	keylen	=	192;
	memcpy(key, (char*)key192, keylen);		
	OnShowKey();
	//
	set_key(key192, keylen);
}

void CAESDlg::OnSetkey256() 
{
	// TODO: Add your control notification handler code here	
	keylen	=	256;
	memcpy(key, (char*)key256, keylen);	
	OnShowKey();
	//
	set_key(key256, keylen);
}

void CAESDlg::OnShowKey()
{	
	char skey[KEY_MAX+128];
	int p;
	int i;
	//
	p	=	0;
	for (i=0; i<keylen; i++)
	{		
		skey[p]	=	key[i]+'0';
		p++;
		if ((i+1)%64==0)
		{
			skey[p]	=	'\n';
			p++;
		}		
	}
	skey[p]	=	0;
	//
	m_key.SetWindowText(skey);
	m_key.UpdateWindow();	
}

//將用戶輸入的明文輸出到文件中
void CAESDlg::OnKillfocusEdit3() 
{
	// TODO: Add your control notification handler code here
	FILE* handle;
	int len;
	char* buf;
	int result;
	//
	len	=	m_stext.GetWindowTextLength();
	buf	=	(char*)malloc(len+1);
	//
	result	=	m_stext.GetWindowText(buf, len+1);
	handle	=	fopen(SFILENAME, "wb");
	result	=	fwrite(buf, 1, len, handle);
	result	=	fclose(handle);
	//
	free(buf);
	//
	sflag	=	1;
	showflag	=	1;
}

void CAESDlg::OnChangeEdit3() 
{
	editflag	=	1;
}

void CAESDlg::OnOK() 
{
	// TODO: Add extra validation here
	CDlgEndBox dlg;
	dlg.DoModal();
	//
	CDialog::OnOK();
}


void CAESDlg::OnShowVersion() 
{
	// TODO: Add your control notification handler code here
	CDlgVersion dlg;
	dlg.DoModal();
}

int CAESDlg::copyfile(char *sfilename, char *dfilename)
{
	int result;
	//
	CDlgWait dlg;
	result	=	dlg.Create(IDD_WAIT);
	result	=	dlg.ShowWindow(SW_SHOWNORMAL);
	//
	result	=	CopyFile(sfilename, dfilename, FALSE);
	//
	result	=	dlg.DestroyWindow();
	//
	return 0;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久伊人久久99| 亚洲一区二区三区视频在线播放| 9191精品国产综合久久久久久 | 日韩女同互慰一区二区| 精品亚洲国内自在自线福利| 一区二区欧美国产| 国产精品欧美综合在线| 亚洲成人午夜影院| 6080yy午夜一二三区久久| 日韩在线一二三区| 欧美成人猛片aaaaaaa| 国产盗摄一区二区| 日韩码欧中文字| 欧美亚洲高清一区二区三区不卡| 午夜久久久久久久久久一区二区| 欧美mv和日韩mv的网站| 国产91丝袜在线播放0| 亚洲欧美色综合| 欧美一区二区三区四区久久| 国产成人亚洲综合a∨婷婷| 亚洲免费在线视频| 欧美一区二区三区在| 成人动漫一区二区| 洋洋av久久久久久久一区| 欧美大片免费久久精品三p| 成人手机在线视频| 亚洲成av人片在线观看无码| 精品国产1区2区3区| 99精品视频在线免费观看| 日韩精品色哟哟| 欧美激情一区二区三区在线| 欧美日韩一级片网站| 国产乱人伦偷精品视频不卡| 亚洲自拍偷拍九九九| 久久这里只精品最新地址| 欧美日韩在线播放三区| 国产激情视频一区二区三区欧美| 一区二区三区精品视频在线| 亚洲一二三区不卡| 欧美va在线播放| 91捆绑美女网站| 国产精品一级片| 日本女优在线视频一区二区| 亚洲欧洲性图库| 日韩精品一区二区三区在线播放 | 久久你懂得1024| 91久久人澡人人添人人爽欧美| 麻豆免费精品视频| 亚洲一区二区三区三| 日本一区二区三区视频视频| 日韩亚洲欧美一区二区三区| 99re这里只有精品视频首页| 国产一区美女在线| 日韩国产一二三区| 亚洲激情在线播放| 中文字幕欧美国产| 精品sm在线观看| 88在线观看91蜜桃国自产| 91丝袜高跟美女视频| 国产精品性做久久久久久| 日韩精品久久久久久| 亚洲女与黑人做爰| 中文字幕一区二区5566日韩| 国产日韩欧美精品电影三级在线| 日韩在线一区二区三区| 91精品国产综合久久精品图片| 亚洲国产日韩在线一区模特| 一区二区三区在线播放| 1000部国产精品成人观看| 欧美日韩一区中文字幕| 爽好多水快深点欧美视频| 日韩三级精品电影久久久| 久久99国产精品麻豆| 亚洲人成网站在线| 精品理论电影在线| 欧美三级视频在线播放| 日本中文一区二区三区| 久久欧美一区二区| 欧美精品1区2区| 成人中文字幕电影| 亚洲国产精品久久久久秋霞影院| 日韩欧美国产一区二区三区| 在线观看91视频| 成人一区二区三区视频在线观看| 午夜久久电影网| 亚洲美女在线一区| 国产精品水嫩水嫩| 欧美一区二区三区成人| 91精彩视频在线| 99vv1com这只有精品| 福利电影一区二区三区| 一本色道综合亚洲| 首页国产欧美日韩丝袜| 色综合天天天天做夜夜夜夜做| 综合分类小说区另类春色亚洲小说欧美| 欧美精品在线一区二区| 国产欧美日韩精品在线| 麻豆精品一区二区av白丝在线| 色哟哟一区二区三区| 亚洲1区2区3区4区| 免费观看在线色综合| 国产原创一区二区| 懂色av中文字幕一区二区三区| 色综合天天性综合| 欧美一级二级三级蜜桃| 久久精品一区二区| 亚洲欧美国产77777| 亚洲成人免费影院| 大白屁股一区二区视频| 九色综合国产一区二区三区| 国产91丝袜在线播放九色| av中文一区二区三区| 日本韩国欧美三级| 欧美日韩国产综合一区二区三区| 在线观看视频一区二区| 91精品国产色综合久久ai换脸| 91亚洲精品乱码久久久久久蜜桃| 精品一区二区精品| jlzzjlzz亚洲日本少妇| 在线观看一区日韩| 精品奇米国产一区二区三区| 中文在线免费一区三区高中清不卡| 亚洲蜜臀av乱码久久精品蜜桃| 麻豆久久久久久| 日本久久电影网| 久久无码av三级| 亚洲成av人片一区二区梦乃| 国产99精品视频| 91精品国产综合久久国产大片| 国产调教视频一区| 日日夜夜免费精品视频| voyeur盗摄精品| 精品人伦一区二区色婷婷| 亚洲综合久久久| 大胆亚洲人体视频| 亚洲老妇xxxxxx| 国产成人av影院| 欧美一卡二卡在线观看| 亚洲欧美经典视频| 福利一区福利二区| 日韩一卡二卡三卡国产欧美| 亚洲裸体xxx| 国产不卡在线播放| 欧美一三区三区四区免费在线看 | 日本大胆欧美人术艺术动态| 不卡的电影网站| 久久青草国产手机看片福利盒子| 天天色天天操综合| 日本丶国产丶欧美色综合| 国产精品欧美一区二区三区| 久久99精品国产麻豆婷婷洗澡| 欧美日韩极品在线观看一区| 亚洲美腿欧美偷拍| 97久久精品人人做人人爽| 国产欧美精品一区二区色综合| 老司机午夜精品| 欧美一区二区播放| 欧美a级一区二区| 欧美日韩电影在线| 亚洲一区在线看| 色综合一个色综合亚洲| 国产精品国产三级国产普通话蜜臀 | 亚洲精品在线观| 裸体在线国模精品偷拍| 91麻豆精品国产综合久久久久久 | 免费久久99精品国产| 欧美高清视频不卡网| 五月天网站亚洲| 欧美日韩一区视频| 水野朝阳av一区二区三区| 69久久夜色精品国产69蝌蚪网| 五月天婷婷综合| 日韩三级伦理片妻子的秘密按摩| 免费高清在线一区| 日韩女优av电影在线观看| 精品影视av免费| 久久久一区二区三区捆绑**| 成人一区二区视频| 亚洲视频一区二区在线观看| 97精品国产露脸对白| 亚洲欧美日本在线| 欧美精品一二三| 欧美日韩激情在线| 午夜精品一区二区三区电影天堂| 欧美男生操女生| 激情丁香综合五月| 欧美激情一区三区| 91黄色免费版| 日本麻豆一区二区三区视频| 欧美videos中文字幕| 粉嫩欧美一区二区三区高清影视| 亚洲欧洲成人自拍| 欧美视频中文字幕| 久久国产婷婷国产香蕉| 久久女同精品一区二区| 99精品视频在线播放观看| 亚洲国产综合在线| 精品国产免费人成电影在线观看四季 | 精品国产乱码久久久久久蜜臀 | 成人av电影在线|