亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dlgfiledlg.cpp

?? 本源碼介紹了1種文件加密算法的C++程序,供大家參考學習
?? CPP
字號:
// dlgfileDlg.cpp : implementation file
//

#include "stdafx.h"
#include "dlgfile.h"
#include "dlgfileDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgfileDlg dialog

CDlgfileDlg::CDlgfileDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgfileDlg::IDD, pParent)
{

	//{{AFX_DATA_INIT(CDlgfileDlg)
	m_strFilePath = _T("");
	m_strPassWord = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CDlgfileDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgfileDlg)
	DDX_Control(pDX, IDC_FILE_PATHWORD, m_CtrlPWD);
	DDX_Text(pDX, IDC_FLIE_PATH, m_strFilePath);
	DDX_Text(pDX, IDC_FILE_PATHWORD, m_strPassWord);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CDlgfileDlg, CDialog)
	//{{AFX_MSG_MAP(CDlgfileDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_SELECT_FILE, OnSelectFile)
	ON_BN_CLICKED(IDC_ECFILE, OnEcfile)
	ON_BN_CLICKED(IDC_DCFILE, OnDcfile)
	ON_BN_CLICKED(IDC_EXIT, OnExit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgfileDlg message handlers

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

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	m_bCheck = FALSE;	//文件沒加密

	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CDlgfileDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CDlgfileDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CDlgfileDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CDlgfileDlg::OnSelectFile() 
{
	// TODO: Add your control notification handler code here
	CFileDialog dlg(true);
	if(dlg.DoModal() == IDOK)
	{
		m_strFilePath = dlg.GetPathName();		//其中m_strFilePath為CString型
		UpdateData(FALSE);
	}
	m_bCheck = BEcfile((LPCTSTR) m_strFilePath);
	GetDlgItem(IDC_ECFILE)->EnableWindow(!m_bCheck);	
}

_int64 CDlgfileDlg::epass()
{
	DWORD plen;
	char *ppass;
	__int64 mc= 8757735233305;
	UpdateData(TRUE);

	ppass = m_strPassWord.GetBuffer(0);

	plen = strlen(ppass);

	for(int i=0; i<(int)plen; i++)
	{
		mc ^= ppass[i]|128;
	}
	return mc;

}

BOOL CDlgfileDlg::ecfile(LPCTSTR fpath)
{
	char *data;
	CFile *file;
	DWORD flen;

	_int64 m_password = epass();//密碼初始化

	file = new CFile;
	if ( !file->Open(fpath, CFile::shareDenyNone|CFile::modeReadWrite))
	{
		return FALSE;
	}

	flen = file->GetLength();
	data = new char[(int)flen];//為文件分配內存

	file->SeekToBegin();
	file->Read(data, flen);

        //這里把文件的所有字節都進行加密了
	for(int i=0; i<(int)flen; i++)
	{
		data[i] ^= m_password;
		data[i] ^= flen;                //因為每次加密后文件的大小都會增加5字節,所以如果兩次用同一密碼進行加密也沒關系
	}

	file->SeekToBegin();
	file->Write(data, flen);
	delete[] data;                          //先釋放內存

	//添加密碼驗證信息
	char cpass[5] = "love";
	for(int j=0; j<5; j++)
	{
		cpass[j] ^= m_password;
	}
	file->SeekToEnd();
	file->Write(&cpass, 5);        //在文件尾添加密碼嚴整部分,,這樣文件就會增加5字節

	char cExtern = 'a';  //在文件最后加上1個a,用于判斷該文件是否已經加密
	file->SeekToEnd();
	file->Write(&cExtern, 1); 

	file->Close();
	delete file;

	m_bCheck = TRUE;

	return TRUE;
}

BOOL CDlgfileDlg::dcfile(LPCTSTR fpath)
{
	char *data;
	CFile *file;
	DWORD flen;
	char love[5];

	file = new CFile;
	if( !file->Open(fpath, CFile::shareDenyNone|CFile::modeReadWrite))
	{
		return FALSE;
	}

	flen = file->GetLength();
	file->SetLength(flen - 1);

	flen = file->GetLength();
	data = new char[(int)flen];
	//檢驗密碼是不是正確
	file->Seek(-5, CFile::end);
	file->Read(&love, 5);

	_int64 m_password = epass();

	for(int i=0; i<5; i++)
	{
              love[i] ^= m_password;
	}

	if(strcmp(love, "love")!=0)
	{
		MessageBox("the wrong password!");
		return FALSE;
	}

	//解密
	file->SeekToBegin();
	file->Read(data, flen);

        //按照原來的方法進行解密
	for(int j=0; j<(int)flen; j++)
	{
		data[j] ^= m_password;
		data[j] ^= (flen-5);
	}
	file->SeekToBegin();
	file->Write(data, flen);
	file->SetLength(flen-5);     //刪除加密是添加的密碼驗證部分
	file->Close();

	delete[] data;
	delete file;

	m_bCheck = TRUE;

	return TRUE;

}

void CDlgfileDlg::OnEcfile() 
{
	// TODO: Add your control notification handler code here

	ecfile((LPCTSTR)m_strFilePath);
	GetDlgItem(IDC_ECFILE)->EnableWindow(!m_bCheck);
	m_CtrlPWD.SetWindowText("");
}

void CDlgfileDlg::OnDcfile() 
{
	// TODO: Add your control notification handler code here

	dcfile((LPCTSTR)m_strFilePath);
	GetDlgItem(IDC_ECFILE)->EnableWindow(TRUE);	
	m_CtrlPWD.SetWindowText("");
}

void CDlgfileDlg::OnExit() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnOK();
}

