我正在努力将几个安全库移植到 Windows Phone 8 和 Windows Store 8 平台。我需要一个提供随机数的函数。
Win32 有CryptGenRandom
甚至RtlGenRandom
. Windows Store 10 和通用 Windows 具有BCryptGenRandom
. 但是,Windows Phone 8 和 Windows Store 8 存在漏洞,因为 CryptoAPI不可用,而 CNG仅在 Windows 10 和通用 Windows 上可用。MSDN 文档说BCryptGenRandom
可用于“Windows Store”,但他们没有说它的 Windows Store 10 和 UWP(感谢 CW)。
这些库是非托管 C/C++。它们是用标准/可移植的 C 和 C++ 编写的。有时,他们必须使用特定于操作系统的 API,例如用于收集随机数的 API。它们不针对托管 API 进行编译,也不链接到托管库。
我们在 Windows Phone 8 和 Windows Store 8 中使用什么随机数?