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
constexpr Char encrypt_character(const Char character, int index)
constexpr unsigned long long linear_congruent_generator(unsigned rounds)
constexpr Xor_string(const Char *string)
constexpr const unsigned long long XORKEY
#define XSTR_RANDOM_NUMBER(Min, Max)