什麼是解決方案生成隨機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