1 #ifndef LS_ENCRYPT_STRING_H 2 #define LS_ENCRYPT_STRING_H 17 #define TBX_XSTR_SEED ((__TIME__[7] - '0') * 1ull + (__TIME__[6] - '0') * 10ull + \ 18 (__TIME__[4] - '0') * 60ull + (__TIME__[3] - '0') * 600ull + \ 19 (__TIME__[1] - '0') * 3600ull + (__TIME__[0] - '0') * 36000ull) 22 #define TBX_XSTR_SEED (3600ull) 35 #define Random_LCG() linear_congruent_generator(10) 36 #define XSTR_RANDOM_NUMBER(Min, Max) (Min + (Random_LCG() % (Max - Min + 1))) 46 return character ^
static_cast<Char
>(
XORKEY + index );
60 for(
unsigned i = 0u; i < size; ++i )
61 _string[i] = encrypt_character<Char>(
string[i], i );
69 string[t] =
string[t] ^ static_cast<Char>(
XORKEY + t );
79 #define XorS(name, my_string) constexpr LicenseSpring::Xor_string<(sizeof(my_string)/sizeof(char)), char> name(my_string) 80 #define XorString(my_string) []{ constexpr LicenseSpring::Xor_string<(sizeof(my_string)/sizeof(char)), char> expr(my_string); return expr; }().decrypt() 82 #define XorWS(name, my_string) constexpr LicenseSpring::Xor_string<(sizeof(my_string)/sizeof(wchar_t)), wchar_t> name(my_string) 83 #define XorWideString(my_string) []{ constexpr LicenseSpring::Xor_string<(sizeof(my_string)/sizeof(wchar_t)), wchar_t> expr(my_string); return expr; }().decrypt() 92 #define EncryptStr(s) XorString(s) 101 #define EncryptWStr(s) XorWideString(s) 103 #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)