INNER CODE UNIT · C++
H
7thSamurai/steganography · src/sha256.cpp:127
static void H(const void *data1, std::size_t size1, const void *data2, std::size_t size2, std::uint8_t hash[32]) {
SHA256 sha;
sha.update(data1, size1);
sha.update(data2, size2);
sha.finish();
sha.get_hash(hash);
}
void hmac_sha256(const void *data, std::size_t size, const void *key, std::size_t key_size, std::uint8_t hash[32]) {
std::uint8_t K[64];
std::fill_n(K, 64, 0x00);
if (key_size <= 64)
std::copy_n(static_cast<const std::uint8_t*>(key), key_size, K);
else if (key_size > 64) {
SHA256 sha;
sha.update(key, key_size);