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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lockandunlockview.cpp

?? RSA加密與解密算法的 C++實(shí)現(xiàn)
?? CPP
字號(hào):
// LockAndUnLockView.cpp : implementation of the CLockAndUnLockView class
//

#include "stdafx.h"
#include "LockAndUnLock.h"
#include "rsa.h"
#include "input.h"
#include "LockAndUnLockDoc.h"
#include "LockAndUnLockView.h"

#include	<iostream.h>
#include	<iomanip.h>
#include	<stdlib.h>
#include	<fstream.h>

#include "WelCome.h"//包含頭文件.

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

/////////////////////////////////////////////////////////////////////////////
// CLockAndUnLockView

IMPLEMENT_DYNCREATE(CLockAndUnLockView, CFormView)

BEGIN_MESSAGE_MAP(CLockAndUnLockView, CFormView)
	//{{AFX_MSG_MAP(CLockAndUnLockView)
	ON_BN_CLICKED(ID_LOCKFILE_MENU, OnLockfileMenu)
	ON_BN_CLICKED(ID_LOCKSAVE_MENU, OnLocksaveMenu)
	ON_BN_CLICKED(ID_UNLOCKFILE_MENU, OnUnlockfileMenu)
	ON_BN_CLICKED(ID_UNLOCKSAVE_MENU, OnUnlocksaveMenu)
	ON_BN_CLICKED(ID_LOCKRAS_MENU, OnLockrasMenu)
	ON_BN_CLICKED(ID_UNLOCKRAS_MENU, OnUnlockrasMenu)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLockAndUnLockView construction/destruction

CLockAndUnLockView::CLockAndUnLockView()
	: CFormView(CLockAndUnLockView::IDD)
{
	//{{AFX_DATA_INIT(CLockAndUnLockView)
	m_InFileContent = _T("");
	m_OutFileContent = _T("");
	//}}AFX_DATA_INIT
	// TODO: add construction code here

}

CLockAndUnLockView::~CLockAndUnLockView()
{
}

void CLockAndUnLockView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLockAndUnLockView)
	DDX_Text(pDX, IDC_INFILE_EDIT, m_InFileContent);
	DDX_Text(pDX, IDC_OUTFILE_EDIT, m_OutFileContent);
	//}}AFX_DATA_MAP
}

BOOL CLockAndUnLockView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CFormView::PreCreateWindow(cs);
}

void CLockAndUnLockView::OnInitialUpdate()
{
	CFormView::OnInitialUpdate();
	GetParentFrame()->RecalcLayout();
	ResizeParentToFit();
    
	CWelCome m_Welcome;
	m_Welcome.DoModal();

    while (m_Welcome.m_HavePass!=true )
	{
		MessageBox("密碼錯(cuò)誤,請(qǐng)重新登錄","錯(cuò)誤信息");
		m_Welcome.m_PassWord="";
		m_Welcome.DoModal();
	}
		
	m_InFilePool=NULL;//輸入文件的緩沖區(qū)
    m_OutFilePool=NULL;//輸出文件的緩沖區(qū)
	m_intInFilePool=NULL;//輸入文件的緩沖區(qū)
    m_intOutFilePool=NULL;//輸出文件的緩沖區(qū)
	m_InFileLength=0;
	m_OutFileLength=0;
	
}

/////////////////////////////////////////////////////////////////////////////
// CLockAndUnLockView printing

BOOL CLockAndUnLockView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CLockAndUnLockView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CLockAndUnLockView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

void CLockAndUnLockView::OnPrint(CDC* pDC, CPrintInfo* /*pInfo*/)
{
	// TODO: add customized printing code here
}

/////////////////////////////////////////////////////////////////////////////
// CLockAndUnLockView diagnostics

#ifdef _DEBUG
void CLockAndUnLockView::AssertValid() const
{
	CFormView::AssertValid();
}

void CLockAndUnLockView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}

