libpromeki
1.0.0-alpha
PROfessional MEdia toolKIt
Loading...
Searching...
No Matches
hmac.h
Go to the documentation of this file.
1
8
#pragma once
9
10
11
#include <promeki/config.h>
12
#if PROMEKI_ENABLE_CORE
13
#include <cstdint>
14
#include <cstddef>
15
#include <
promeki/namespace.h
>
16
#include <
promeki/sha1.h
>
17
#include <
promeki/sha2.h
>
18
#include <
promeki/uniqueptr.h
>
19
20
PROMEKI_NAMESPACE_BEGIN
21
30
SHA256Digest hmacSha256(
const
void
*key,
31
size_t
keyLen,
32
const
void
*data,
33
size_t
dataLen);
34
43
SHA1Digest hmacSha1(
const
void
*key,
44
size_t
keyLen,
45
const
void
*data,
46
size_t
dataLen);
47
59
class
HmacSha256 {
60
public
:
61
HmacSha256(
const
void
*key,
size_t
keyLen);
62
~HmacSha256();
63
64
HmacSha256(
const
HmacSha256 &) =
delete
;
65
HmacSha256 &operator=(
const
HmacSha256 &) =
delete
;
66
HmacSha256(HmacSha256 &&) noexcept = default;
67
HmacSha256 &operator=(HmacSha256 &&) noexcept = default;
68
70
void
update(const
void
*data,
size_t
len);
71
73
SHA256Digest finalize();
74
75
private:
76
struct Impl;
77
UniquePtr<Impl> _d;
78
};
79
80
PROMEKI_NAMESPACE_END
81
82
#endif
// PROMEKI_ENABLE_CORE
namespace.h
sha1.h
sha2.h
uniqueptr.h
include
promeki
hmac.h
Generated on 2026-05-21 02:27:58 from commit ffbc5cc (1.0.0-alpha).