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

📄 changeplace.cpp

📁 .net2003下写的多种加密加密算法的演示
💻 CPP
字号:
#include "StdAfx.h"
#include ".\changeplace.h"

CChangePlace::CChangePlace(void)
{
}

CChangePlace::~CChangePlace(void)
{
}

int CChangePlace::EncrypChgPl(int hang,int lie,CString file)
{
	CString str_path=file;

	int ii=str_path.ReverseFind('.');

	CString str_newfile=str_path.Left(ii);
	CString str_curfile=str_newfile+"enc.txt";

	CFile f_cur,f_enc;
	CFileException ex;
   // open the source file for reading
  
   if (!f_cur.Open(str_path,
	   CFile::modeRead , &ex))
   {
  
      TCHAR szError[1024];
      ex.GetErrorMessage(szError, 1024);
   }
   
   if (!f_enc.Open(str_curfile,
	   CFile::modeCreate|CFile::modeWrite , &ex))
   {
  
      TCHAR szError[1024];
      ex.GetErrorMessage(szError, 1024);
   }
   

   
   ULONGLONG l_leng=f_cur.GetLength();
  
	int i_block=hang*lie; 
	unsigned char buf[81];
	unsigned char bufenc[81];
	//CByteArray 
	UINT n;
	for(ULONGLONG i=0;i<=l_leng/i_block;i++)
	{
		n=f_cur.Read(buf,i_block);
		if(n<i_block)
		{
			for(int ii=n;ii<i_block;ii++)
				buf[ii]=' ';

		 // memcpy(bufenc,buf,81);
		 // f_enc.Write(bufenc,n);
		//  break;

		}
		//else
		{
		for(int ii=0;ii<lie;ii++)
		for(int jj=0;jj<hang;jj++)
			bufenc[ii*hang+jj]=buf[jj*lie+ii];
		f_enc.Write(bufenc,i_block);
		}

	//m_MINGWEN=buf;
	//	f_enc.Write(bufenc,n);

	//m_MIWEN
		if((i+1)*i_block==l_leng)
			 break;
	}
	f_cur.Close();
	f_enc.Close();
	return 1;

}
	
int CChangePlace::DecrypChgPl(int hang,int lie,CString file)
{


	CString str_path=file;

	int ii=str_path.ReverseFind('.');

	CString str_newfile=str_path.Left(ii);
	CString str_curfile=str_newfile+"dec.txt";

	CFile f_cur,f_enc;
	CFileException ex;
   // open the source file for reading
  
   if (!f_cur.Open(str_path,
	   CFile::modeRead , &ex))
   {
  
      TCHAR szError[1024];
      ex.GetErrorMessage(szError, 1024);
   }
   
   if (!f_enc.Open(str_curfile,
	   CFile::modeCreate|CFile::modeWrite , &ex))
   {
  
      TCHAR szError[1024];
      ex.GetErrorMessage(szError, 1024);
   }
   

   
   ULONGLONG l_leng=f_cur.GetLength();
  
	int i_block=hang*lie; 
	unsigned char buf[81];
	unsigned char bufenc[81];
	//CByteArray 
	UINT n;
	for(ULONGLONG i=0;i<=l_leng/i_block;i++)
	{
		n=f_cur.Read(buf,i_block);
		if(n<i_block)
		{
			for(int ii=n;ii<i_block;ii++)
				buf[ii]=' ';
		 // memcpy(bufenc,buf,81);
		 // f_enc.Write(bufenc,n);
		 // break;

		}
		//else
		//{
		for(int ii=0;ii<hang;ii++)
		for(int jj=0;jj<lie;jj++)
			bufenc[ii*lie+jj]=buf[jj*hang+ii];
		f_enc.Write(bufenc,i_block);
		//}

	//m_MINGWEN=buf;
	//	f_enc.Write(bufenc,n);

	//m_MIWEN
		if((i+1)*i_block==l_leng)
			 break;
	}
	f_cur.Close();
	f_enc.Close();
	return 1;



	return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -