mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-10-01 01:26:01 -04:00
Add Random::randomUInt() and Random::randomUIntRange().
This commit is contained in:
parent
4dbdc4d847
commit
8335db4db5
@ -21,7 +21,7 @@
|
||||
|
||||
void Random::randomize(QByteArray& ba)
|
||||
{
|
||||
gcry_randomize(ba.data(), ba.size(), GCRY_STRONG_RANDOM);
|
||||
randomize(ba.data(), ba.size());
|
||||
}
|
||||
|
||||
QByteArray Random::randomArray(int len)
|
||||
@ -34,6 +34,23 @@ QByteArray Random::randomArray(int len)
|
||||
return ba;
|
||||
}
|
||||
|
||||
quint32 Random::randomUInt(quint32 limit)
|
||||
{
|
||||
quint32 rand;
|
||||
randomize(&rand, 4);
|
||||
return (rand % limit);
|
||||
}
|
||||
|
||||
quint32 Random::randomUIntRange(quint32 min, quint32 max)
|
||||
{
|
||||
return min + randomUInt(max - min);
|
||||
}
|
||||
|
||||
void Random::randomize(void* data, int len)
|
||||
{
|
||||
gcry_randomize(data, len, GCRY_STRONG_RANDOM);
|
||||
}
|
||||
|
||||
Random::Random()
|
||||
{
|
||||
}
|
||||
|
@ -26,7 +26,18 @@ public:
|
||||
static void randomize(QByteArray& ba);
|
||||
static QByteArray randomArray(int len);
|
||||
|
||||
/**
|
||||
* Generate a random quint32 in the range [0, @p limit)
|
||||
*/
|
||||
static quint32 randomUInt(quint32 limit);
|
||||
|
||||
/**
|
||||
* Generate a random quint32 in the range [@p min, @p max)
|
||||
*/
|
||||
static quint32 randomUIntRange(quint32 min, quint32 max);
|
||||
|
||||
private:
|
||||
static void randomize(void* data, int len);
|
||||
Random();
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user