?? md5ex.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 + -