diff options
Diffstat (limited to 'cpp/include/Ice/SHA1.h')
-rw-r--r-- | cpp/include/Ice/SHA1.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/cpp/include/Ice/SHA1.h b/cpp/include/Ice/SHA1.h new file mode 100644 index 00000000000..7666d0c2a0f --- /dev/null +++ b/cpp/include/Ice/SHA1.h @@ -0,0 +1,47 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#ifndef ICE_SHA1_H +#define ICE_SHA1_H + +#include <Ice/Config.h> +#include <Ice/UniquePtr.h> + +#include <vector> + +namespace IceInternal +{ + +ICE_API void +sha1(const unsigned char*, std::size_t, std::vector<unsigned char>&); + +#ifndef ICE_OS_UWP +class ICE_API SHA1 +{ +public: + + SHA1(); + ~SHA1(); + + void update(const unsigned char*, std::size_t); + void finalize(std::vector<unsigned char>&); + +private: + + // noncopyable + SHA1(const SHA1&); + SHA1 operator=(const SHA1&); + + class Hasher; + UniquePtr<Hasher> _hasher; +}; +#endif + +} +#endif |