8 #include <botan/internal/core_engine.h>     9 #include <botan/scan_name.h>    10 #include <botan/algo_factory.h>    13 #if defined(BOTAN_HAS_ADLER32)    14   #include <botan/adler32.h>    17 #if defined(BOTAN_HAS_CRC24)    18   #include <botan/crc24.h>    21 #if defined(BOTAN_HAS_CRC32)    22   #include <botan/crc32.h>    25 #if defined(BOTAN_HAS_BMW_512)    26   #include <botan/bmw_512.h>    29 #if defined(BOTAN_HAS_GOST_34_11)    30   #include <botan/gost_3411.h>    33 #if defined(BOTAN_HAS_HAS_160)    34   #include <botan/has160.h>    37 #if defined(BOTAN_HAS_KECCAK)    38   #include <botan/keccak.h>    41 #if defined(BOTAN_HAS_MD2)    42   #include <botan/md2.h>    45 #if defined(BOTAN_HAS_MD4)    46   #include <botan/md4.h>    49 #if defined(BOTAN_HAS_MD5)    50   #include <botan/md5.h>    53 #if defined(BOTAN_HAS_RIPEMD_128)    54   #include <botan/rmd128.h>    57 #if defined(BOTAN_HAS_RIPEMD_160)    58   #include <botan/rmd160.h>    61 #if defined(BOTAN_HAS_SHA1)    62   #include <botan/sha160.h>    65 #if defined(BOTAN_HAS_SHA2_32)    66   #include <botan/sha2_32.h>    69 #if defined(BOTAN_HAS_SHA2_64)    70   #include <botan/sha2_64.h>    73 #if defined(BOTAN_HAS_SKEIN_512)    74   #include <botan/skein_512.h>    77 #if defined(BOTAN_HAS_TIGER)    78   #include <botan/tiger.h>    81 #if defined(BOTAN_HAS_WHIRLPOOL)    82   #include <botan/whrlpool.h>    85 #if defined(BOTAN_HAS_PARALLEL_HASH)    86   #include <botan/par_hash.h>    89 #if defined(BOTAN_HAS_COMB4P)    90   #include <botan/comb4p.h>   101 #if defined(BOTAN_HAS_ADLER32)   106 #if defined(BOTAN_HAS_CRC24)   111 #if defined(BOTAN_HAS_CRC32)   116 #if defined(BOTAN_HAS_BMW_512)   121 #if defined(BOTAN_HAS_GOST_34_11)   126 #if defined(BOTAN_HAS_HAS_160)   131 #if defined(BOTAN_HAS_KECCAK)   136 #if defined(BOTAN_HAS_MD2)   141 #if defined(BOTAN_HAS_MD4)   146 #if defined(BOTAN_HAS_MD5)   151 #if defined(BOTAN_HAS_RIPEMD_128)   156 #if defined(BOTAN_HAS_RIPEMD_160)   161 #if defined(BOTAN_HAS_SHA1)   166 #if defined(BOTAN_HAS_SHA2_32)   173 #if defined(BOTAN_HAS_SHA2_64)   180 #if defined(BOTAN_HAS_TIGER)   186 #if defined(BOTAN_HAS_SKEIN_512)   192 #if defined(BOTAN_HAS_WHIRLPOOL)   197 #if defined(BOTAN_HAS_COMB4P)   208 #if defined(BOTAN_HAS_PARALLEL_HASH)   212       std::vector<const HashFunction*> hash_prototypes;
   217       for(
size_t i = 0; i != request.
arg_count(); ++i)
   223          hash_prototypes.push_back(hash);
   226       std::vector<HashFunction*> hashes;
   227       for(
size_t i = 0; i != hash_prototypes.size(); ++i)
   228          hashes.push_back(hash_prototypes[i]->clone());
 
size_t arg_as_integer(size_t i, size_t def_value) const
virtual HashFunction * clone() const =0
const HashFunction * prototype_hash_function(const std::string &algo_spec, const std::string &provider="")
std::string arg(size_t i) const
std::string algo_name() const
HashFunction * find_hash(const SCAN_Name &request, Algorithm_Factory &) const