生成十六进制的随机16字节数组

时间:2018-05-21 03:35:28

标签: c++

我想在C或C ++ 11中生成16字节的十六进制数组:

const uint8_t alice[16] = { 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf };

我该怎么做?我们非常感谢示例代码。

1 个答案:

答案 0 :(得分:1)

尝试使用std::independent_bits_engine执行提取:

// Array of random chars
std::vector<unsigned char> chars(16);

// Random bits generator
std::independent_bits_engine<std::default_random_engine, CHAR_BIT, unsigned char> engine;

// Generate the array
std::generate(begin(chars), end(chars), std::ref(engine));