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

📄 test.cpp

📁 根据网上找到的算法进行了修改的C++DES加密解密算法
💻 CPP
字号:
#include "test.h"
#include "base64.hpp"

using namespace Test1;
using namespace Base64ENCRYPT;

test::test()
{
	fileRead();
	/*char inchar[512] = {"    <appender name=\"STDOUT\" class=\"org.apache.log4j.FileAppender\">"};
	char outchar[1024];
	char outC[1024];
	int inLen = strlen(inchar);
	int outLen;
	outLen = Base64Enc(outchar, inchar, inLen);
	cout << "base1 : " << outchar << endl;
	cout << "len : " << outLen << endl;
	Base64Dec(outC, outchar, outLen);
	cout << "base2 : " << outC << endl;*/
}

void test::fileExist(char *fileName)
{
	ofstream ofs123(fileName, ios::in);
	if (!ofs123)
	{
		ofs123.close();
		ofs123.open(fileName);
	}
	
	ofs123.close();
}

void test::fileWrite(char *fileName, char *writeWord, int dataLen, bool newLine)
{
	fileExist(fileName);
	ofstream ofs(fileName, ios::binary|ios::app);
	if (newLine)
		ofs.write("\n", strlen("\n"));
	ofs.write(writeWord,dataLen);
	ofs.close();
}

void test::fileRead()
{
	char linword[512];
	DSPDesEncryption aa;
	base64 a;
	char encryptWord[1024];
	int dataLen = sizeof(linword);
	int wordLen;
	int encryptLen;
	char fileName[] = "c:\\test1.txt";
	bool newLine = false;
	
	char *base64ENCRYPT;//[1024];
	int base64Len;
	
	ifstream fin;
	fin.open("c:\\test.txt", ios::binary);//log-svc.xml//test.txt

	while (!fin.eof())
	{
		fin.getline(linword, dataLen);
		wordLen = strlen(linword);
		//printf("%d", linword);
		cout << "word : " << linword << endl;
		cout << "wordLen : " << wordLen << endl;
		
		if (wordLen > 0)
		{
			aa.Encrypt(encryptWord, linword, wordLen);
			encryptLen = strlen(encryptWord);
			//fileWrite(fileName, encryptWord, encryptLen, newLine);
			cout << "encryptWord : " << encryptWord << endl;
			cout << "encryptLen : " << encryptLen << endl;
				
			base64ENCRYPT = a.base64_encode(encryptWord);
			base64Len = strlen(base64ENCRYPT);
		}else
		{
			base64ENCRYPT = encryptWord;
			base64Len = 0;
		}
		cout << "base64ENCRYPT : " << base64ENCRYPT << endl;
		cout << "base64Len : " << base64Len << endl;
		fileWrite(fileName, base64ENCRYPT, base64Len, newLine);
		
		memset(encryptWord, 0, 1024);
		newLine = true;
	}
	
	fin.close();
	cout << "***************************************" << endl;
	newFileRead();
}

void test::newFileRead()
{
	DSPDesEncryption bb;
	base64 b;
	ifstream fin1;
	fin1.open("c:\\test1.txt", ios::binary);
	
	char newLinword[512];
	char decryptWord[1024];
	int dataLen = sizeof(newLinword);
	int wordLen;
	int decryptLen;
	bool newLine = false;
	
	char *base64DECRYPT;//[1024];
	int base64Len;
	
	char fileName2[] = "c:\\test2.txt";
	
	while (!fin1.eof())
	{
		fin1.getline(newLinword, dataLen);
		cout << "newLinword : " <<newLinword<<endl;
		wordLen = strlen(newLinword);
		cout << "wordlen : " << wordLen << endl;
		
		if (wordLen > 0)
		{
			base64DECRYPT = b.base64_decode(newLinword);
			base64Len = strlen(base64DECRYPT);
		
			cout << "base64DECRYPT : " << base64DECRYPT << endl;
			cout << "base64Len : " << base64Len << endl;
			
			bb.Decrypt(decryptWord, base64DECRYPT, base64Len);
			decryptLen = strlen(decryptWord);
		}else
		{
			decryptLen = 0;
		}
		
		fileWrite(fileName2, decryptWord, decryptLen, newLine);
		cout << "code : " << decryptWord << endl;
		cout << "codeLen : " << strlen(decryptWord) << endl;
		
		memset(decryptWord, 0, 1024);
		newLine = true;
	}
	
	fin1.close();
}

⌨️ 快捷键说明

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