⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ppcpkisddlg.cpp

📁 基于ppc的PKI_SD的一个小模块
💻 CPP
字号:
// PpcPKISDDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "PpcPKISD.h"
#include "PpcPKISDDlg.h"
#include "SDFunc.h"
#include "PpcPKIDlgMore.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// CPpcPKISDDlg 对话框

CPpcPKISDDlg::CPpcPKISDDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CPpcPKISDDlg::IDD, pParent)
	, m_str(_T(""))
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CPpcPKISDDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_EDIT1, m_str);
}

BEGIN_MESSAGE_MAP(CPpcPKISDDlg, CDialog)
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
	ON_WM_SIZE()
#endif
	//}}AFX_MSG_MAP
	ON_BN_CLICKED(IDC_BTNMORE, &CPpcPKISDDlg::OnBnClickedBtnmore)
	ON_BN_CLICKED(IDC_BTN_GENSYMKEYS, &CPpcPKISDDlg::OnBnClickedBtnGensymkeys)
//	ON_BN_CLICKED(IDC_BUTTON2, &CPpcPKISDDlg::OnBnClickedButton2)
ON_BN_CLICKED(IDC_3DES_ENCRYPT, &CPpcPKISDDlg::OnBnClicked3desEncrypt)
ON_BN_CLICKED(IDC_BTN_3DES_DECRYPT, &CPpcPKISDDlg::OnBnClickedBtn3desDecrypt)
ON_BN_CLICKED(IDC_BTN_GENDISSYMKEYS, &CPpcPKISDDlg::OnBnClickedBtnGendissymkeys)
ON_BN_CLICKED(IDC_GETPUBKEYDATA, &CPpcPKISDDlg::OnBnClickedGetpubkeydata)
//ON_BN_CLICKED(IDC_BUTTON7, &CPpcPKISDDlg::OnBnClickedButton7)
ON_BN_CLICKED(IDC_PRIKEYENCRYPT, &CPpcPKISDDlg::OnBnClickedPrikeyencrypt)
ON_BN_CLICKED(IDC_SPPUBKEYENCRYPT0, &CPpcPKISDDlg::OnBnClickedSppubkeyencrypt0)
ON_BN_CLICKED(IDC_GETPRIKEYRESL, &CPpcPKISDDlg::OnBnClickedGetprikeyresl)
END_MESSAGE_MAP()


// CPpcPKISDDlg 消息处理程序

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

	// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
	//  执行此操作
	SetIcon(m_hIcon, TRUE);			// 设置大图标
	SetIcon(m_hIcon, FALSE);		// 设置小图标

	// TODO: 在此添加额外的初始化代码
	
	return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
void CPpcPKISDDlg::OnSize(UINT /*nType*/, int /*cx*/, int /*cy*/)
{
	DRA::RelayoutDialog(
		AfxGetInstanceHandle(), 
		this->m_hWnd, 
		DRA::GetDisplayMode() != DRA::Portrait ? 
			MAKEINTRESOURCE(IDD_PPCPKISD_DIALOG_WIDE) : 
			MAKEINTRESOURCE(IDD_PPCPKISD_DIALOG));
}
#endif


void CPpcPKISDDlg::OnBnClickedBtnmore()
{
	// TODO: 在此添加控件通知处理程序代码
	CPpcPKIDlgMore dlgMore;
	dlgMore.DoModal();
}

//生成对称密钥对
void CPpcPKISDDlg::OnBnClickedBtnGensymkeys()//生成密钥对
{
	// TODO: 在此添加控件通知处理程序代码
	unsigned short nResult;
	m_str.Empty();
	nResult=SDFunc::GenerateKeys(m_str);
	if(0==nResult)
		UpdateData(FALSE);
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}

}

//void CPpcPKISDDlg::OnBnClickedButton2()
//{
//	// TODO: 在此添加控件通知处理程序代码
//}

// 3DES加密(CBC模式)
void CPpcPKISDDlg::OnBnClicked3desEncrypt()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(1);
	unsigned short nResult;
	CString sResult;
	nResult=SDFunc::TDESEncrypt(m_str,sResult);
	if(0==nResult)
	{
		m_str=sResult;
		UpdateData(FALSE);
	}
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}

}

//3DES解密(CBC模式)

void CPpcPKISDDlg::OnBnClickedBtn3desDecrypt()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(1);
	unsigned short nResult;
	CString sResult;
	nResult=SDFunc::TDESDecrypt(m_str,sResult);
	if(0==nResult)
	{
		m_str=sResult;
		UpdateData(FALSE);
	}
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}
}

//生成非对称密钥对
void CPpcPKISDDlg::OnBnClickedBtnGendissymkeys()
{
	// TODO: 在此添加控件通知处理程序代码
	unsigned short nResult;
	m_str.Empty();
	nResult=SDFunc::GenerateDissymKeys(m_str);
	if(0==nResult)
		UpdateData(FALSE);
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}
}

//取公钥数据
void CPpcPKISDDlg::OnBnClickedGetpubkeydata()
{
	// TODO: 在此添加控件通知处理程序代码
	unsigned short nResult;
	m_str.Empty();
	nResult=SDFunc::GetPubKeyData(m_str);
	if(0==nResult)
		UpdateData(FALSE);
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}
}

//void CPpcPKISDDlg::OnBnClickedButton7()
//{
//	// TODO: 在此添加控件通知处理程序代码
//}
//私钥加密
void CPpcPKISDDlg::OnBnClickedPrikeyencrypt()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(1);
	unsigned short nResult;
	CString sResult;
	nResult=SDFunc::PriKeyEncrypt(m_str,sResult);
	if(0==nResult)
	{
		m_str=sResult;
		UpdateData(FALSE);
	}
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}
	
}

//SP公钥加密
void CPpcPKISDDlg::OnBnClickedSppubkeyencrypt0()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(1);
	unsigned short nResult;
	CString sResult;
	nResult=SDFunc::SPPubKeyEncrypt(m_str,sResult);
	if(0==nResult)
	{
		m_str=sResult;
		UpdateData(FALSE);
	}
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}

}

//取私钥加密结果
void CPpcPKISDDlg::OnBnClickedGetprikeyresl()
{
	// TODO: 在此添加控件通知处理程序代码
	unsigned short nResult;
	m_str.Empty();
	nResult=SDFunc::GetPriKeyEnResult(m_str);
	if(0==nResult)
		UpdateData(FALSE);
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -