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

📄 md5ex.h

📁 QQ自动登陆器, 同时支持TM, 利用QQ可以从命令行接收参数登陆的特点制做, 源码中有QQ密码加密的完整算法, 开发环境, VC++6.0
💻 H
字号:

#ifndef _MD5EX_H
#define _MD5EX_H

#include "MD5.h"
#include "MemberFxn.h"

#pragma warning(disable : 4786)
#include <string>
using namespace std;

class MD5Ex : public MD5
{
public:

	MD5Ex();
	virtual ~MD5Ex();

private:

	string	m_strErr;		// 错误描述
	bool	m_bTerminate;	// 终止文件计算标志

	// 将寄存器A, B, C, D的值转换为十六进制, 并以字符串方式返回
	string	ResultToHex(unsigned char digest[16], bool bUppercase = true);

	// 调用用户指定的回调函数
	void	OnFileProcessing(int nProgress, MemberFxn addr);

public:


	/** 获取文件的MD5值
		参数
			FileName	- 文件名
			bUppercase	- 结果是否转换为大写
			addr		- 回调函数地址, 通过回调函数把计算进度回传给用户, 
						  函数原型:void OnFileProcessing(int nProgress);
						  nProgress 为文件计算进度值(1 - 100)
		注意
			因为在对一个较大的文件计算MD5值的时间较长, 为避免界面发生假死
			现象, 请将这个函数放在一个单独的线程中调用
	*/
	string	MD5File   (const char *FileName, bool bUppercase = true, MemberFxn addr = 0);

	/** 获取字符串的MD5值
		pData		- 待计算MD5值的数据
		DataLen		- 数据长度(单位, 字节)
		Uppercase	- 结果是否转换为大写
	*/
	string	MD5String (unsigned char *pData, unsigned long DataLen, bool bUppercase = true);

	/** 此函数可提前结束MD5File函数的执行
	*/
	void	StopCalculate();

	// 获取错误描述
	string GetError();
};

#endif

⌨️ 快捷键说明

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