1#ifndef LS_ENCRYPT_STRING_H
2#define LS_ENCRYPT_STRING_H
18#define TBX_XSTR_SEED \
19 ((__TIME__[7] - '0') * 1ull + (__TIME__[6] - '0') * 10ull + (__TIME__[4] - '0') * 60ull + \
20 (__TIME__[3] - '0') * 600ull + (__TIME__[1] - '0') * 3600ull + \
21 (__TIME__[0] - '0') * 36000ull)
24#define TBX_XSTR_SEED (3600ull)
39#define Random_LCG() linear_congruent_generator(10)
40#define XSTR_RANDOM_NUMBER(Min, Max) (Min + (Random_LCG() % (Max - Min + 1)))
50 return character ^
static_cast<Char
>(
XORKEY + index);
64 for (
unsigned i = 0u; i < size; ++i)
65 _string[i] = encrypt_character<Char>(
string[i], i);
73 string[t] =
string[t] ^
static_cast<Char
>(
XORKEY + t);
83#define XorS(name, my_string) \
84 constexpr LicenseSpring::Xor_string<(sizeof(my_string) / sizeof(char)), char> name(my_string)
85#define XorString(my_string) \
87 constexpr LicenseSpring::Xor_string<(sizeof(my_string) / sizeof(char)), char> expr( \
93#define XorWS(name, my_string) \
94 constexpr LicenseSpring::Xor_string<(sizeof(my_string) / sizeof(wchar_t)), wchar_t> name( \
96#define XorWideString(my_string) \
98 constexpr LicenseSpring::Xor_string<(sizeof(my_string) / sizeof(wchar_t)), wchar_t> expr( \
112#define EncryptStr(s) XorString(s)
122#define EncryptWStr(s) XorWideString(s)
#define XSTR_RANDOM_NUMBER(Min, Max)
constexpr Xor_string(const Char *string)
constexpr Char encrypt_character(const Char character, int index)
constexpr unsigned long long linear_congruent_generator(unsigned rounds)
constexpr const unsigned long long XORKEY