Files
2022-10-26 12:25:11 +08:00

32 lines
544 B
C++

#pragma once
namespace Crypt
{
class SHA1
{
public:
SHA1();
~SHA1();
static void EncodeString( BYTE* szString, BYTE digest[20] );
static void EncodeFile( BYTE* szFilename, BYTE digest[20] );
void Initialize();
void Update( BYTE* data, unsigned int len );
void Finalize( BYTE digest[20] );
private:
void Transform( unsigned long state[5], BYTE buffer[64] );
typedef struct
{
unsigned long state[5];
unsigned long count[2];
BYTE buffer[64];
} SHA1_CTX;
SHA1_CTX m_ctx;
};
}