#include <cerrno>
#include <cstring>
#include <ctime>
+#include <random>
#if HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
static void
random_vector(char *aVector)
{
- int randno;
- int i;
-
- srand((time(0) ^ rand()) + rand());
- for (i = 0; i < AUTH_VECTOR_LEN;) {
- randno = rand();
- memcpy(aVector, &randno, sizeof(int));
- aVector += sizeof(int);
- i += sizeof(int);
- }
+ static std::mt19937 mt(time(0));
+ static std::uniform_int_distribution<uint8_t> dist;
+
+ for (int i = 0; i < AUTH_VECTOR_LEN; ++i)
+ aVector[i] = static_cast<char>(dist(mt) & 0xFF);
}
/* read the config file