CLockAndUnLockDoc* CLockAndUnLockView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CLockAndUnLockDoc)));
	return (CLockAndUnLockDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CLockAndUnLockView message handlers

void CLockAndUnLockView::OnLockfileMenu() 
{
	// TODO: Add your control notification handler code here
	//這個(gè)部份用來(lái)將文件讀出數(shù)據(jù),并且將數(shù)據(jù)存放于m_InFilePool中(它是一個(gè)BYTE* 指針)
	//它的內(nèi)容長(zhǎng)度放在m_InFileLength中.


	CString m_filename;  //文件名字

	CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT);//打開無(wú)類型文件

    if (m_InFilePool!=NULL) 
	{
		delete m_InFilePool;
        m_InFilePool=NULL;//如果不為空的指針,就將之前的輸入文件緩沖清空.
	}

	if(dlg.DoModal()==IDOK)
	{ 
	 m_filename=dlg.GetPathName(); //得名字
    
	 if(!m_InFile.Open(m_filename,CFile::modeRead))
	 {
		MessageBox("讀入錯(cuò)誤");
		return;
	 } 
	 else
	 {
	  m_InFileLength=m_InFile.GetLength();
      m_InFilePool=new byte[m_InFileLength+1];//分配內(nèi)存給它.

      m_InFile.Read(m_InFilePool,m_InFileLength);//原文件的數(shù)據(jù)放在此處.

	  m_InFilePool[m_InFileLength]='\0';
	  m_InFileContent=m_InFilePool;  //內(nèi)容加入到一個(gè)TXT框中顯示出來(lái).中能顯示TXT類型的文件.
      
	  UpdateData(false);


	  m_InFile.Close();//文件關(guān)掉.
	 } 
	}
	
	
}

void CLockAndUnLockView::OnLocksaveMenu() 
{
	// TODO: Add your control notification handler code here

	//在執(zhí)行這個(gè)操作之前,要將結(jié)果的內(nèi)容放入m_OutFilePool中,
	//并且要設(shè)置好m_OutFileLength;
	int tmp=0;
    UpdateData(true);//將數(shù)據(jù)讀入
    CString m_FileName;//保存的文件名
  
   	CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT);
	if(dlg.DoModal()==IDOK)
	{
	  m_FileName=dlg.GetPathName();
	  if(!m_OutFile.Open(m_FileName,CFile::modeCreate))
	  {
		  MessageBox("寫入錯(cuò)誤");
		  return;
	  }
	  else
	  {   
		m_OutFile.Close();
		ofstream writefile(m_FileName,ios::binary);		//打開寫文件
		if( !writefile )
		{
			return ;
		}
		for(int n=0; n<m_OutFileLength; n++)
		{
			tmp=m_intOutFilePool[n];			
			writefile.write((char *)&tmp,sizeof(int));
		}
		writefile.close();
//      m_OutFile.Write(m_OutFilePool,m_OutFileLength);
        UpdateData(false);
         
		if (m_intOutFilePool!=NULL) delete m_intOutFilePool;
		if (m_intInFilePool!=NULL) delete m_intInFilePool;
		if (m_OutFilePool!=NULL) delete m_OutFilePool;
		if (m_InFilePool!=NULL) delete m_InFilePool;
		m_OutFilePool=NULL;//delete 完之后一定要清成NULL,不然就不知道有沒有釋放內(nèi)存的啦.
		m_InFilePool=NULL;
		m_intOutFilePool=NULL;//delete 完之后一定要清成NULL,不然就不知道有沒有釋放內(nèi)存的啦.
		m_intInFilePool=NULL;
	 }
	}
}

