From 10f494eefead7b2da17d8095abdfaad9ff9290fb Mon Sep 17 00:00:00 2001 From: David Marcec Date: Sun, 12 Aug 2018 02:31:43 +1000 Subject: Better UUID randomness --- src/core/hle/service/acc/profile_manager.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/acc/profile_manager.h') diff --git a/src/core/hle/service/acc/profile_manager.h b/src/core/hle/service/acc/profile_manager.h index 908519095..314bccbf9 100644 --- a/src/core/hle/service/acc/profile_manager.h +++ b/src/core/hle/service/acc/profile_manager.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include "boost/optional.hpp" #include "common/common_types.h" #include "common/swap.h" @@ -38,8 +39,12 @@ struct UUID { // TODO(ogniK): Properly generate uuids based on RFC-4122 const UUID& Generate() { - uuid[0] = (static_cast(std::rand()) << 32) | std::rand(); - uuid[1] = (static_cast(std::rand()) << 32) | std::rand(); + std::random_device device; + std::mt19937 gen(device()); + std::uniform_int_distribution distribution(1, + std::numeric_limits::max()); + uuid[0] = distribution(gen); + uuid[1] = distribution(gen); return *this; } -- cgit v1.2.3