diff options
author | Loic Blot <loic.blot@unix-experience.fr> | 2015-02-21 13:00:57 +0100 |
---|---|---|
committer | Loic Blot <loic.blot@unix-experience.fr> | 2015-02-21 14:03:27 +0100 |
commit | 3998a1f8f98c9d95a4b91b7a95612c6313081279 (patch) | |
tree | 52a1dfc796173a122fa46955b6fb979271f852b5 /src/util/sha1.h | |
parent | aa31e3c7f31fc00abc64551ebc03ed757311280a (diff) | |
download | minetest-3998a1f8f98c9d95a4b91b7a95612c6313081279.tar.gz minetest-3998a1f8f98c9d95a4b91b7a95612c6313081279.tar.bz2 minetest-3998a1f8f98c9d95a4b91b7a95612c6313081279.zip |
Move sha1.hpp and base64.hpp to util/
Diffstat (limited to 'src/util/sha1.h')
-rw-r--r-- | src/util/sha1.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/util/sha1.h b/src/util/sha1.h new file mode 100644 index 000000000..c04947373 --- /dev/null +++ b/src/util/sha1.h @@ -0,0 +1,51 @@ +/* sha1.h + +Copyright (c) 2005 Michael D. Leonhard + +http://tamale.net/ + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +#ifndef SHA1_HEADER +typedef unsigned int Uint32; + +class SHA1 +{ + private: + // fields + Uint32 H0, H1, H2, H3, H4; + unsigned char bytes[64]; + int unprocessedBytes; + Uint32 size; + void process(); + public: + SHA1(); + ~SHA1(); + void addBytes( const char* data, int num ); + unsigned char* getDigest(); + // utility methods + static Uint32 lrot( Uint32 x, int bits ); + static void storeBigEndianUint32( unsigned char* byte, Uint32 num ); + static void hexPrinter( unsigned char* c, int l ); +}; + +#define SHA1_HEADER +#endif |