python - 在 Python 2.7 中使用英特尔 RDRAND

标签 python c python-2.7 random rdrand

我想在 Windows 上利用英特尔的 RDRAND 功能并生成真正的随机数(因为 Python 的随机模块不是那么随机)。 Python 中有没有可以访问此功能的 API?

我尝试安装下面评论中提到的 rdrand 模块,但我不断收到错误。日志:http://pastebin.com/A2Vqsqec

该错误似乎是由 rdrand.c 中的这些行引发的:

#ifdef __GNUC__
#define USING_GCC 1
#elif __clang__
#define USING_CLANG 1
#else
#error Only support for gcc or clang currently
#error if you port to another compiler, please
#error send back the patch to https://github.com/stillson/rdrand
#endif

为什么会发生这种情况?

更新:我已检查并确保定义了 __GNUC__

最佳答案

您可能希望使用 Python 来包装 C/C++ 例程,而不是使用 RdRand() 的 Python 实现。最近的一篇研究论文( http://iopscience.iop.org/article/10.3847/1538-4357/aa7ede/meta;jsessionid=A9DA9DDB925E6522D058F3CEEC7D0B21.ip-10-40-2-120 )或非付费版本( https://arxiv.org/abs/1707.02212 )显示了 Python 中 RdRand() 的性能有多差。即便如此,正如论文中提到的,RdRand 和 RdSeed 指令并不是完全“真正”随机的......

希望有帮助。

关于python - 在 Python 2.7 中使用英特尔 RDRAND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41393847/

相关文章:

带有可选位的python strptime格式

c++ - 与 sleep() 相比,定时器有更好的精度吗?

python - 使用 Python Azure SDK 列出 Azure 中的位置时出现错误

python - 如何对 pandas DF 条目和进度列值进行分组?

python - 使用 groupby 和 resample 进行 Pandas 上采样

c - 内部操作系统

python - 如何在使用 python 调度模块与共享作业队列并行执行作业时传递参数

无限循环中的Python用户输入太慢,容易混淆

python - 重复数组的不同元素不同的次数

c - 为什么我的 fifo 读取中间有奇怪字符的返回字符串?