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

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

?? rsakeydlg.cpp

?? des的加解密過程
?? CPP
字號:
// RsaKey.cpp : implementation file
//

#include "stdafx.h"
#include "MixedCS.h"
#include "RsaKeyDlg.h"
#include "Window.h"
#include "GfL.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
extern  CMixedCSApp         theApp;
#define CHECK(x)			{if( !(x) ) return;}
#define CHECK_MSG(x,msg)	{if( !(x) ){CWindow::ShowMessage(msg);return;}}

/////////////////////////////////////////////////////////////////////////////
// CRsaKeyDlg dialog

CRsaKeyDlg::CRsaKeyDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CRsaKeyDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRsaKeyDlg)
	m_q = _T("");
	m_p = _T("");
	m_n = _T("");
	m_e = _T("");
	m_d = _T("");
	m_plen = 100;
	m_qlen = 100;
	m_elen = 200;
	//}}AFX_DATA_INIT
	CBitmap bmp;
	srand(GetTickCount());
	do{theApp.bk_rsakey=rand()%5;}while(theApp.bk_rsakey==theApp.bk_mainui);
	bmp.LoadBitmap(IDB_BKBITMAP1+theApp.bk_rsakey);
	m_BkBrush = CreatePatternBrush ((HBITMAP)bmp.GetSafeHandle()) ;
	bmp.DeleteObject();

	p = q = n = BI.New(0);
}

void CRsaKeyDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRsaKeyDlg)
	DDX_Text(pDX, IDC_Q, m_q);
	DDV_MaxChars(pDX, m_q, 300);
	DDX_Text(pDX, IDC_P, m_p);
	DDV_MaxChars(pDX, m_p, 300);
	DDX_Text(pDX, IDC_N, m_n);
	DDV_MaxChars(pDX, m_n, 600);
	DDX_Text(pDX, IDC_E, m_e);
	DDV_MaxChars(pDX, m_e, 600);
	DDX_Text(pDX, IDC_D, m_d);
	DDV_MaxChars(pDX, m_d, 600);
	DDX_Text(pDX, IDC_ELen, m_elen);
	DDX_Text(pDX, IDC_PLen, m_plen);
	DDX_Text(pDX, IDC_QLen, m_qlen);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CRsaKeyDlg, CDialog)
	//{{AFX_MSG_MAP(CRsaKeyDlg)
	ON_WM_CTLCOLOR()
	ON_BN_CLICKED(IDC_GetP, OnGetP)
	ON_BN_CLICKED(IDC_GetQ, OnGetQ)
	ON_BN_CLICKED(IDC_InputP, OnInputP)
	ON_BN_CLICKED(IDC_InputQ, OnInputQ)
	ON_BN_CLICKED(IDC_OutputD, OnOutputD)
	ON_BN_CLICKED(IDC_OutputE, OnOutputE)
	ON_BN_CLICKED(IDC_OutputN, OnOutputN)
	ON_BN_CLICKED(IDC_OutputP, OnOutputP)
	ON_BN_CLICKED(IDC_OutputQ, OnOutputQ)
	ON_BN_CLICKED(IDC_GetKey, OnGetKey)
	ON_EN_CHANGE(IDC_PLen, OnChangePLen)
	ON_EN_CHANGE(IDC_QLen, OnChangeQLen)
	ON_EN_CHANGE(IDC_P, OnChangeP)
	ON_EN_CHANGE(IDC_Q, OnChangeQ)
	ON_EN_CHANGE(IDC_N, OnChangeN)
	ON_EN_CHANGE(IDC_E, OnChangeE)
	ON_EN_CHANGE(IDC_D, OnChangeD)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRsaKeyDlg message handlers

HBRUSH CRsaKeyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	if ( (nCtlColor==CTLCOLOR_EDIT) ||
		 (nCtlColor==CTLCOLOR_DLG)  ||
		 (nCtlColor==CTLCOLOR_STATIC) )
	{
		pDC->SetBkMode (TRANSPARENT) ;
		if(nCtlColor==CTLCOLOR_STATIC)
			pDC->SetTextColor(RGB(0,0,255));
		hbr = m_BkBrush ;
	}
	// TODO: Return a different brush if the default is not desired
	return hbr;
}
void CRsaKeyDlg::OnOK() 
{
	// TODO: Add your control notification handler code here
	CHECK( IDYES==MessageBox("真的要退出嗎?  ","提示",MB_YESNO | MB_ICONQUESTION) )
	::DeleteObject (m_BkBrush);
	CDialog::OnOK();
}
void CRsaKeyDlg::OnCancel() 
{
	OnOK();
}

