changed algorithm

This commit is contained in:
2026-01-04 11:50:32 +03:00
parent 525b273a84
commit be1049db93

View File

@@ -125,18 +125,16 @@ namespace omath
{ {
std::span bytes{reinterpret_cast<std::uint8_t*>(&m_data), sizeof(m_data)}; std::span bytes{reinterpret_cast<std::uint8_t*>(&m_data), sizeof(m_data)};
for (auto& byte : bytes) for (size_t i = 0; i < bytes.size(); ++i)
for (const auto key_byte : key) bytes[i] ^= static_cast<std::uint8_t>(key[i % key.size()] + (i * key_size));
byte ^= key_byte;
m_is_encrypted = false; m_is_encrypted = false;
} }
OMATH_FORCEINLINE constexpr void encrypt() OMATH_FORCEINLINE constexpr void encrypt()
{ {
std::span bytes{reinterpret_cast<std::uint8_t*>(&m_data), sizeof(m_data)}; std::span bytes{reinterpret_cast<std::uint8_t*>(&m_data), sizeof(m_data)};
for (auto& byte : bytes) for (size_t i = 0; i < bytes.size(); ++i)
for (const auto key_byte : key) bytes[i] ^= static_cast<std::uint8_t>(key[i % key.size()] + (i * key_size));
byte ^= key_byte;
m_is_encrypted = true; m_is_encrypted = true;
} }
OMATH_FORCEINLINE constexpr T& value() OMATH_FORCEINLINE constexpr T& value()
@@ -170,7 +168,6 @@ namespace omath
}; };
} // namespace omath } // namespace omath
#define CT_RAND_ARRAY_INT(N) \
#define CT_RAND_ARRAY_INT(N) \ (::omath::make_array<(N), (::omath::base_seed() ^ static_cast<std::uint64_t>(__COUNTER__))>())
(::omath::make_array<(N), (::omath::base_seed() ^ static_cast<std::uint64_t>(__COUNTER__))>())
#define OMATH_DEF_CRYPT_VAR(TYPE, KEY_SIZE) omath::EncryptedVariable<TYPE, KEY_SIZE, CT_RAND_ARRAY_INT(KEY_SIZE)> #define OMATH_DEF_CRYPT_VAR(TYPE, KEY_SIZE) omath::EncryptedVariable<TYPE, KEY_SIZE, CT_RAND_ARRAY_INT(KEY_SIZE)>