ppcpkidlgmore.cpp

来自「基于ppc的PKI_SD的一个小模块」· C++ 代码 · 共 177 行

CPP
177
字号
// PpcPKIDlgMore.cpp : 实现文件
//

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

// CPpcPKIDlgMore 对话框

IMPLEMENT_DYNAMIC(CPpcPKIDlgMore, CDialog)

CPpcPKIDlgMore::CPpcPKIDlgMore(CWnd* pParent /*=NULL*/)
	: CDialog(CPpcPKIDlgMore::IDD, pParent)
	, m_str(_T(""))
{

}

CPpcPKIDlgMore::~CPpcPKIDlgMore()
{
}

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


BEGIN_MESSAGE_MAP(CPpcPKIDlgMore, CDialog)
//	ON_BN_CLICKED(IDCANCEL, &CPpcPKIDlgMore::OnBnClickedCancel)
ON_BN_CLICKED(IDC_GENOTP, &CPpcPKIDlgMore::OnBnClickedGenotp)
ON_BN_CLICKED(IDC_WSPPUBKEY, &CPpcPKIDlgMore::OnBnClickedWsppubkey)
ON_BN_CLICKED(IDC_CHECKPW, &CPpcPKIDlgMore::OnBnClickedCheckpw)
ON_BN_CLICKED(IDC_UNLOCKPW, &CPpcPKIDlgMore::OnBnClickedUnlockpw)
ON_BN_CLICKED(IDC_GETSDDATA, &CPpcPKIDlgMore::OnBnClickedGetsddata)
//ON_BN_CLICKED(IDC_BTN_GENSYMKEYS2, &CPpcPKIDlgMore::OnBnClickedBtnGensymkeys2)
ON_BN_CLICKED(IDC_GENCHCODEPW, &CPpcPKIDlgMore::OnBnClickedGenchcodepw)
END_MESSAGE_MAP()


// CPpcPKIDlgMore 消息处理程序

//void CPpcPKIDlgMore::OnBnClickedCancel()
//{
//	// TODO: 在此添加控件通知处理程序代码
//	OnCancel();
//}
//“事件同步方式”动态口令的生成
//输入应为16进制数
void CPpcPKIDlgMore::OnBnClickedGenotp()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(1);
	int otpLen,len;
	SDFunc::CStringToHex(m_str,(unsigned char *)&otpLen,len);
	unsigned short nResult;
	CString sResult;
	nResult=SDFunc::GenOTP(otpLen,sResult);
	if(0==nResult)
	{
		m_str=sResult;
		UpdateData(FALSE);
	}
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}
}

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


//签名口令修改.新口令和旧口令之间请用空格分隔
void CPpcPKIDlgMore::OnBnClickedCheckpw()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(1);
	unsigned short nResult;
	CString sResult;
	nResult=SDFunc::ChangePw(m_str,sResult);
	if(0==nResult)
	{
		m_str=sResult;
		UpdateData(FALSE);
	}
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}
}


//签名口令解锁。解锁口令和新口令之间请用空格分隔
void CPpcPKIDlgMore::OnBnClickedUnlockpw()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(1);
	unsigned short nResult;
	CString sResult;
	nResult=SDFunc::UnlockPw(m_str,sResult);
	if(0==nResult)
	{
		m_str=sResult;
		UpdateData(FALSE);
	}
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}
}
//获得卡片数据
void CPpcPKIDlgMore::OnBnClickedGetsddata()
{
	// TODO: 在此添加控件通知处理程序代码
	m_str.Empty();
	unsigned short nResult;
	CString sResult;
	nResult=SDFunc::GetSDData(sResult);
	if(0==nResult)
	{
		m_str=sResult;
		UpdateData(FALSE);
	}
	else
	{
		m_str=SDFunc::GetSDErrMsg(nResult);
		UpdateData(FALSE);
	}
}

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

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

⌨️ 快捷键说明

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