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

📄 ppcpkidlgmore.cpp

📁 基于ppc的PKI_SD的一个小模块
💻 CPP
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -