3주 전 · Jul 27, 2026 2:27 PM
Clean C++20 string obfuscation macro that encrypts strings at compile time with zero runtime decryption overhead:
CPP
template <size_t N, uint32_t Seed>
class ObfuscatedString {
char m_data[N];
public:
consteval ObfuscatedString(const char(&str)[N]) {
for (size_t i = 0; i < N; i++) {
m_data[i] = str[i] ^ (char)((Seed + i * 7) & 0xFF);
}
}
std::string Decrypt() const {
std::string res(N - 1, '\0');
for (size_t i = 0; i < N - 1; i++) {
res[i] = m_data[i] ^ (char)((Seed + i * 7) & 0xFF);
}
return res;
}
};
#define CRYPT_STR(s) ([]() { consteval ObfuscatedString<sizeof(s), __LINE__ * 0x5F37> x(s); return x; }().Decrypt())