Botan 1.10.17

hash.h
Go to the documentation of this file.
1 /*
2 * Hash Function Base Class
3 * (C) 1999-2008 Jack Lloyd
4 *
5 * Distributed under the terms of the Botan license
6 */
7
8 #ifndef BOTAN_HASH_FUNCTION_BASE_CLASS_H__
9 #define BOTAN_HASH_FUNCTION_BASE_CLASS_H__
10
11 #include <botan/buf_comp.h>
12 #include <botan/algo_base.h>
13 #include <string>
14
15 namespace Botan {
16
17 /**
18 * This class represents hash function (message digest) objects
19 */
20 class BOTAN_DLL HashFunction : public Buffered_Computation,
21 public Algorithm
22 {
23 public:
24 /**
25 * Get a new object representing the same algorithm as *this
26 */
27 virtual HashFunction* clone() const = 0;
28
29 /**
30 * The hash block size as defined for this algorithm
31 */
32 virtual size_t hash_block_size() const { return 0; }
33 };
34
35 }
36
37 #endif
Botan::Buffered_Computation
Definition: buf_comp.h:20
Botan
Definition: algo_base.h:14
Botan::Algorithm
Definition: algo_base.h:19
Botan::HashFunction
Definition: hash.h:20
Botan::HashFunction::hash_block_size
virtual size_t hash_block_size() const
Definition: hash.h:32