我想在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 };
我该怎么做?我们非常感谢示例代码。
答案 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));