我想将RPI3中的内置硬件随机数生成器用于项目。目前,我只能使用/ dev / hwrng来保存二进制转储
a
0 0
1 0
2 0
3 1
4 1
5 2
对于我的项目,我需要从随机源(/ dev / hwrng)读取200位长的数据块,其频率为1读取/秒,并计算其中的1,然后将结果以十进制形式写入文本带有时间戳的文件,如下所示:
dd if=/dev/hwrng of=data.bin bs=25 count=1
十进制数应始终接近100,因为它是随机数据源,并且预期的1和0数应相同。 感谢您的帮助。
我确实提出了一个Perl脚本,该脚本接近了我不想要的东西,所以让我分享一下。我敢肯定,这可以用一种更清洁的方式完成...
datetime, value
11/20/2018 12:48:09, 105
11/20/2018 12:48:10, 103
11/20/2018 12:48:11, 97
答案 0 :(得分:0)
尝试运行以下代码
for ((n=0; n<200; ++n)); do echo $(date '+%m/%d/%Y %H:%M:%S'), $(od -vAn -N1 -tu1 < /dev/hwrng); sleep 1; done
如果要将其保存到文件中,请在最后添加简单的重定向
> somefile
根据新请求更新,尝试运行以下代码
for ((n=0; n<10; ++n)); do
count=0
for ((s=0; s<200; ++s)); do
if (( $(od -vAn -N1 -tu1 < /dev/hwrng) > 127 )); then ((++count)); fi
done
echo $(date '+%m/%d/%Y %H:%M:%S'), $count
sleep 1
done