?? csptest2dlg.cpp
字號:
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_strImSEnDataPath == "")
{
MessageBox("請輸入待加密數據文件路徑!");
return;
}
if(m_strImSePath == "")
{
MessageBox("請輸入會話密鑰文件路徑!");
return;
}
if(m_strContainer == "")
{
MessageBox("請輸入容器名稱!");
return;
}
if(m_strImSePriPath == "")
{
MessageBox("請輸入保護私鑰文件路徑!");
return;
}
if(m_strExSDeDataPath == "")
{
MessageBox("請輸入加/解密后文件!");
return;
}
BYTE pbSessionKey[1024] = {0};
int nSessionLen;
BYTE pbSourceData[1024] = {0};//由于趕時間測試的數據非常小 偷懶沒有用new的空間
//大家還是用new分配空間養成好習慣 記得delete []
int nSourceLen;
BYTE pbDestData[1024] = {0};
int nDestLen;
BYTE pbPriKey[1024] = {0};
int nPriLen;
OpenFile(m_strImSePriPath, pbPriKey, nPriLen, "會話解密私鑰文件");
OpenFile(m_strImSePath, pbSessionKey, nSessionLen, "會話密鑰數據文件!");
OpenFile(m_strImSEnDataPath, pbSourceData, nSourceLen, "待加/解密數據文件!");
CCsp objCsp;
int r = objCsp.SessionEncrypt(pbSessionKey, nSessionLen, pbSourceData, nSourceLen, pbPriKey,
nPriLen, pbDestData, (DWORD *)&nDestLen, (BYTE*)m_strContainer.GetBuffer(0));
if(r != 0)
{
MessageBox(objCsp.m_strError);
return;
}
WriteFile(m_strExSDeDataPath, pbDestData, nDestLen, "加密后數據文件!");
MessageBox("會話加密數據成功!");
return;
}
void CCSPTEST2Dlg::OnSessionDecrypt()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_strImSePath == "")
{
MessageBox("請輸入會話密鑰文件路徑!");
return;
}
if(m_strContainer == "")
{
MessageBox("請輸入容器名稱!");
return;
}
if(m_strImSePriPath == "")
{
MessageBox("請輸入保護私鑰文件路徑!");
return;
}
if(m_strImSEnDataPath == "")
{
MessageBox("請輸入待解密數據文件路徑!");
return;
}
if(m_strExSDeDataPath == "")
{
MessageBox("請輸入解密后文件!");
return;
}
BYTE pbSessionKey[1024] = {0};
int nSessionLen;
BYTE pbSourceData[1024] = {0};
int nSourceLen;
BYTE pbDestData[1024] = {0};
int nDestLen;
BYTE pbPriKey[1024] = {0};
int nPriLen;
OpenFile(m_strImSePriPath, pbPriKey, nPriLen, "會話解密私鑰文件");
OpenFile(m_strImSePath, pbSessionKey, nSessionLen, "會話密鑰數據文件!");
OpenFile(m_strImSEnDataPath, pbSourceData, nSourceLen, "待解密數據文件!");
CCsp objCsp;
int r = objCsp.SessionDecrypt(pbSessionKey, nSessionLen, pbSourceData, nSourceLen, pbPriKey,
nPriLen, pbDestData, (DWORD *)&nDestLen, (BYTE*)m_strContainer.GetBuffer(0));
if(r != 0)
{
MessageBox(objCsp.m_strError);
return;
}
WriteFile(m_strExSDeDataPath, pbDestData, nDestLen, "解密后數據文件!");
MessageBox("會話解密數據成功!");
return;
}
void CCSPTEST2Dlg::OpenFile(CString strFilePath, BYTE *pbFiledata,
INT &nFileLen, CString strFileDescript)
{
UpdateData(TRUE);
CFile fp;
if(fp.Open(strFilePath, CFile::modeRead) == 0)
{
MessageBox("無法打開!"+strFileDescript);
return;
}
int nLenTemp = fp.GetLength();
fp.Read(pbFiledata, nLenTemp);
nFileLen = nLenTemp;
fp.Close();
return;
}
void CCSPTEST2Dlg::OnBrownExport(CString strExportPath)
{
UpdateData(TRUE);
CString strTempExportPath;
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(FALSE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
strTempExportPath = OpenFile.GetPathName();
m_strExEnPubPath = strTempExportPath;
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrownImport(CString strImportPath)
{
UpdateData(TRUE);
CString strTempImportPath;
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(TRUE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
strTempImportPath = OpenFile.GetPathName();
strImportPath = strTempImportPath;
UpdateData(FALSE);
return;
}
int CCSPTEST2Dlg::WriteFile(CString strFilePath, BYTE *pbFiledata, INT nFileLen, CString strFileDescript)
{
CFile fp;
if(fp.Open(strFilePath, CFile::modeWrite | CFile::modeCreate) == 0)
{
MessageBox("無法寫入文件!"+strFileDescript);
return -1;
}
fp.Write(pbFiledata, nFileLen);
fp.Close();
return 0;
}
void CCSPTEST2Dlg::OnBrown5()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(FALSE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strExportSessionPath = OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown6()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(TRUE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strImportSPubPath= OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown1()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(FALSE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strExEnPubPath = OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown2()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(FALSE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strExEnPriPath = OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown3()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(FALSE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strExSiPubPath = OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown4()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(FALSE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strExSiPriPath = OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown9()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(TRUE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strImEnPubPath= OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown10()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(TRUE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strImEnPriPath= OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown11()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(TRUE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strImSiPubPath= OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown12()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(TRUE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strImSiPriPath= OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown7()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(TRUE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strImSePath= OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown8()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(TRUE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strImSePriPath= OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnBrown13()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(TRUE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strImSEnDataPath= OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
void CCSPTEST2Dlg::OnButton14()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szFilter[] = "*.txt文件(*.txt)|*.txt|全部文件(*.*)|*.*||";
CFileDialog OpenFile(FALSE, NULL, "*.*",
OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_NOCHANGEDIR, szFilter, NULL);
if(OpenFile.DoModal() != IDOK)
{
return;
}
m_strExSDeDataPath= OpenFile.GetPathName();
UpdateData(FALSE);
return;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -