aboutsummaryrefslogtreecommitdiffstats
path: root/src/hash
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-11-01 17:25:48 +0000
committerlloyd <[email protected]>2010-11-01 17:25:48 +0000
commit04cb06b11bbb64a6bf947abec8849d1bf02ec093 (patch)
treedc6508dfcc6084d7e52cfb2861462b8614a4dec4 /src/hash
parentba069386cdfb31720fa5a305c81baa18a0c8504d (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.h15
-rw-r--r--src/hash/info.txt2
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>