diff options
author | Egor Pugin <egor.pugin@gmail.com> | 2020-03-14 17:34:07 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-14 17:34:07 +0300 |
commit | b3e84e58d471412b9d26e173b77c757d93d57b19 (patch) | |
tree | 5ad991beda3975e8d8237562724e20f30d169d40 /src/tools | |
parent | 9afa9c4e97faa9a6d7e6089ec1f822047738fdec (diff) | |
parent | 64174491dac84c559db5c48ed850177fa3eb4da0 (diff) |
Merge pull request #133 from JellyBrick/master
Fix #127, #128 & Code quality improvements
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/FileTools.cpp | 2 | ||||
-rw-r--r-- | src/tools/StringTools.cpp | 11 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/tools/FileTools.cpp b/src/tools/FileTools.cpp index 408c710..d2c303c 100644 --- a/src/tools/FileTools.cpp +++ b/src/tools/FileTools.cpp @@ -23,4 +23,4 @@ void write(const string& content, const string& filePath) { out.close(); } -}; +} diff --git a/src/tools/StringTools.cpp b/src/tools/StringTools.cpp index 1246c50..f49a78e 100644 --- a/src/tools/StringTools.cpp +++ b/src/tools/StringTools.cpp @@ -3,6 +3,7 @@ #include <cstdlib> #include <iomanip> #include <cstdio> +#include <random> using namespace std; @@ -58,8 +59,13 @@ string generateRandomString(std::size_t length) { static const string chars("qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890-=[]\\;',./!@#$%^&*()_+{}|:\"<>?`~"); static const std::size_t charsLen = chars.length(); string result; + + random_device randomDevice; + mt19937 randomSeed(randomDevice()); + uniform_int_distribution<int> generator(0, charsLen - 1); + for (std::size_t i = 0; i < length; ++i) { - result += chars[rand() % charsLen]; + result += chars[generator(randomSeed)]; } return result; } @@ -84,8 +90,7 @@ string urlDecode(const string& value) { for (std::size_t i = 0, count = value.length(); i < count; ++i) { const char c = value[i]; if (c == '%') { - int t = 0; - sscanf(value.substr(i + 1, 2).c_str(), "%x", &t); + int t = stoi(value.substr(i + 1, 2), nullptr, 16); result += (char) t; i += 2; } else { |