資源簡介
運用OpenSSL實現對文件加密,適合新手學習openssl相關api的使用

代碼片段和文件信息
//?DlgDec.cpp?:?implementation?file
//
#include?“stdafx.h“
#include?“osslin.h“
#include?“DlgDec.h“
#include?“Structs.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?CDlgDec?dialog
CDlgDec::CDlgDec(CWnd*?pParent?/*=NULL*/)
:?CDialog(CDlgDec::IDD?pParent)
{
//{{AFX_DATA_INIT(CDlgDec)
m_keyOrder?=?-1;
m_inPath?=?_T(““);
m_key?=?_T(““);
m_keyPath?=?_T(““);
m_outPath?=?_T(““);
//}}AFX_DATA_INIT
}
void?CDlgDec::DoDataExchange(CDataExchange*?pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgDec)
DDX_Control(pDX?IDC_LIST_DEC_INFOSHOW?m_infoList);
DDX_Radio(pDX?IDC_RADIO_KEYORDER?m_keyOrder);
DDX_Text(pDX?IDC_EDIT_DEC_INPATH?m_inPath);
DDX_Text(pDX?IDC_EDIT_DEC_KEY?m_key);
DDX_Text(pDX?IDC_EDIT_DEC_KEYPATH?m_keyPath);
DDX_Text(pDX?IDC_EDIT_DEC_OUTPATH?m_outPath);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgDec?CDialog)
//{{AFX_MSG_MAP(CDlgDec)
ON_BN_CLICKED(IDC_BUT_DEC_GO?OnButDecGo)
ON_BN_CLICKED(IDC_BUT_INPATH?OnButInpath)
ON_BN_CLICKED(IDC_BUT_KEYPATH?OnButKeypath)
ON_BN_CLICKED(IDC_BUT_OUTPATH?OnButOutpath)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?CDlgDec?message?handlers
void?CDlgDec::ChoseFilePath(CString?&?filepath)
{
CFileDialog?fdlg(true);
fdlg.m_ofn.lpstrtitle=“選擇路徑“;
fdlg.m_ofn.lpstrFilter=“Key?Files(*.*)\0*.*\0All?Files(*.*)\0*.*\0\0“;
if(IDOK==fdlg.DoModal())
{
filepath?=?fdlg.GetPathName();
}
}
BYTE?*?CDlgDec::base64(int?ioflagBYTE?*?inint?&?length)
{
BYTE??*?out=(BYTE?*)malloc(sizeof(BYTE)*length*2);
if(ioflag==0)
{
length=EVP_EncodeBlock(outinlength);
return?out;
}
else?if(ioflag==1)
{
int?pad=0;
BYTE?*p=in+length-1;
for(int?i=0;i<4;i++)
{
?if(*p==‘=‘)pad++;
?p--;
}
length=EVP_DecodeBlock(outinlength);
length-=pad;
return?out;
}
return?NULL;
}
void?CDlgDec::SetEncInfo()
{
this->UpdateData(TRUE);
CComboBox?*?pCombo?=?(CComboBox?*)GetDlgItem(IDC_COMBO_DECWAY);
m_encOrder?=?pCombo->GetCurSel();
}
void?CDlgDec::InitEnc()
{
md=EVP_md5();
EVP_CIPHER_CTX_init(&ctx);
switch(m_encOrder)
{
case?0:
cipher=EVP_aes_128_cbc();
break;
case?1:
cipher=EVP_aes_128_cfb();
break;
case?2:
cipher=EVP_aes_128_ecb();
break;
case?3:
cipher=EVP_aes_128_ofb();
break;
case?4:
cipher=EVP_aes_192_cbc();
break;
case?5:
cipher=EVP_aes_192_cfb();
break;
case?6:
cipher=EVP_aes_192_ecb();
break;
case?7:
cipher=EVP_aes_192_ofb();
break;
case?8:
cipher=EVP_aes_256_cbc();
break;
case?9:
cipher=EVP_aes_256_cfb();
break;
case?10:
cipher=EVP_aes_256_ecb();
break;
case?11:
cipher=EVP_aes_256_ofb();
break;
case?12:
cipher=EVP_bf_cbc();
break;
case?13:
ciphe
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????15436??2018-07-31?21:39??OssLin\a.txt
?????文件??????44059??2008-07-03?11:39??OssLin\Debug\DlgDec.obj
?????文件??????47877??2008-07-03?14:14??OssLin\Debug\DlgEnc.obj
?????文件????1110016??2008-03-21?11:16??OssLin\Debug\libeay32.dll
?????文件?????127073??2008-07-05?20:57??OssLin\Debug\OssLin.exe
?????文件?????391524??2008-07-05?20:57??OssLin\Debug\OssLin.ilk
?????文件??????16712??2008-07-03?14:14??OssLin\Debug\OssLin.obj
?????文件????5501952??2008-06-28?11:17??OssLin\Debug\OssLin.pch
?????文件?????484352??2008-07-05?20:57??OssLin\Debug\OssLin.pdb
?????文件???????5360??2008-07-05?20:57??OssLin\Debug\OssLin.res
?????文件??????28316??2008-07-03?14:14??OssLin\Debug\OssLinDlg.obj
?????文件?????????22??2008-07-03?16:51??OssLin\Debug\regsvr32.trg
?????文件???????1778??2008-07-03?16:51??OssLin\Debug\SimpleExt.lib
?????文件?????204800??2008-03-21?11:16??OssLin\Debug\ssleay32.dll
?????文件?????105869??2008-06-28?11:17??OssLin\Debug\StdAfx.obj
?????文件?????222208??2008-07-05?20:57??OssLin\Debug\vc60.idb
?????文件?????397312??2008-07-03?14:14??OssLin\Debug\vc60.pdb
?????文件???????8827??2008-07-03?11:39??OssLin\DlgDec.cpp
?????文件???????1841??2008-07-03?11:34??OssLin\DlgDec.h
?????文件??????10578??2008-07-03?11:26??OssLin\DlgEnc.cpp
?????文件???????1900??2008-07-03?14:14??OssLin\DlgEnc.h
?????文件????1110016??2008-03-21?11:16??OssLin\libeay32.dll
?????文件?????664754??2008-03-21?11:16??OssLin\libeay32.lib
?????文件??????39596??2008-07-05?20:57??OssLin\OssLin.aps
?????文件???????3097??2008-07-05?20:57??OssLin\OssLin.clw
?????文件???????2384??2008-06-28?17:12??OssLin\OssLin.cpp
?????文件???????4520??2008-07-01?21:07??OssLin\OssLin.dsp
?????文件????????520??2008-06-28?11:17??OssLin\OssLin.dsw
?????文件???????1324??2008-06-28?11:17??OssLin\OssLin.h
?????文件??????66560??2008-07-05?20:57??OssLin\OssLin.ncb
............此處省略20個文件信息
- 上一篇:MFC_跑酷游戲小Demo
- 下一篇:基于51系列單片機的電子羅盤設計總結報告
評論
共有 條評論