Refactor project structure
This commit is contained in:
58
core/anslicensing/sha1.h
Normal file
58
core/anslicensing/sha1.h
Normal file
@@ -0,0 +1,58 @@
|
||||
#ifndef ___SHA1_H___
|
||||
#define ___SHA1_H___
|
||||
|
||||
#include <stdio.h> // Needed for file access
|
||||
#include <memory.h> // Needed for memset and memcpy
|
||||
#include <string.h> // Needed for strcat and strcpy
|
||||
|
||||
#define SHA1_LITTLE_ENDIAN
|
||||
|
||||
#ifdef LICENSING_BIG_ENDIAN
|
||||
// If you're compiling big endian, just comment out the following line
|
||||
#undef SHA1_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
typedef union
|
||||
{
|
||||
unsigned char c[64];
|
||||
unsigned int l[16];
|
||||
} SHA1_WORKSPACE_BLOCK;
|
||||
|
||||
class SHA1
|
||||
{
|
||||
public:
|
||||
// Two different formats for ReportHash(...)
|
||||
enum
|
||||
{
|
||||
REPORT_HEX = 0,
|
||||
REPORT_DIGIT = 1
|
||||
};
|
||||
|
||||
// Constructor and Destructor
|
||||
SHA1();
|
||||
virtual ~SHA1();
|
||||
|
||||
unsigned int m_state[5];
|
||||
unsigned int m_count[2];
|
||||
unsigned char m_buffer[64];
|
||||
unsigned char m_digest[20];
|
||||
|
||||
void Reset();
|
||||
|
||||
// Update the hash value
|
||||
void Update(unsigned char *data, unsigned int len);
|
||||
|
||||
// Finalize hash and report
|
||||
void Final();
|
||||
void GetHash(unsigned char *uDest);
|
||||
|
||||
private:
|
||||
// Private SHA-1 transformation
|
||||
void Transform(unsigned int state[5], unsigned char buffer[64]);
|
||||
|
||||
// Member variables
|
||||
unsigned char m_workspace[64];
|
||||
SHA1_WORKSPACE_BLOCK *m_block; // SHA1 pointer to the byte array above
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user