26 virtual ~Hkdf() =
default;
28 virtual std::vector<uint8_t>
extract(
32 virtual std::unique_ptr<folly::IOBuf>
expand(
35 size_t outputBytes)
const = 0;
37 virtual std::unique_ptr<folly::IOBuf>
hkdf(
41 size_t outputBytes)
const = 0;
53 template <
typename Hash>
56 static constexpr
size_t HashLen = Hash::HashLen;
61 std::unique_ptr<folly::IOBuf>
expand(
64 size_t outputBytes)
const override;
66 std::unique_ptr<folly::IOBuf>
hkdf(
70 size_t outputBytes)
const override;
virtual std::vector< uint8_t > extract(folly::ByteRange salt, folly::ByteRange ikm) const =0
size_t hashLength() const override
virtual size_t hashLength() const =0
virtual std::unique_ptr< folly::IOBuf > hkdf(folly::ByteRange ikm, folly::ByteRange salt, const folly::IOBuf &info, size_t outputBytes) const =0
virtual std::unique_ptr< folly::IOBuf > expand(folly::ByteRange extractedKey, const folly::IOBuf &info, size_t outputBytes) const =0