5#ifndef DIGESTPP_MIXINS_BLAKE2_HPP
6#define DIGESTPP_MIXINS_BLAKE2_HPP
33 return set_salt(salt.c_str(), salt.size());
46 template<typename C, typename std::enable_if<detail::is_byte<C>::value>::type* =
nullptr>
50 blake.provider.set_salt(
reinterpret_cast<const unsigned char*
>(salt), salt_len);
51 blake.provider.init();
79 template<typename C, typename std::enable_if<detail::is_byte<C>::value>::type* =
nullptr>
83 blake.provider.set_personalization(
reinterpret_cast<const unsigned char*
>(personalization), personalization_len);
84 blake.provider.init();
100 blake.provider.set_key(key);
101 blake.provider.init();
115 template<typename C, typename std::enable_if<detail::is_byte<C>::value>::type* =
nullptr>
118 return set_key(std::string(
reinterpret_cast<const char*
>(key), key_len));
Main class template implementing the public API for hashing.
Definition hasher.hpp:38
Defines additional public functions for BLAKE2 family of algorithms.
Definition blake2_mixin.hpp:20
hasher< T, mixin::blake2_mixin > & set_key(const std::string &key)
Set key from std::string.
Definition blake2_mixin.hpp:97
hasher< T, mixin::blake2_mixin > & set_salt(const C *salt, size_t salt_len)
Set salt from raw buffer.
Definition blake2_mixin.hpp:47
hasher< T, mixin::blake2_mixin > & set_salt(const std::string &salt)
Set salt from std::string.
Definition blake2_mixin.hpp:31
hasher< T, mixin::blake2_mixin > & set_key(const C *key, size_t key_len)
Set key from raw buffer.
Definition blake2_mixin.hpp:116
hasher< T, mixin::blake2_mixin > & set_personalization(const C *personalization, size_t personalization_len)
Set personalization from raw buffer.
Definition blake2_mixin.hpp:80
hasher< T, mixin::blake2_mixin > & set_personalization(const std::string &personalization)
Set personalization from std::string.
Definition blake2_mixin.hpp:64
hasher< detail::blake_provider<>, mixin::blake_mixin > blake
BLAKE hash function (SHA-3 finalist)
Definition blake.hpp:58
digestpp namespace
Definition ascon.hpp:14