diff options
Diffstat (limited to 'libs/sha1/sha1.h')
-rw-r--r-- | libs/sha1/sha1.h | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/libs/sha1/sha1.h b/libs/sha1/sha1.h index 15edee12e..9f526376e 100644 --- a/libs/sha1/sha1.h +++ b/libs/sha1/sha1.h @@ -1,27 +1,30 @@ /* sha1.h - header of - + ============ SHA-1 in C++ ============ - + 100% Public Domain. - + Original C Code -- Steve Reid <steve@edmweb.com> Small changes to fit into bglibs -- Bruce Guenter <bruce@untroubled.org> Translation to simpler C++ Code -- Volker Grabsch <vog@notjusthosting.com> + Fixing bugs and improving style + -- Eugene Hopkinson <slowriot at voxelstorm dot com> */ - + #ifndef SHA1_HPP #define SHA1_HPP - - + + #include <iostream> #include <string> - +#include <stdint.h> + class SHA1 { public: @@ -30,28 +33,25 @@ public: void update(std::istream &is); std::string final(); static std::string from_file(const std::string &filename); - + private: - typedef unsigned long int uint32; /* just needs to be at least 32bit */ - typedef unsigned long long uint64; /* just needs to be at least 64bit */ - static const unsigned int DIGEST_INTS = 5; /* number of 32bit integers per SHA1 digest */ static const unsigned int BLOCK_INTS = 16; /* number of 32bit integers per SHA1 block */ static const unsigned int BLOCK_BYTES = BLOCK_INTS * 4; - - uint32 digest[DIGEST_INTS]; + + uint32_t digest[DIGEST_INTS]; std::string buffer; - uint64 transforms; - + uint64_t transforms; + void reset(); - void transform(uint32 block[BLOCK_BYTES]); - - static void buffer_to_block(const std::string &buffer, uint32 block[BLOCK_BYTES]); - static void read(std::istream &is, std::string &s, int max); + void transform(uint32_t block[BLOCK_BYTES]); + + static void read(std::istream &is, std::string &s, size_t max); + static void buffer_to_block(const std::string &buffer, uint32_t block[BLOCK_INTS]); }; - + std::string sha1(const std::string &string); - - - + + + #endif /* SHA1_HPP */ |