#include static unsigned int random_seed = 53455346; bool fill_random(void *p, unsigned int size) { unsigned char *buffer = p; if (!buffer || !size) { return false; } for (uint32_t i = 0; i < size; i++) { uint32_t next = random_seed; uint32_t result; next *= 1103515245; next += 12345; result = (uint32_t)(next / 65536) % 2048; next *= 1103515245; next += 12345; result <<= 10; result ^= (uint32_t)(next / 65536) % 1024; next *= 1103515245; next += 12345; result <<= 10; result ^= (uint32_t)(next / 65536) % 1024; random_seed = next; buffer[i] = (uint8_t)(result % 256); } return true; }