diff --git a/src/main.cpp b/src/main.cpp index 76fcd14..b685f8e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -18,7 +18,10 @@ int main(int argc, char *argv[]) qApp->setFont(QFont("Ubuntu", 11, QFont::Normal, false)); #endif - std::srand(static_cast(std::time(nullptr))); + // QRandomGenerator generates a secure random number, which we use to seed. + unsigned int seed = QRandomGenerator::securelySeeded().generate(); + std::srand(seed); + Settings::init(); Settings::getInstance()->setExecName(argv[0]); diff --git a/src/precompiled.h b/src/precompiled.h index 916fb43..bff6110 100644 --- a/src/precompiled.h +++ b/src/precompiled.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/src/turnstile.cpp b/src/turnstile.cpp index bf512e1..9ce13d5 100644 --- a/src/turnstile.cpp +++ b/src/turnstile.cpp @@ -183,8 +183,9 @@ void Turnstile::fillAmounts(QList& amounts, double amount, int count) { return; } - // Get a random amount off the amount (between half and full) and call recursively. - // Multiply by hundred, because we'll operate on 0.01 ZEC minimum. We'll divide by 100 later + // Get a random amount off the total amount and call recursively. + // Multiply by hundred, because we'll operate on 0.01 ZEC minimum. We'll divide by 100 later on + // in this function. double curAmount = std::rand() % (int)std::floor(amount * 100); // Try to round it off