linux kernel中有個entropy pool,這pool是由許多環境上的隨機因子造成的,
如Keyboard輸入的時間,滑鼠移動到的位置,disk存取的時間等等。
函式如下
unsigned long get_random(void){
unsigned long seed;
int fd;
fd = open("/dev/urandom", O_RDONLY);
if(fd == -1){
perror("open");
return 0;
}
if(read(fd, &seed, sizeof(seed)) < 0){ perror("read"); return 0; } if(close(fd)) perror("close"); return seed; }
2.另外一種方法,直接使用dd
$dd if=/dev/urandom of=/tmp/rand bs=1b count1簡單又快速
沒有留言:
張貼留言