diff options
Diffstat (limited to 'engines/sword25/kernel/md5.h')
-rwxr-xr-x | engines/sword25/kernel/md5.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/engines/sword25/kernel/md5.h b/engines/sword25/kernel/md5.h new file mode 100755 index 0000000000..d2ac60afc8 --- /dev/null +++ b/engines/sword25/kernel/md5.h @@ -0,0 +1,56 @@ +// ----------------------------------------------------------------------------- +// This file is part of Broken Sword 2.5 +// Copyright (c) Malte Thiesen, Daniel Queteschiner and Michael Elsdörfer +// +// Broken Sword 2.5 is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// Broken Sword 2.5 is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Broken Sword 2.5; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// ----------------------------------------------------------------------------- + +#ifndef BS_MD5_H +#define BS_MD5_H + +// ----------------------------------------------------------------------------- +// Includes +// ----------------------------------------------------------------------------- + +#include "kernel/common.h" +#include "kernel/bs_stdint.h" + +// ----------------------------------------------------------------------------- +// Klassendefinition +// ----------------------------------------------------------------------------- + +typedef uint8_t md5_byte_t; /* 8-bit byte */ +typedef uint32_t md5_word_t; /* 32-bit word */ + +/* Define the state of the MD5 Algorithm. */ +typedef struct md5_state_s { + md5_word_t count[2]; /* message length in bits, lsw first */ + md5_word_t abcd[4]; /* digest buffer */ + md5_byte_t buf[64]; /* accumulate block */ +} md5_state_t; + +class BS_MD5 +{ +public: + BS_MD5(); + + void Update(const unsigned char * Buffer, unsigned int Length); + void GetDigest(unsigned char Digest[16]); + +private: + md5_state_t m_state; +}; + +#endif |