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

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

?? aesdlg.cpp

?? AES的基本要求是
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// AESDlg.cpp : implementation file
//

#include "stdafx.h"
#include "AES.h"
#include "AESDlg.h"
///++++++++++++++++++++++++++++++++++++++++++++++++++++
#include"box.h"
#include <stdio.h>
#include <string.h>
#include <fstream.h>
ofstream out("output.txt");/////---------------------------------------
////////+++++++++++++++++++++++++++++++++++++++++++++++++
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAESDlg dialog

CAESDlg::CAESDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CAESDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAESDlg)
	m_menwen = _T("");
	m_key = _T("");
	m_miwen = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

void CAESDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAESDlg)
	DDX_Text(pDX, IDC_EDIT1, m_menwen);
	DDV_MaxChars(pDX, m_menwen, 32);
	DDX_Text(pDX, IDC_EDIT2, m_key);
	DDV_MaxChars(pDX, m_key, 32);
	DDX_Text(pDX, IDC_EDIT3, m_miwen);
	DDV_MaxChars(pDX, m_miwen, 32);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAESDlg, CDialog)
	//{{AFX_MSG_MAP(CAESDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
	ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAESDlg message handlers

BOOL CAESDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CAESDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CAESDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CAESDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CAESDlg::OnButton2() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	int i,j;
	for(i=0;i<32;i++){////讀明文
		char B_temp;
		B_temp=m_menwen[i];
		switch(B_temp){
		case '0':B[i]=0x0;break;
		case '1':B[i]=0x1;break;
		case '2':B[i]=0x2;break;
		case '3':B[i]=0x3;break;
		case '4':B[i]=0x4;break;
		case '5':B[i]=0x5;break;
		case '6':B[i]=0x6;break;
		case '7':B[i]=0x7;break;
		case '8':B[i]=0x8;break;
		case '9':B[i]=0x9;break;
		case 'a':B[i]=0xa;break;
		case 'b':B[i]=0xb;break;
		case 'c':B[i]=0xc;break;
		case 'd':B[i]=0xd;break;
		case 'e':B[i]=0xe;break;
		case 'f':B[i]=0xf;break;
		default: {MessageBox("請輸入0~f的數,字母要小寫", "友情提示");   };/////////////////////////出錯
		}		
	}
	for(i=0;i<32;i++){///////讀密鑰
		char K_temp;
		K_temp=m_key[i];
		switch(K_temp){
		case '0':K[i]=0x0;break;
		case '1':K[i]=0x1;break;
		case '2':K[i]=0x2;break;
		case '3':K[i]=0x3;break;
		case '4':K[i]=0x4;break;
		case '5':K[i]=0x5;break;
		case '6':K[i]=0x6;break;
		case '7':K[i]=0x7;break;
		case '8':K[i]=0x8;break;
		case '9':K[i]=0x9;break;
		case 'a':K[i]=0xa;break;
		case 'b':K[i]=0xb;break;
		case 'c':K[i]=0xc;break;
		case 'd':K[i]=0xd;break;
		case 'e':K[i]=0xe;break;
		case 'f':K[i]=0xf;break;
		default: {MessageBox("請輸入0~f的數,字母要小寫", "友情提示");   };;/////////////////////////出錯
		}		
	}
	//////////////////////////////////////////////////////計算密鑰
	for(i=0;i<4;i++){
		for(j=0;j<8;j++)
		W[i][j]=K[8*i+j];
	}
	//////////////////////////////////////////////////////加密
	//////////////////////////////////////////(1)初始輪加密鑰加
	for(i=0;i<32;i++){     
		B1[i]=B[i]^K[i];		
	}
	for(i=0;i<4;i++){
			for(j=0;j<8;j++)
			W[i][j]=K[8*i+j];
	}
	//////////////////////////////++++++++++++++++++++++++++十輪加密
	for(int loop=1;loop<=10;loop++){
		///////////////////////////////////////(2)變換,行移,列混合
		ByteSub();  //查SBOX,字節轉換
		ShiftRow();///行移位
		if(loop!=10)MixColumn();//列混合
		nextkey(loop);//從1到10///+++++++++++++
		for(i=0;i<32;i++){   //第一輪加密的結果  
			B1[i]=B1[i]^K[i];		
		}
		///----------------------------------------------------------
		out<<loop<<endl;
		out<<'K'<<loop<<": ";
		for(i=0;i<32;i++)
			out<<K[i]<<' ';
		out<<endl;
		out<<'C'<<loop<<": ";
		m_miwen="";
			for(i=0;i<32;i++){
				char miwen;
				out<<B1[i]<<' ';
				switch(B1[i]){
				case 0:miwen='0';break;
				case 1:miwen='1';break;
				case 2:miwen='2';break;
				case 3:miwen='3';break;
				case 4:miwen='4';break;
				case 5:miwen='5';break;
				case 6:miwen='6';break;
				case 7:miwen='7';break;
				case 8:miwen='8';break;
				case 9:miwen='9';break;
				case 10:miwen='a';break;
				case 11:miwen='b';break;
				case 12:miwen='c';break;
				case 13:miwen='d';break;
				case 14:miwen='e';break;
				case 15:miwen='f';break;
				default: ;/////////////////////////出錯
				}
				m_miwen+=miwen;
			}
		out<<endl;	
		out<<endl;
		out<<endl;
		///-----------------------------------------------------------
	}/////////////+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++十輪加密+loop

