From afacbc749c9d86e30ded6102c9f14cddf1622052 Mon Sep 17 00:00:00 2001 From: Aster Seker Date: Sat, 6 Sep 2025 08:22:34 +0300 Subject: [PATCH] docs(readme): sync Russian translation --- README-RU.md | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/README-RU.md b/README-RU.md index b7c48be..68b8606 100644 --- a/README-RU.md +++ b/README-RU.md @@ -141,21 +141,6 @@ secure_buffer key(std::move(secret_string)); // обнуляет перемещ auto mac = hmac::get_hmac(key, payload, hmac::TypeHash::SHA256); ``` -Для дополнительной защиты в памяти можно использовать `secret_string`, который -обфусцирует данные и по возможности закрепляет их в RAM: - -```cpp -#include - -hmac_cpp::secret_string token("super-secret-token"); - -token.with_plaintext([](const uint8_t* p, size_t n){ - // p действует только внутри коллбэка -}); - -token.clear(); -``` - ### HMAC (сырой буфер) ```cpp @@ -357,6 +342,13 @@ cl /EHsc example.cpp /I _install\\include /link /LIBPATH:_install\\lib hmac_cpp. --- +## 🔒 Примечания по безопасности + +`secure_buffer` очищает память при разрушении. Он не закрепляет страницы в RAM, +не предоставляет защиту страниц и не предотвращает атаки соседних буферов. + +--- + ## ⚠️ Исключения и контракты * `pbkdf2`, `hkdf_*`, HOTP/TOTP и временные токены проверяют параметры и бросают `std::invalid_argument`; функции временных токенов также могут бросать `std::runtime_error`, если системные часы недоступны.