digestpp 1.0
C++11 header-only message digest library
Loading...
Searching...
No Matches
k12m14_mixin.hpp
Go to the documentation of this file.
1/*
2This code is written by kerukuro and released into public domain.
3*/
4
5#ifndef DIGESTPP_MIXINS_K12M14_HPP
6#define DIGESTPP_MIXINS_K12M14_HPP
7
8namespace digestpp
9{
10
11namespace mixin
12{
13
18template<typename T>
20{
21public:
22
29 inline hasher<T, mixin::k12m14_mixin>& set_customization(const std::string& customization)
30 {
31 auto& k12m14 = static_cast<hasher<T, mixin::k12m14_mixin>&>(*this);
32 k12m14.provider.set_customization(customization);
33 k12m14.provider.init();
34 return k12m14;
35 }
36
44 template<typename C, typename std::enable_if<detail::is_byte<C>::value>::type* = nullptr>
45 inline hasher<T, mixin::k12m14_mixin>& set_customization(const C* customization, size_t customization_len)
46 {
47 return set_customization(std::string(reinterpret_cast<const char*>(customization), customization_len));
48 }
49};
50
51} // namespace mixin
52
53} // namespace digestpp
54
55#endif // DIGESTPP_MIXINS_K12M14_HPP
Main class template implementing the public API for hashing.
Definition hasher.hpp:38
Defines additional public functions for KangarooTwelve and MarsupilamiFourteen.
Definition k12m14_mixin.hpp:20
hasher< T, mixin::k12m14_mixin > & set_customization(const std::string &customization)
Set customization from std::string.
Definition k12m14_mixin.hpp:29
hasher< T, mixin::k12m14_mixin > & set_customization(const C *customization, size_t customization_len)
Set customization from raw buffer.
Definition k12m14_mixin.hpp:45
digestpp namespace
Definition ascon.hpp:14