mirror of
https://github.com/starr-dusT/yuzu-mainline
synced 2024-03-05 21:12:25 -08:00
Better UUID randomness
This commit is contained in:
parent
448290bee4
commit
10f494eefe
@ -5,6 +5,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
|
#include <random>
|
||||||
#include "boost/optional.hpp"
|
#include "boost/optional.hpp"
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
#include "common/swap.h"
|
#include "common/swap.h"
|
||||||
@ -38,8 +39,12 @@ struct UUID {
|
|||||||
|
|
||||||
// TODO(ogniK): Properly generate uuids based on RFC-4122
|
// TODO(ogniK): Properly generate uuids based on RFC-4122
|
||||||
const UUID& Generate() {
|
const UUID& Generate() {
|
||||||
uuid[0] = (static_cast<u64>(std::rand()) << 32) | std::rand();
|
std::random_device device;
|
||||||
uuid[1] = (static_cast<u64>(std::rand()) << 32) | std::rand();
|
std::mt19937 gen(device());
|
||||||
|
std::uniform_int_distribution<uint64_t> distribution(1,
|
||||||
|
std::numeric_limits<uint64_t>::max());
|
||||||
|
uuid[0] = distribution(gen);
|
||||||
|
uuid[1] = distribution(gen);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user