refactor: commit to 8 byte obfuscation keys

Since 31 byte xor-keys are not used in the codebase, using the common size (8 bytes) makes the benchmarks more realistic.

Co-authored-by: maflcko <6399679+maflcko@users.noreply.github.com>
This commit is contained in:
Lőrinc
2025-07-15 14:54:58 -07:00
parent 7aa557a37b
commit 54ab0bd64c
9 changed files with 36 additions and 16 deletions

View File

@@ -11,6 +11,7 @@
#include <streams.h>
#include <util/fs.h>
#include <util/fs_helpers.h>
#include <util/obfuscation.h>
#include <util/strencodings.h>
#include <algorithm>
@@ -249,7 +250,7 @@ CDBWrapper::CDBWrapper(const DBParams& params)
}
// The base-case obfuscation key, which is a noop.
obfuscate_key = std::vector<unsigned char>(OBFUSCATE_KEY_NUM_BYTES, '\000');
obfuscate_key = std::vector<unsigned char>(Obfuscation::KEY_SIZE, '\000');
bool key_exists = Read(OBFUSCATE_KEY_KEY, obfuscate_key);
@@ -316,15 +317,13 @@ size_t CDBWrapper::DynamicMemoryUsage() const
// past the null-terminator.
const std::string CDBWrapper::OBFUSCATE_KEY_KEY("\000obfuscate_key", 14);
const unsigned int CDBWrapper::OBFUSCATE_KEY_NUM_BYTES = 8;
/**
* Returns a string (consisting of 8 random bytes) suitable for use as an
* obfuscating XOR key.
*/
std::vector<unsigned char> CDBWrapper::CreateObfuscateKey() const
{
std::vector<uint8_t> ret(OBFUSCATE_KEY_NUM_BYTES);
std::vector<uint8_t> ret(Obfuscation::KEY_SIZE);
GetRandBytes(ret);
return ret;
}