diff options
author | lloyd <[email protected]> | 2010-11-01 17:25:48 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2010-11-01 17:25:48 +0000 |
commit | 04cb06b11bbb64a6bf947abec8849d1bf02ec093 (patch) | |
tree | dc6508dfcc6084d7e52cfb2861462b8614a4dec4 /src/hash | |
parent | ba069386cdfb31720fa5a305c81baa18a0c8504d (diff) |
Add new top-level algorithm which provides basic functionality: name
query, clearing, and cloning. Applies to ciphers, hashes, MACs, and
PBKDFs. May extend to KDFs later as well.
A single combined hierarchy in particular will make the algo_factory
much simpler.
Diffstat (limited to 'src/hash')
-rw-r--r-- | src/hash/hash.h | 15 | ||||
-rw-r--r-- | src/hash/info.txt | 2 |
2 files changed, 4 insertions, 13 deletions
diff --git a/src/hash/hash.h b/src/hash/hash.h index af411fb87..366c929b5 100644 --- a/src/hash/hash.h +++ b/src/hash/hash.h @@ -9,6 +9,7 @@ #define BOTAN_HASH_FUNCTION_BASE_CLASS_H__ #include <botan/buf_comp.h> +#include <botan/algo_base.h> #include <string> namespace Botan { @@ -16,7 +17,8 @@ namespace Botan { /** * This class represents hash function (message digest) objects */ -class BOTAN_DLL HashFunction : public BufferedComputation +class BOTAN_DLL HashFunction : public Buffered_Computation, + public Algorithm { public: /** @@ -25,21 +27,10 @@ class BOTAN_DLL HashFunction : public BufferedComputation virtual HashFunction* clone() const = 0; /** - * Get the name of this algorithm. - * @return name of this algorithm - */ - virtual std::string name() const = 0; - - /** * The hash block size as defined for this algorithm */ virtual size_t hash_block_size() const { return 0; } - /** - * Reset the internal state of this object. - */ - virtual void clear() = 0; - private: HashFunction& operator=(const HashFunction&); }; diff --git a/src/hash/info.txt b/src/hash/info.txt index a048df7d9..d991577f7 100644 --- a/src/hash/info.txt +++ b/src/hash/info.txt @@ -1,3 +1,3 @@ <requires> -buf_comp +algo_base </requires> |