Replace rand() by a true uniform distribution generator

This commit is contained in:
Chocobo1 2017-02-10 20:33:21 +08:00
parent c7d10dc091
commit 511796f74e
8 changed files with 109 additions and 6 deletions

View file

@ -26,6 +26,8 @@
* exception statement from your version.
*/
#include "abstractwebapplication.h"
#include <QCoreApplication>
#include <QDateTime>
#include <QDebug>
@ -37,8 +39,8 @@
#include "base/preferences.h"
#include "base/utils/fs.h"
#include "base/utils/random.h"
#include "websessiondata.h"
#include "abstractwebapplication.h"
// UnbanTimer
@ -219,13 +221,12 @@ QString AbstractWebApplication::generateSid()
{
QString sid;
qsrand(QDateTime::currentDateTime().toTime_t());
do {
const size_t size = 6;
quint32 tmp[size];
for (size_t i = 0; i < size; ++i)
tmp[i] = qrand();
tmp[i] = Utils::Random::rand();
sid = QByteArray::fromRawData(reinterpret_cast<const char *>(tmp), sizeof(quint32) * size).toBase64();
}