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

📄 messagedigest.cpp

📁 实现多种加解密算法
💻 CPP
字号:

//MessageDigest.cpp

#include "stdafx.h"
#include "MessageDigest.h"
#include "DoubleBuffering.h"

#include <exception>
#include <fstream>
#include <strstream>

using namespace std;

//Digesting a Full File
void IMessageDigest::DigestFile(string const& rostrFileIn, char* pcDigest)
{
	//Is the User's responsability to ensure that pcDigest is appropriately allocated
	//Open Input File
	ifstream in(rostrFileIn.c_str(), ios::binary);
	if(!in)
	{
		ostrstream ostr;
		ostr << "FileDigest ERROR: in IMessageDigest::DigestFile(): Cannot open File " << rostrFileIn << "!" << ends;
		string ostrMsg = ostr.str();
		ostr.freeze(false);
		throw runtime_error(ostrMsg);
	}
	//Resetting first
	Reset();
	//Reading from file
	char szLargeBuff[BUFF_LEN+1] = {0};
	char szBuff[DATA_LEN+1] = {0};
	CDoubleBuffering oDoubleBuffering(in, szLargeBuff, BUFF_LEN, DATA_LEN);
	int iRead;
	while((iRead=oDoubleBuffering.GetData(szBuff)) > 0)
		AddData(szBuff, iRead);
	in.close();
	//Final Step
	FinalDigest(pcDigest);
}

⌨️ 快捷键说明

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