#pragma once #include #include template class ObfuscatedString { private: std::array data; public: constexpr ObfuscatedString(const std::array& obfuscatedData) : data(obfuscatedData) { } std::string decrypt() const { std::string result; result.reserve(N); for (char c : data) { result.push_back(c ^ KEY); } return result; } }; // Helper constexpr pour faire le chiffrement à la compilation template constexpr auto make_obfuscated(const char(&input)[N]) { std::array result{}; for (size_t i = 0; i < N; ++i) { result[i] = input[i] ^ KEY; } return ObfuscatedString(result); }