MCPcopy Create free account
hub / github.com/Snapchat/Valdi / decrypt

Method decrypt

valdi/src/valdi/runtime/Utils/DataEncryptor.cpp:41–61  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39}
40
41bool DataEncryptor::decrypt(const Byte* data, size_t length, ByteBuffer& out) const {
42 snap::utils::crypto::AesEncryptor::Iv iv;
43
44 if (length < iv.size()) {
45 return false;
46 }
47
48 std::memcpy(iv.data(), data, iv.size());
49
50 snap::utils::crypto::AesEncryptor decrypter(_key, iv);
51
52 auto decryptResult = decrypter.decrypt(toSpan(data + iv.size(), length - iv.size()));
53
54 if (!decryptResult) {
55 return false;
56 }
57
58 out.append(decryptResult.value().data(), decryptResult.value().data() + decryptResult.value().size());
59
60 return true;
61}
62
63snap::utils::crypto::AesEncryptor::Key DataEncryptor::generateKey() {
64 snap::utils::crypto::AesEncryptor::Key key;

Callers 2

TESTFunction · 0.45
getMethod · 0.45

Calls 5

toSpanFunction · 0.85
appendMethod · 0.65
valueMethod · 0.65
sizeMethod · 0.45
dataMethod · 0.45

Tested by 1

TESTFunction · 0.36