void CLockAndUnLockView::OnUnlockfileMenu() 
{
	// TODO: Add your control notification handler code here
	// OnLockfileMenu();
	int tmp;
	CString m_filename;  //文件名字
	CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT);//打開無(wú)類型文件
    if (m_InFilePool!=NULL) 
	{
		delete m_InFilePool;
        m_InFilePool=NULL;//如果不為空的指針,就將之前的輸入文件緩沖清空.
	}
	if (m_intInFilePool!=NULL) 
	{
		delete m_intInFilePool;
        m_intInFilePool=NULL;//如果不為空的指針,就將之前的輸入文件緩沖清空.
	}

	if(dlg.DoModal()==IDOK)
	{ 
		m_filename=dlg.GetPathName(); //得名字
		if(!m_InFile.Open(m_filename,CFile::modeRead))
		{
			MessageBox("讀入錯(cuò)誤");
			return;
		} 
		else
		{
			m_InFile.Close();

			ifstream length(m_filename,ios::binary);		//打開讀文件
			if( !length )
			{
				return ;
			}
			for(m_InFileLength=-1;length;m_InFileLength++) //計(jì)算文件長(zhǎng)度
			{
				length.read((char*)&tmp,sizeof(int));
			}							
			length.close();
			m_InFilePool=new byte[m_InFileLength+1];//分配內(nèi)存給它.
			m_intInFilePool=new int[m_InFileLength+1];//分配內(nèi)存給它.


//			readfile.fseek(0,ios::beg);				//移到文件首
			ifstream readfile(m_filename, ios::binary);		//打開讀文件
			if( !readfile )
			{
				return ;
			}
			for(int n=0; n<m_InFileLength; n++)
			{
				readfile.read((char*)&tmp,sizeof(int));
				m_intInFilePool[n]=tmp;
				m_InFilePool[n]=(char)tmp;
			}
			readfile.close();
			m_InFilePool[m_InFileLength]='\0';
			m_InFileContent=m_InFilePool;  //內(nèi)容加入到一個(gè)TXT框中顯示出來(lái).中能顯示TXT類型的文件.
			UpdateData(false);
		} 
	}
	
}

void CLockAndUnLockView::OnUnlocksaveMenu() 
{
	// TODO: Add your control notification handler code here
	
	//在執(zhí)行這個(gè)操作之前,要將結(jié)果的內(nèi)容放入m_OutFilePool中,
	//并且要設(shè)置好m_OutFileLength;

    UpdateData(true);//將數(shù)據(jù)讀入
    CString m_FileName;//保存的文件名
  
   	CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT);
	if(dlg.DoModal()==IDOK)
	{
	  m_FileName=dlg.GetPathName();
	  if(!m_OutFile.Open(m_FileName,CFile::modeCreate))
	  {MessageBox("寫入錯(cuò)誤");return;}
	 else
	 {   
		m_OutFile.Close();
	    m_OutFile.Open(m_FileName,CFile::modeReadWrite);
		
 //       m_OutFilePool=m_InFilePool;  //測(cè)試時(shí)用的.
//		m_OutFileLength=m_InFileLength;//測(cè)試時(shí)用的.

        m_OutFile.Write(m_OutFilePool,m_OutFileLength);
        UpdateData(false);
	    m_OutFile.Close();
         
		if (m_OutFilePool!=NULL) delete m_OutFilePool;
		if (m_InFilePool!=NULL) delete m_InFilePool;
		m_OutFilePool=NULL;//delete 完之后一定要清成NULL,不然就不知道有沒有釋放內(nèi)存的啦.
		m_InFilePool=NULL;
	 }
	}
}

BOOL CLockAndUnLockView::DestroyWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	if (m_InFilePool!=NULL) delete m_InFilePool;//假如沒有釋放內(nèi)存的在此釋放.
	if (m_OutFilePool!=NULL) delete m_OutFilePool;
	if (m_intInFilePool!=NULL) delete m_intInFilePool;//假如沒有釋放內(nèi)存的在此釋放.
	if (m_intOutFilePool!=NULL) delete m_intOutFilePool;

	return CFormView::DestroyWindow();
}

void CLockAndUnLockView::OnLockrasMenu() 
{
	// TODO: Add your control notification handler code here
	input input_ME;
	rsa rsa;

	if (m_intOutFilePool!=NULL) 
	{
		delete m_intOutFilePool;
        m_intOutFilePool=NULL;//如果不為空的指針,就將之前的輸入文件緩沖清空.
	}
	m_intOutFilePool=new int[m_InFileLength+1];		//分配內(nèi)存給它.
	if (m_OutFilePool!=NULL) 
	{
		delete m_OutFilePool;
        m_OutFilePool=NULL;//如果不為空的指針,就將之前的輸入文件緩沖清空.
	}
	m_OutFilePool=new byte[m_InFileLength+1];		//分配內(nèi)存給它.
	m_OutFileLength=m_InFileLength;

	if(input_ME.DoModal()==IDOK)		//輸入 
	{
		if( !rsa.set_pqde(input_ME.m_intM,input_ME.m_intE) )
		{
			AfxMessageBox("輸入的 M 不正確");
			return;
		}
		for(int n=0;n<m_InFileLength;n++)
		{
			m_intOutFilePool[n]=rsa.encry((int)m_InFilePool[n]);
		}
		for(n=0;n<m_OutFileLength;n++)
		{
			m_OutFilePool[n]=(byte)m_intOutFilePool[n];
		}
		m_OutFilePool[m_InFileLength]='\0';
		m_OutFileContent=m_OutFilePool;  //內(nèi)容加入到一個(gè)TXT框中顯示出來(lái).中能顯示TXT類型的文件.
		UpdateData(false);
	}
	else
	{
		return;
	}
	
}