UpdateData(false);	
}




void CAESDlg::ByteSub()
{
	out<<"查SBOX,字節表換"<<endl;///-------------------------------
	for(int i=0;i<16;i++){
		B_TEMP[2*i]=Sbox[B1[2*i]][B1[2*i+1]]>>4;
		B_TEMP[2*i+1]=Sbox[B1[2*i]][B1[2*i+1]]& 0x0f;
		out<<B_TEMP[2*i]<<' '<<B_TEMP[2*i+1]<<' ';//----------------------
	}
	out<<endl;//-----------------------------------------------------
}

void CAESDlg::ShiftRow()
{
	out<<"行移位"<<endl;///-------------------------------
		for(int i=0;i<4;i++){
			for(int j=0;j<4;j++){
				B1[2*i+8*j  ]=B_TEMP[(2*i+8*(j+i))%32  ];///第1行
				B1[2*i+8*j+1]=B_TEMP[(2*i+8*(j+i)+1)%32];
				//out<<B1[2*i+8*j  ]<<' '<<B1[2*i+8*j+1]<<' ';//----------------------
			}
		}
	////////////------------------------------------
	for( i=0;i<32;i++)
	{
		out<<B1[i]<<' ';
	}
/*	for( i=0;i<4;i++){
		for(int j=0;j<4;j++){
			out<<Mix_temp1[j][i]<<' ';
		}
	}*/
	out<<endl;
	//-----------------------------------------------------
}

