21 template <
typename AeadType,
typename HkdfType>
44 bool setSecrets(
const std::vector<folly::ByteRange>& tokenSecrets);
53 using Salt = std::array<uint8_t, kSaltLength>;
AeadTokenCipher(std::vector< std::string > contextStrings)
constexpr detail::Map< Move > move
std::vector< uint8_t > Secret
std::array< uint8_t, kSaltLength > Salt
static constexpr size_t kMinTokenSecretLength
folly::Optional< Buf > encrypt(Buf plaintext) const
static constexpr size_t kTokenHeaderLength
std::vector< Secret > secrets_
std::unique_ptr< folly::IOBuf > Buf
static constexpr size_t kSaltLength
static constexpr StringPiece secret
bool setSecrets(const std::vector< folly::ByteRange > &tokenSecrets)
std::vector< std::string > contextStrings_
folly::Optional< Buf > decrypt(Buf) const
AeadType createAead(folly::ByteRange secret, folly::ByteRange salt) const