void CRsaKeyDlg::OnGetP() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	Str.Format("真的要產(chǎn)生長度為%d的素數(shù)p嗎?",m_plen);
	CHECK( IDYES == MessageBox(Str,"提示",MB_YESNO | MB_ICONQUESTION) )
    CHECK( BI.GetPrime(p,m_plen) )

	CGfL::HalfByteToStr(buf,p.bit,p.len);
	m_p = buf;
	Str.Format("產(chǎn)生素數(shù)p(%d)",p.len);
	SetDlgItemText(IDC_STATICP,Str);
	MessageBox("成功產(chǎn)生素數(shù)p! ","提示",MB_ICONINFORMATION);
	UpdateData(false);
}

void CRsaKeyDlg::OnGetQ() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	Str.Format("真的要產(chǎn)生長度為%d的素數(shù)q嗎?",m_qlen);
	CHECK( IDYES == MessageBox(Str,"提示",MB_YESNO | MB_ICONQUESTION) )
    CHECK( BI.GetPrime(q,m_qlen) )

	CGfL::HalfByteToStr(buf,q.bit,q.len);
	m_q = buf;
	Str.Format("產(chǎn)生素數(shù)q(%d)",q.len);
	SetDlgItemText(IDC_STATICQ,Str);
	MessageBox("成功產(chǎn)生素數(shù)q! ","提示",MB_ICONINFORMATION);
	UpdateData(false);
}

void CRsaKeyDlg::OnInputP() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	CHECK( theApp.InputKeyStr(Str,300) )
	CHECK_MSG( Str.GetLength()>=100, "導入失敗:素數(shù)長度小于100! " )
	CHECK( BI.BuildBIFromStr(p,Str.GetBuffer(0),Str.GetLength()) )
	CHECK_MSG( BI.IsPrime(p), "導入失敗:該數(shù)不是素數(shù)! " )
	m_p = Str;
	m_plen = p.len;
	m_elen = m_plen+m_qlen;
	Str.Format("產(chǎn)生素數(shù)p(%d)",p.len);
	SetDlgItemText(IDC_STATICP,Str);
	MessageBox("成功導入素數(shù)p! ","提示",MB_ICONINFORMATION);
	UpdateData(false);
}

void CRsaKeyDlg::OnInputQ() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	CHECK( theApp.InputKeyStr(Str,300) )
	CHECK_MSG( Str.GetLength()>=100, "導入失敗:素數(shù)長度小于100! " )
	CHECK( BI.BuildBIFromStr(q,Str.GetBuffer(0),Str.GetLength()) )
	CHECK_MSG( BI.IsPrime(q) ,"導入失敗:該數(shù)不是素數(shù)! " )
	m_q = Str;
	m_qlen = q.len;
	m_elen = m_plen+m_qlen;
	Str.Format("產(chǎn)生素數(shù)q(%d)",q.len);
	SetDlgItemText(IDC_STATICQ,Str);
	MessageBox("成功導入素數(shù)q! ","提示",MB_ICONINFORMATION);
	UpdateData(false);
}

void CRsaKeyDlg::OnGetKey() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	CHECK_MSG( p.len && q.len, "請先產(chǎn)生素數(shù)p,q! " )

	if( p.len != q.len )
		CHECK( IDYES == MessageBox("警告:素數(shù)p,q長度不同,是否繼續(xù)?","提示",MB_YESNO | MB_ICONQUESTION) )

	theApp.BeginWaitCursor();
	CHECK( rsa.GetKey(p,q,e,d,n,0,0,m_elen) )

	CGfL::HalfByteToStr(buf,n.bit,n.len);
    m_n = buf;
	Str.Format("模n (%d)",n.len);
	SetDlgItemText(IDC_STATICN,Str);

	CGfL::HalfByteToStr(buf,e.bit,e.len);
	m_e = buf;
	Str.Format("公密e(%d)",e.len);
	SetDlgItemText(IDC_STATICE,Str);

	CGfL::HalfByteToStr(buf,d.bit,d.len);
    m_d = buf;
	Str.Format("私密d(%d)",d.len);
	SetDlgItemText(IDC_STATICD,Str);

    theApp.EndWaitCursor();
	MessageBox("成功產(chǎn)生密鑰對! ","提示",MB_ICONINFORMATION);
	UpdateData(false);
}

