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)
124 #endif // LS_ENCRYPT_STRING_H