1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-10-11 18:39:05 +00:00
trezor-firmware/embed/unix/rng.c

18 lines
374 B
C
Raw Normal View History

2017-12-15 15:56:08 +00:00
#include <stdio.h>
#include <stdlib.h>
#include "common.h"
#include "rng.h"
uint32_t rng_get(void)
{
static FILE *frand = NULL;
if (!frand) {
frand = fopen("/dev/urandom", "r");
}
ensure(sectrue * (frand != NULL), "fopen failed");
uint32_t r;
ensure(sectrue * (sizeof(r) == fread(&r, 1, sizeof(r), frand)), "fread failed");
return r;
}