void CRsaKeyDlg::OnOutputP() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	CWindow::OutputStr(m_p);
}

void CRsaKeyDlg::OnOutputQ() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	CWindow::OutputStr(m_q);
}

void CRsaKeyDlg::OnOutputN() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	CWindow::OutputStr(m_n);
}

void CRsaKeyDlg::OnOutputE() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	CWindow::OutputStr(m_e);
}

void CRsaKeyDlg::OnOutputD() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	CWindow::OutputStr(m_d);
}

void CRsaKeyDlg::OnChangePLen() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	m_elen = m_plen+m_qlen;
	UpdateData(false);
}
void CRsaKeyDlg::OnChangeQLen() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	m_elen = m_plen+m_qlen;
	UpdateData(false);
}
void CRsaKeyDlg::OnChangeP() 
{
	// TODO: Add your control notification handler code here
	UpdateData(false);	
}

void CRsaKeyDlg::OnChangeQ() 
{
	// TODO: Add your control notification handler code here
	UpdateData(false);	
}

void CRsaKeyDlg::OnChangeN() 
{
	// TODO: Add your control notification handler code here
	UpdateData(false);	
}

void CRsaKeyDlg::OnChangeE() 
{
	// TODO: Add your control notification handler code here
	UpdateData(false);	
}

