1#include <errno.h> 2#include <fcntl.h> 3#include <stdint.h> 4#include <stdio.h> 5#include <stdlib.h> 6#include <string.h> 7#include <unistd.h> 8 9 10static const char* kRandomDevice = "/dev/urandom"; 11 12 13int 14main() 15{ 16 int fd = open(kRandomDevice, O_RDONLY); 17 if (fd < 0) { 18 fprintf(stderr, "Error: Failed to open \"%s\": %s", kRandomDevice, 19 strerror(errno)); 20 exit(1); 21 } 22 23 uint8_t buffer[16]; 24 ssize_t bytesRead = read(fd, buffer, sizeof(buffer)); 25 if (bytesRead < 0) { 26 fprintf(stderr, "Error: Failed to read from random device: %s", 27 strerror(errno)); 28 exit(1); 29 } 30 31 printf("Read %d bytes from random device: ", (int)bytesRead); 32 for (int i = 0; i < bytesRead; i++) 33 printf("%02x", buffer[i]); 34 printf("\n"); 35 36 return 0; 37} 38 39