void CLockAndUnLockView::OnUnlockrasMenu() 
{
	// TODO: Add your control notification handler code here
	input input_ME;
	rsa rsa;
	if (m_OutFilePool!=NULL) 
	{
		delete m_OutFilePool;
        m_OutFilePool=NULL;//如果不為空的指針,就將之前的輸入文件緩沖清空.
	}
	m_OutFilePool=new byte[m_InFileLength+1];		//分配內(nèi)存給它.
	m_OutFileLength=m_InFileLength;
	if(input_ME.DoModal()==IDOK)		//輸入 
	{
		if( !rsa.set_pqde(input_ME.m_intM,input_ME.m_intE) )
		{
			AfxMessageBox("輸入的 M 不正確");
			return;
		}
		for(int n=0;n<m_InFileLength;n++)
		{
			(byte)m_OutFilePool[n]=rsa.decode((int)m_intInFilePool[n]);
		}
		m_OutFilePool[m_InFileLength]='\0';
		m_OutFileContent=m_OutFilePool;  //內(nèi)容加入到一個(gè)TXT框中顯示出來(lái).中能顯示TXT類型的文件.
		UpdateData(false);
	}
	else
	{
		return;
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丝袜呻吟高潮美腿白嫩在线观看| 国产精品亚洲一区二区三区妖精| av在线播放一区二区三区| 精品国产123| 日本三级亚洲精品| 在线不卡一区二区| 亚洲国产精品久久艾草纯爱| 91福利精品视频| 亚洲美女在线一区| 97se亚洲国产综合在线| 国产精品福利在线播放| 不卡高清视频专区| 国产精品乱码一区二三区小蝌蚪| 国产精品一二三四五| 久久久久久久久岛国免费| 激情文学综合插| 精品国产髙清在线看国产毛片 | 26uuu久久天堂性欧美| 蜜桃视频免费观看一区| 欧美一级在线观看| 久久精品久久久精品美女| 日韩午夜在线观看| 久久精品免费观看| 2024国产精品视频| 国产99久久久久久免费看农村| 久久人人97超碰com| 国产精品一区二区久久精品爱涩| 久久综合99re88久久爱| 国产成人av影院| 国产精品久久久久久久久搜平片| 99久久免费精品| 一区二区三区四区精品在线视频| 在线国产亚洲欧美| 午夜精品福利一区二区蜜股av | 一本一本久久a久久精品综合麻豆| √…a在线天堂一区| 一本一道综合狠狠老| 亚洲成人av在线电影| 欧美一区二区三区在线看| 激情图区综合网| 国产精品久久99| 日本韩国精品在线| 日韩电影免费在线看| 亚洲精品一区在线观看| 岛国av在线一区| 亚洲精品高清视频在线观看| 欧美另类变人与禽xxxxx| 久久国产欧美日韩精品| 欧美经典三级视频一区二区三区| 99久久综合精品| 五月天亚洲婷婷| 久久午夜电影网| 色婷婷激情综合| 免费欧美高清视频| 中文字幕av一区二区三区免费看 | 欧美精品 日韩| 国产综合成人久久大片91| 国产精品家庭影院| 欧美日韩成人激情| 国产精品资源在线看| 亚洲裸体在线观看| 日韩一区二区麻豆国产| 成人黄色777网| 午夜精品久久久久久久| 2022国产精品视频| 日本韩国一区二区| 久久99国产精品免费网站| 国产精品美女久久久久久久久 | 91麻豆精品国产91久久久久| 国产乱码精品一区二区三区五月婷| 亚洲欧洲日韩av| 欧美一区二区三区视频| 成人av在线资源网| 三级欧美在线一区| 国产精品日韩精品欧美在线| 欧美日韩第一区日日骚| 成人网在线免费视频| 日日夜夜免费精品视频| 中文字幕av免费专区久久| 制服丝袜亚洲色图| 99久久精品99国产精品| 美女免费视频一区| 亚洲精品一二三| 久久在线观看免费| 欧美午夜精品久久久久久孕妇| 国产馆精品极品| 日韩成人免费看| 1000部国产精品成人观看| 精品粉嫩超白一线天av| 欧美午夜精品久久久久久超碰| 国产91对白在线观看九色| 日韩不卡一二三区| 亚洲婷婷在线视频| 久久这里都是精品| 3atv一区二区三区| 91麻豆国产精品久久| 激情深爱一区二区| 日本欧美在线观看| 亚洲最新在线观看| 国产精品国产三级国产| 精品国产一区二区国模嫣然| 欧美日韩国产另类不卡| 色综合久久中文综合久久牛| 国产福利一区二区| 久久国产婷婷国产香蕉| 亚洲va韩国va欧美va| 亚洲色图19p| 国产精品视频看| 久久久久高清精品| 日韩一级精品视频在线观看| 欧美性受xxxx黑人xyx性爽| www.色综合.com| 国产精品一级片| 国内成人精品2018免费看| 日韩在线一二三区| 亚洲国产人成综合网站| 亚洲男女一区二区三区| 国产精品久久久久永久免费观看 | 欧美精品三级在线观看| 色婷婷狠狠综合| 99re6这里只有精品视频在线观看| 国产乱子伦视频一区二区三区 | 青青草国产精品97视觉盛宴| 亚洲伊人色欲综合网| 亚洲欧美国产毛片在线| 国产精品高潮呻吟| 日韩一区欧美小说| 综合久久久久久久| 中文字幕一区二区三区精华液| 国产亚洲制服色| 久久精品亚洲精品国产欧美| 欧美精品一区二区三区在线播放 | 国产免费成人在线视频| 久久久久久久久久看片| 久久理论电影网| 国产亚洲综合色| 国产女主播一区| 欧美高清在线视频| 国产精品欧美精品| 国产精品超碰97尤物18| 日韩美女视频一区二区 | 国产精品色哟哟网站| 国产精品美女久久久久高潮| 国产精品视频麻豆| 亚洲欧美国产77777| 一区二区三区日韩在线观看| 亚洲精品成人在线| 亚洲午夜激情网站| 丝袜美腿一区二区三区| 日韩电影在线一区| 久久国产福利国产秒拍| 国产一区二区三区日韩| 国产麻豆成人传媒免费观看| 懂色av一区二区三区免费观看| 成人免费视频免费观看| 91美女福利视频| 欧美日韩视频第一区| 日韩网站在线看片你懂的| 久久久五月婷婷| 国产精品久久久久久久久免费相片 | 欧美日韩一区 二区 三区 久久精品| 欧美亚洲动漫精品| 日韩亚洲欧美综合| 久久久美女毛片| 国产精品灌醉下药二区| 亚洲一区二区3| 蜜臀va亚洲va欧美va天堂| 国产精品一区二区三区网站| youjizz国产精品| 欧美性欧美巨大黑白大战| 日韩一级高清毛片| 国产目拍亚洲精品99久久精品| 亚洲欧美日韩在线播放| 天堂一区二区在线| 国模套图日韩精品一区二区 | 国产一区二区福利视频| 99v久久综合狠狠综合久久| 欧美性色欧美a在线播放| 欧美成人aa大片| 国产精品久久久久久久第一福利| 亚洲综合久久久久| 久久av资源站| 99精品国产热久久91蜜凸| 欧美日韩久久久久久| 2023国产精华国产精品| 亚洲欧美国产77777| 老司机精品视频一区二区三区| 国产成a人无v码亚洲福利| 欧美亚洲综合色| 欧美精品一区二区三区蜜臀| ㊣最新国产の精品bt伙计久久| 午夜视频在线观看一区二区三区 | 日韩高清一级片| 岛国一区二区三区| 91.成人天堂一区| 中文欧美字幕免费| 天堂va蜜桃一区二区三区| 国产成人av在线影院| 欧美丰满一区二区免费视频| 国产亚洲欧洲997久久综合|