File: groestl.hpp

package info (click to toggle)
rapmap 0.15.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,228 kB
  • sloc: cpp: 48,810; ansic: 4,686; sh: 215; python: 82; makefile: 15
file content (44 lines) | stat: -rw-r--r-- 967 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
This code is written by kerukuro and released into public domain.
*/

#ifndef DIGESTPP_ALGORITHM_GROESTL_HPP
#define DIGESTPP_ALGORITHM_GROESTL_HPP

#include "../hasher.hpp"
#include "detail/groestl_provider.hpp"

namespace digestpp
{

/**
 * @brief Grøstl hash function
 *
 * @hash
 *
 * @outputsize 8 - 512 bits
 *
 * @defaultsize none
 *
 * @throw std::runtime_error if the requested digest size is not divisible by 8 (full bytes), 
 * or is not within the supported range
 *
 * @par Example:\n
 * @code // Output a 256-bit Grøstl digest of a string
 * digestpp::groestl hasher(256);
 * hasher.absorb("The quick brown fox jumps over the lazy dog");
 * std::cout << hasher.hexdigest() << '\n';
 * @endcode
 *
 * @par Example output:\n
 * @code 8c7ad62eb26a21297bc39c2d7293b4bd4d3399fa8afab29e970471739e28b301
 * @endcode
 *
 * @sa hasher
 */
typedef hasher<detail::groestl_provider> groestl;

} // namespace digestpp

#endif // DIGESTPP_ALGORITHM_GROESTL_HPP