www.pudn.com > 基于SHA-256的HMAC文件校验器.rar > HMac.h


// HMac.h: interface for the CHMac class. 
// Programmed by Gamsn 2005.10.22 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_HMAC_H__152DF4F0_2C04_4F57_BECF_B45504ADFE71__INCLUDED_) 
#define AFX_HMAC_H__152DF4F0_2C04_4F57_BECF_B45504ADFE71__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include "Sha256.h" 
 
class CHMac   
{ 
public: 
	CHMac(); 
	virtual ~CHMac(); 
	CSha256 m_sha256; 
	DWORD m_dwA1,m_dwB1,m_dwC1,m_dwD1,m_dwE1,m_dwF1,m_dwG1,m_dwH1; 
	DWORD m_dwA2,m_dwB2,m_dwC2,m_dwD2,m_dwE2,m_dwF2,m_dwG2,m_dwH2; 
	//参数中的长度均为字节长度而不是BIT长度 
	void PreCalcu(CString strKey); 
	void GenMac(CString srcFileName,CString *strHMac); 
	void HashPro(BYTE sText[], int nSLen); 
}; 
 
#endif // !defined(AFX_HMAC_H__152DF4F0_2C04_4F57_BECF_B45504ADFE71__INCLUDED_)