void CAESDlg::nextkey(int num_key)
{
		int i,j;
	RotByte();                                 ///W4
	SubByte();	
	for(i=0;i<8;i++){
		W[4][i]=W[4][i]^Rcon[num_key][i]^W[0][i];
	}
	for(i=0;i<8;i++){                          ///W5
		W[5][i]=W[1][i]^W[4][i];
	}
	for(i=0;i<8;i++){                          ///W6
		W[6][i]=W[2][i]^W[5][i];
	}
	for(i=0;i<8;i++){                         ///W7
		W[7][i]=W[3][i]^W[6][i];
	}
	out<<"nextkey"<<num_key<<endl;//--------------------------------------------
	for(i=0;i<4;i++){
		for(j=0;j<8;j++){
			K[8*i+j]=W[i+4][j];
			W[i][j]=W[i+4][j];
			//--------------------------------------------------
			//out<<W[i][j]<<' ';
			if(j%2==1)
			out<<W[i][j-1]<<' '<<W[i][j]<<' ';
			//--------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av在线发布| 亚洲大片在线观看| 成人激情免费网站| 亚洲美女一区二区三区| 欧美影院午夜播放| 免费精品视频在线| 国产亚洲一区字幕| 色综合视频在线观看| 亚洲福中文字幕伊人影院| 日韩欧美一卡二卡| 成人影视亚洲图片在线| 亚洲免费观看高清完整版在线观看熊 | 捆绑调教一区二区三区| 日韩欧美你懂的| 成人免费视频免费观看| 亚洲综合丁香婷婷六月香| 日韩一区二区在线观看视频| 国产福利一区在线| 亚洲成av人影院| 久久亚洲二区三区| 91久久国产最好的精华液| 美女免费视频一区| 国产精品国产三级国产普通话蜜臀 | 国产成人免费xxxxxxxx| 亚洲一区二区三区四区的| 欧美变态tickle挠乳网站| 99久久精品免费观看| 蜜臀久久久久久久| 亚洲人123区| 欧美精品一区二区不卡| 欧美性色黄大片手机版| 国产69精品久久777的优势| 五月天激情综合网| 中文字幕在线视频一区| 欧美一区二区三区视频在线 | 精品久久久久久无| 欧美午夜一区二区| 岛国精品一区二区| 亚洲夂夂婷婷色拍ww47 | 国产欧美一区二区在线| 欧美精品精品一区| 色婷婷国产精品久久包臀| 久久精品国产久精国产爱| 一区二区三区日韩欧美精品| 久久久久国产精品人| 337p亚洲精品色噜噜噜| 一本大道久久a久久综合| 国产麻豆一精品一av一免费 | 日韩伦理免费电影| 久久综合久久久久88| 欧美主播一区二区三区美女| 成人一级黄色片| 毛片av一区二区| 亚洲h动漫在线| 亚洲卡通欧美制服中文| 亚洲欧洲另类国产综合| 国产亚洲欧美日韩俺去了| 日韩精品一区二区三区中文不卡 | 亚洲视频1区2区| 国产精品视频第一区| 日韩精品中文字幕在线不卡尤物| 欧美日韩aaaaa| 欧美视频三区在线播放| 色8久久人人97超碰香蕉987| 99久久精品99国产精品| 国产成人免费高清| 国产·精品毛片| 粉嫩13p一区二区三区| 国产乱码一区二区三区| 韩国精品免费视频| 激情综合色综合久久综合| 蜜桃视频在线一区| 免播放器亚洲一区| 精品一区二区在线播放| 麻豆成人久久精品二区三区小说| 五月综合激情日本mⅴ| 天堂资源在线中文精品| 亚洲成a人片综合在线| 天天色天天操综合| 麻豆国产精品官网| 国产在线精品国自产拍免费| 国产精品一区二区在线看| 国产精品12区| 不卡大黄网站免费看| 91蝌蚪porny| 欧美吻胸吃奶大尺度电影 | 亚洲日本一区二区三区| 亚洲免费av高清| 亚洲成人av福利| 奇米影视在线99精品| 国产乱人伦偷精品视频不卡| 成人久久视频在线观看| 色综合婷婷久久| 制服丝袜国产精品| 国产日韩欧美在线一区| 自拍偷拍国产精品| 日日摸夜夜添夜夜添国产精品 | 一道本成人在线| 欧美精品成人一区二区三区四区| 欧美岛国在线观看| 国产精品亲子伦对白| 亚洲电影第三页| 精彩视频一区二区三区| 93久久精品日日躁夜夜躁欧美| 欧美日韩午夜影院| 精品国产3级a| 亚洲欧美日韩成人高清在线一区| 日韩电影在线免费看| 国产成人精品影视| 在线一区二区观看| 精品粉嫩超白一线天av| 最新国产精品久久精品| 美女看a上一区| 成人性生交大片免费看视频在线| 欧美午夜寂寞影院| 久久精品欧美一区二区三区麻豆| 亚洲欧美日韩国产手机在线 | 粉嫩绯色av一区二区在线观看| 在线观看免费亚洲| 国产视频一区在线观看| 亚洲成av人片在线观看无码| 国产成人精品网址| 欧美区在线观看| ㊣最新国产の精品bt伙计久久| 精品伊人久久久久7777人| 91久久精品午夜一区二区| 国产欧美日韩在线| 日韩av中文在线观看| 色屁屁一区二区| 国产欧美日本一区视频| 久久精品99国产精品| 欧美日韩在线播放三区| 亚洲欧洲www| 国产乱妇无码大片在线观看| 欧美精品在线观看播放| 亚洲视频电影在线| 成人深夜视频在线观看| 日韩免费看的电影| 日韩电影在线免费看| 欧美性大战久久久久久久 | 欧美一区二区高清| 亚洲一区二区精品久久av| 成人免费黄色大片| 国产性色一区二区| 久久成人麻豆午夜电影| 欧美久久免费观看| 一区二区三区四区乱视频| 94色蜜桃网一区二区三区| 国产喷白浆一区二区三区| 国产原创一区二区| 欧美xxx久久| 乱中年女人伦av一区二区| 欧美日韩午夜在线视频| 一区二区三区四区高清精品免费观看| 成人不卡免费av| 国产欧美精品日韩区二区麻豆天美| 毛片基地黄久久久久久天堂| 88在线观看91蜜桃国自产| 亚洲午夜久久久久中文字幕久| 99在线精品视频| 1区2区3区国产精品| 99久久久久久99| 亚洲人吸女人奶水| 99久久精品免费看国产免费软件| 欧美国产欧美综合| 成人午夜免费视频| 一区二区中文视频| 91丝袜美女网| 亚洲乱码精品一二三四区日韩在线| 99在线热播精品免费| **性色生活片久久毛片| 91啦中文在线观看| 亚洲国产aⅴ成人精品无吗| 欧美人伦禁忌dvd放荡欲情| 日韩精品欧美精品| 精品国产污污免费网站入口| 国产做a爰片久久毛片| 久久免费美女视频| 成人午夜精品在线| 亚洲色图欧美偷拍| 欧洲精品在线观看| 日韩电影免费在线| 久久久亚洲午夜电影| 成人免费看的视频| 亚洲精品高清视频在线观看| 欧美日韩亚州综合| 精品写真视频在线观看| 国产欧美日韩卡一| 在线一区二区视频| 麻豆精品久久久| 国产精品动漫网站| 欧美区视频在线观看| 国产精品综合一区二区三区| 亚洲欧洲av另类| 欧美男男青年gay1069videost| 美女免费视频一区| 中文字幕一区不卡| 欧美日韩国产美| 风流少妇一区二区| 亚洲国产精品人人做人人爽|