Так что, видимо, есть System.Security.Cryptography.RNGCryptoServiceProvider
класс доступен в .NET
, Но я понимаю (я новичок в разработке для Windows Phone 8), что я не могу получить доступ к этой функции из c ++ / cx … или я могу?
Мне не удалось найти другие функции / классы в Windows Phone API, которые я мог бы использовать. Что мне не хватает?
Я обнаружил, что могу использовать WinRT Windows.Security.Cryptography
API от c ++ / cx.
Решение было просто
auto iBuffer = Windows::Security::Cryptography::CryptographicBuffer::GenerateRandom(rand_len);
Чтобы получить данные из iBuffer я использовал этот ответ:
auto reader = Windows::Storage::Streams::DataReader::FromBuffer(iBuffer);
std::vector<unsigned char> data(reader->UnconsumedBufferLength);
if (!data.empty())
reader->ReadBytes(
::Platform::ArrayReference<unsigned char>(
&data[0], data.size()
)
);