MCPcopy Create free account
hub / github.com/WasmEdge/WasmEdge / stateEncrypt

Function stateEncrypt

plugins/wasi_crypto/symmetric/state.cpp:154–171  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

152}
153
154WasiCryptoExpect<size_t> stateEncrypt(StateVariant &StateVariant,
155 Span<uint8_t> Out,
156 Span<const uint8_t> Data) noexcept {
157 return std::visit(
158 [=](auto &State) noexcept -> WasiCryptoExpect<size_t> {
159 return State.maxTagLen()
160 .and_then([DataSize = Data.size()](size_t TagLen) noexcept {
161 return checkedAdd(DataSize, TagLen);
162 })
163 .and_then([Out, Data, &State](size_t ActualDataLen) noexcept
164 -> WasiCryptoExpect<size_t> {
165 ensureOrReturn(Out.size() == ActualDataLen,
166 __WASI_CRYPTO_ERRNO_INVALID_LENGTH);
167 return State.encrypt(Out, Data);
168 });
169 },
170 StateVariant);
171}
172
173WasiCryptoExpect<Tag> stateEncryptDetached(StateVariant &StateVariant,
174 Span<uint8_t> Out,

Callers 1

symmetricStateEncryptMethod · 0.85

Calls 4

checkedAddFunction · 0.85
maxTagLenMethod · 0.45
sizeMethod · 0.45
encryptMethod · 0.45

Tested by

no test coverage detected