i2pdtunnelwizard/randomstringgenerator.cpp

41 lines
1.1 KiB
C++

// acetone, 2025
// I hate copyright of any kind. This is a public domain.
// Original source: http://git.community.i2p/acetone/i2pdtunnelwizard
#include "randomstringgenerator.h"
#include <string>
#include <random>
std::u8string RandomStringGenerator::getU8string(uint16_t length)
{
static const std::string characters = "abcdefghijklmnopqrstuvwxyz";
std::random_device rd;
std::mt19937 generator(rd());
std::uniform_int_distribution<> distribution(0, characters.size() - 1);
std::u8string randomString;
for (size_t i = 0; i < length; ++i)
{
randomString += characters[distribution(generator)];
}
return randomString;
}
// std::u8string RandomStringGenerator::getU8stringNumbers(uint16_t length)
// {
// static const std::string characters = "123456789"; // without 0
// std::random_device rd;
// std::mt19937 generator(rd());
// std::uniform_int_distribution<> distribution(0, characters.size() - 1);
// std::u8string randomString;
// for (size_t i = 0; i < length; ++i)
// {
// randomString += characters[distribution(generator)];
// }
// return randomString;
// }