什么是解决方案生成随机long long
加密强度С++? (允许提升)随机长长的发生器C++
回答
<random>
标头提供对随机数设施的便携式访问,包括潜在的加密pRNG。
std::random_device
可能不是一个密码PRNG在所有的实现,所以你必须检查你的实现文档。特别是2012年以前的VC++不提供非确定性实现。 VC++ 2012及更高版本使用Windows加密服务实现了这一点。
其他操作系统(如Linux或Mac OS X)上的实现通常可以使用“/ dev/urandom”或“/ dev/random”或通过文件系统公开的任何其他随机设备。例如。 libC++默认使用“/ dev/urandom”,它在OS X上使用Yarrow算法。
我知道你排除了提升,但boost::random_device
有一个使用该平台的加密服务的Windows实现。
+1使用STD也指向再次提高(我不明白为什么人们没有默认设置升压) – gvd
@gvd:很多企业做不喜欢将开源代码放到构建机器上。 –
在Linux下你可以从/dev/random
或/dev/urandom
阅读它们都提供加密的熵。它们之间
的区别是:/dev/random
块,如果熵耗尽,所以它也可能比/dev/urandom
慢,但就是“更强”
因此,使用流它看起来像这样
long long n;
std::ifstream rstream ("/dev/random");
rstream >> n;
- 1. 使用增长(伪)随机数发生器的长双
- 2. 从随机长生成随机数
- 3. C中的长随机数
- 4. 随机数发生器,C++
- 5. 随机数发生器用java长期种子值
- 6. 随机数字发生器 - 可变长度
- 7. 生成随机长的用户ID
- 8. 产生随机的长签名ç
- 9. 生成随机长度的零
- 10. 产生蟒蛇随机的长或转换STR长
- 11. C - 用随机数发生器发出
- 12. C++ INT VS在64位机器长长
- 13. 如何从短随机数生成更长的随机数?
- 14. 生成具有随机行长度的随机二维数组
- 15. 生成随机X长度字符串
- 16. 产生随机UUID是2位长
- 17. 随机发生器
- 18. C++随机数发生器的循环
- 19. C中的随机迷宫发生器
- 20. 使用随机长生成随机双打
- 21. Objective C - 随机字符发生器
- 22. OpenMP C正态随机发生器
- 23. Igraph随机数发生器在c
- 24. 随机字符串发生器C#
- 25. 随机数发生器dev /随机
- 26. 随机数发生器自动随机
- 27. 创建长随机量
- 28. 让C#中的随机数发生器发生1000次
- 29. 随机骰子发生器
- 30. Ç随机数发生器
为什么不升压? - 它可以帮助我们理解你的限制 – Mark
@Mark我需要一个没有提升的解决方案,因为它必须在linux下工作,没有预先安装boost库 – Roman
在linux上,你可以从'/ dev/random'。 – zch