void CRsaKeyDlg::OnChangeD() 
{
	// TODO: Add your control notification handler code here
	UpdateData(false);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人妇做爰xxxⅹ性高电影 | 亚洲美腿欧美偷拍| 午夜亚洲国产au精品一区二区| 久久99国内精品| 色域天天综合网| 久久亚洲私人国产精品va媚药| 亚洲女与黑人做爰| 韩国三级在线一区| 91精品国产91久久综合桃花| 国产精品丝袜黑色高跟| 精品综合久久久久久8888| 色婷婷综合在线| 欧美国产一区二区| 久久99精品国产.久久久久| 欧美日韩一卡二卡三卡| 亚洲日本乱码在线观看| 激情久久五月天| 在线观看91精品国产麻豆| 亚洲女人****多毛耸耸8| 国产精品亚洲а∨天堂免在线| 欧美一级理论性理论a| 亚洲一区二区三区不卡国产欧美 | 国产日韩欧美亚洲| 免费视频一区二区| 欧美放荡的少妇| 亚洲国产一区二区三区| 91电影在线观看| 中文字幕一区二| 成人成人成人在线视频| 国产日韩欧美麻豆| 国产xxx精品视频大全| 久久久美女艺术照精彩视频福利播放| 免费在线观看一区| 日韩欧美精品在线| 久久成人久久鬼色| 久久影音资源网| 国产一区二区三区免费在线观看| 欧美videos大乳护士334| 免费的成人av| 久久综合九色综合97婷婷女人 | 亚洲va在线va天堂| 欧美日产在线观看| 五月激情六月综合| 欧美一级日韩一级| 国内精品免费**视频| 精品久久人人做人人爽| 国产成人自拍高清视频在线免费播放| 久久亚洲精品国产精品紫薇| 国产精品亚洲综合一区在线观看| 久久综合狠狠综合久久激情| 国产不卡在线播放| 亚洲美女视频一区| 欧美久久久影院| 久久国产三级精品| 国产精品久久毛片av大全日韩| www.爱久久.com| 亚洲第一成人在线| 精品免费一区二区三区| 成人av在线一区二区三区| 亚洲视频一区二区免费在线观看| 欧美午夜宅男影院| 激情久久五月天| 1024成人网| 欧美一区二区精品久久911| 黄页视频在线91| 亚洲图片另类小说| 欧美一区二区三区免费在线看| 精品一区二区三区av| 国产精品美女久久久久久久| 欧美日韩国产系列| 国产精品亚洲成人| 亚洲chinese男男1069| 久久免费电影网| 欧美性做爰猛烈叫床潮| 国产一区二区不卡老阿姨| 亚洲美女在线国产| 久久久不卡网国产精品二区| 色综合天天综合网天天看片| 蜜臀91精品一区二区三区 | 久久综合久久鬼色中文字| 91麻豆国产在线观看| 美女网站一区二区| 亚洲免费观看在线观看| 久久在线观看免费| 欧美精品tushy高清| 91麻豆精品在线观看| 国产成人午夜片在线观看高清观看| 一区二区三区四区亚洲| 久久精品无码一区二区三区| 欧美日韩一区二区在线观看| 高清久久久久久| 久久精品国产99| 午夜视频在线观看一区二区三区| 国产精品久久三区| 久久久不卡网国产精品二区| 欧美精品第1页| 欧美在线视频你懂得| 成人免费视频免费观看| 狠狠v欧美v日韩v亚洲ⅴ| 午夜一区二区三区视频| 一区二区激情视频| 亚洲你懂的在线视频| 国产精品私人自拍| 久久亚洲一区二区三区四区| 91麻豆精品国产| 欧美日韩国产三级| 色婷婷av久久久久久久| 波多野结衣亚洲一区| 国产精品综合二区| 久久国产精品一区二区| 日韩二区三区在线观看| 亚洲一二三四区| 亚洲人成在线观看一区二区| 一区在线播放视频| 中文字幕在线一区免费| 国产精品每日更新| 国产精品久久久久9999吃药| 中文字幕不卡的av| 国产精品毛片a∨一区二区三区| 精品国产三级a在线观看| 精品不卡在线视频| 久久综合网色—综合色88| 久久久久久97三级| 欧美激情在线一区二区三区| 亚洲国产精品成人综合色在线婷婷 | 国产成人亚洲综合a∨猫咪| 精品一区二区国语对白| 精品一二线国产| 国产美女主播视频一区| 国产成人自拍网| 97久久精品人人做人人爽| 色婷婷av一区| 在线成人av网站| 欧美精品一区视频| 国产欧美日韩在线| 一区二区三区加勒比av| 亚洲成人精品影院| 日韩电影免费在线看| 国内精品在线播放| www.激情成人| 欧美美女视频在线观看| 精品粉嫩aⅴ一区二区三区四区| 欧美精品一区二区高清在线观看| 久久久久国色av免费看影院| 中文字幕亚洲一区二区av在线| 亚洲一区二区在线观看视频 | 日韩一区二区电影| 久久蜜臀精品av| 亚洲精品伦理在线| 麻豆视频一区二区| 成人午夜电影网站| 欧美日韩国产成人在线91| 欧美精品一区二| 亚洲一区二区三区免费视频| 久久成人免费网| 日本精品免费观看高清观看| 91精品国产综合久久精品麻豆| 久久精品综合网| 日韩av一区二区在线影视| 国产美女在线观看一区| 色婷婷精品久久二区二区蜜臀av| 日韩欧美资源站| 亚洲免费在线观看视频| 国产真实精品久久二三区| 欧美唯美清纯偷拍| 国产精品色哟哟网站| 青娱乐精品视频在线| 91在线播放网址| 精品精品欲导航| 亚洲精品成人悠悠色影视| 国产一区二区三区免费观看| 欧美精品1区2区| 亚洲天堂精品视频| 国产成人精品一区二| 91麻豆精品久久久久蜜臀| 一区二区三区精密机械公司| 国产99久久久久久免费看农村| 欧美日韩国产不卡| 亚洲美女免费视频| 成人精品视频.| xnxx国产精品| 日韩av电影免费观看高清完整版| 色呦呦国产精品| 《视频一区视频二区| 国产福利精品一区| 日韩欧美高清在线| 视频一区视频二区中文| 欧美揉bbbbb揉bbbbb| 亚洲激情网站免费观看| av激情综合网| 18欧美乱大交hd1984| www.在线成人| 欧美国产日本韩| 国产91露脸合集magnet | 国产成人午夜视频| 久久九九99视频| 国产suv一区二区三区88区| 久久精品一区二区三区四区| 精品午夜一区二区三区在线观看| 欧美一区二区三区小说|