diff --git a/services/backup/docker-server/contents/server/src/Tools.h b/services/backup/docker-server/contents/server/src/Tools.h --- a/services/backup/docker-server/contents/server/src/Tools.h +++ b/services/backup/docker-server/contents/server/src/Tools.h @@ -1,10 +1,12 @@ #pragma once #include +#include namespace comm { namespace network { +std::string generateRandomString(std::size_t length = 20); uint64_t getCurrentTimestamp(); } // namespace network diff --git a/services/backup/docker-server/contents/server/src/Tools.cpp b/services/backup/docker-server/contents/server/src/Tools.cpp --- a/services/backup/docker-server/contents/server/src/Tools.cpp +++ b/services/backup/docker-server/contents/server/src/Tools.cpp @@ -1,10 +1,23 @@ #include "Tools.h" #include +#include namespace comm { namespace network { +std::string generateRandomString(std::size_t length) { + const std::string CHARACTERS = + "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + thread_local std::random_device generator; + std::uniform_int_distribution<> distribution(0, CHARACTERS.size() - 1); + std::string random_string; + for (std::size_t i = 0; i < length; ++i) { + random_string += CHARACTERS[distribution(generator)]; + } + return random_string; +} + uint64_t getCurrentTimestamp() { using namespace std::chrono; return duration_cast(system_clock::now().time_since_epoch())