BOOL CDlgfileDlg::BEcfile(LPCTSTR sfilepath)
{
	char cExtern;
	char d = 'a';
	CFile f;
	f.Open( (LPCTSTR)m_strFilePath, CFile::shareDenyNone|CFile::modeReadWrite );
	f.Seek(-1, CFile::end);
	f.Read(&cExtern, 1);

	if( cExtern == 'a' )
	{
		return TRUE;
	}
	else
	{
		return FALSE;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产免费| 麻豆91在线观看| 日本成人在线网站| 国产成人在线观看免费网站| 色综合中文字幕国产 | 欧美性高清videossexo| 3d动漫精品啪啪一区二区竹菊| 久久精品免费在线观看| 五月天激情综合网| 99久久精品国产导航| 91精品视频网| 亚洲在线一区二区三区| 国产一区日韩二区欧美三区| 欧美日韩在线播| 亚洲国产高清aⅴ视频| 爽好久久久欧美精品| 成人高清视频在线| 日韩免费成人网| 亚洲午夜视频在线| aa级大片欧美| 久久午夜老司机| 欧美aⅴ一区二区三区视频| 日本丰满少妇一区二区三区| 国产免费久久精品| 韩国av一区二区三区在线观看| 欧美日韩一区中文字幕| 亚洲精品久久嫩草网站秘色| 国产成a人亚洲精品| 日韩精品一区二| 日本亚洲欧美天堂免费| 在线一区二区视频| 亚洲欧美日韩久久| bt7086福利一区国产| 国产精品另类一区| 国产成人在线视频网站| 久久日韩精品一区二区五区| 美女一区二区视频| 欧美一级专区免费大片| 日韩av电影免费观看高清完整版| 91黄视频在线| 亚洲午夜激情av| 色菇凉天天综合网| 亚洲精品日韩综合观看成人91| 成人国产精品免费观看视频| 欧美国产精品中文字幕| 国产传媒一区在线| 欧美激情综合网| 国产成人精品免费视频网站| 国产清纯在线一区二区www| 国产成人午夜视频| 中文字幕精品三区| av在线不卡网| 亚洲一区二区偷拍精品| 欧美日韩中文字幕一区| 婷婷久久综合九色综合伊人色| 欧美日韩亚洲综合| 麻豆成人免费电影| 久久中文字幕电影| 成人av影视在线观看| 亚洲欧美综合网| 91成人免费电影| 日韩影院免费视频| 26uuu亚洲综合色欧美| 成人免费看片app下载| 亚洲综合激情小说| 日韩一区二区在线看| 国产在线一区二区| 亚洲乱码中文字幕| 67194成人在线观看| 国产老女人精品毛片久久| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美刺激午夜性久久久久久久| 国模一区二区三区白浆| 国产精品福利在线播放| 精品视频在线免费看| 精品一区二区三区视频| 中文字幕亚洲视频| 欧美精品在线视频| 国产成人免费网站| 亚洲最新视频在线观看| 日韩欧美综合在线| 91视频一区二区| 午夜精品久久久久影视| 久久综合狠狠综合| 欧美日韩在线不卡| 国产白丝精品91爽爽久久| 亚洲国产精品久久人人爱蜜臀| 日韩欧美电影一二三| 99国内精品久久| 看片的网站亚洲| 亚洲精品五月天| 26uuu亚洲综合色欧美 | 国产精品久久久久7777按摩| 欧美日韩精品电影| av色综合久久天堂av综合| 蜜桃av噜噜一区| 亚洲欧洲日韩一区二区三区| 日韩免费观看2025年上映的电影 | 日本中文字幕不卡| 国产精品久久久久四虎| 日韩亚洲欧美在线| 欧美写真视频网站| 成人av集中营| 国产一区二区三区不卡在线观看| 亚洲一区在线观看视频| 一区在线中文字幕| 久久久久久久免费视频了| 欧美精品第1页| 在线观看网站黄不卡| 国产精品77777| 久久99九九99精品| 日本在线不卡一区| 亚洲综合视频在线观看| 亚洲精品一卡二卡| 日韩一区中文字幕| 欧美激情一区二区三区不卡| 日韩欧美的一区| 日韩视频免费直播| 日韩欧美区一区二| 日韩精品中文字幕一区二区三区| 欧美三级乱人伦电影| 欧美性做爰猛烈叫床潮| 色哟哟精品一区| 一本大道久久a久久精二百| 成人动漫一区二区| av午夜一区麻豆| 91免费观看视频| 色视频一区二区| 欧美在线一二三四区| 欧美在线高清视频| 欧美视频完全免费看| 欧美影院精品一区| 欧美日韩久久不卡| 91精品免费观看| 精品少妇一区二区三区日产乱码 | 国产精品视频看| 中文字幕第一页久久| 国产精品视频麻豆| 亚洲蜜臀av乱码久久精品蜜桃| 《视频一区视频二区| 亚洲精品免费在线观看| 亚洲高清免费一级二级三级| 视频一区在线播放| 久久99国产精品麻豆| 国产伦精一区二区三区| 成人av免费在线观看| 色老综合老女人久久久| 欧美日韩精品三区| 亚洲精品一区二区在线观看| 欧美高清在线一区二区| 亚洲色图视频网站| 视频一区二区三区入口| 狠狠色丁香婷综合久久| www.爱久久.com| 色婷婷av一区二区三区之一色屋| 欧美日韩精品欧美日韩精品| 精品国产一区二区亚洲人成毛片 | 亚洲精品国产成人久久av盗摄| 夜夜揉揉日日人人青青一国产精品| 午夜欧美一区二区三区在线播放| 日韩精品久久久久久| 国产91精品一区二区麻豆网站| 91麻豆福利精品推荐| 日韩欧美国产一区在线观看| 国产精品色在线| 日韩专区中文字幕一区二区| 国产高清不卡二三区| 欧美性大战xxxxx久久久| 精品国内二区三区| 亚洲自拍偷拍九九九| 国内精品视频一区二区三区八戒| 99热99精品| 欧美大片一区二区| 依依成人精品视频| 精品影院一区二区久久久| 在线区一区二视频| 国产亲近乱来精品视频| 日韩成人伦理电影在线观看| 不卡av免费在线观看| 日韩欧美一级精品久久| 艳妇臀荡乳欲伦亚洲一区| 国产福利精品一区| 欧美一级二级三级蜜桃| 国产精品久久久久久久久免费樱桃| 日本亚洲三级在线| 欧美丝袜自拍制服另类| 国产精品久久久久一区二区三区 | 欧美亚洲高清一区二区三区不卡| 国产日韩欧美制服另类| 久色婷婷小香蕉久久| 91精品久久久久久久99蜜桃 | 成人av午夜影院| 欧美精品一区在线观看| 日韩国产成人精品| 欧美日本在线播放| 亚洲一区二区三区在线| 色婷婷av一区| 一区二区三区在线观看国产| av不卡在线播放| 中文字幕一区二区三区蜜月|