Как я могу создать криптографически безопасное псевдослучайное число в C #?

Существует ли быстрая реализация криптографически защищенного генератора псевдослучайных чисел (CSPRNG) для C # 3.0 (.NET Framework 3.5) для токенов аутентификации?

using System.Security.Cryptography; ... using(RandomNumberGenerator rng = new RNGCryptoServiceProvider()) { byte[] tokenData = new byte[32]; rng.GetBytes(tokenData); string token = Convert.ToBase64String(tokenData); } 

Класс RNGCryptoServiceProvider

Это зависит от того, что вы подразумеваете под быстрым …

Существует не очень быстрый безопасный случайный генератор. Если вы хотите быстро, вы должны использовать обычный случайный class. Если вы хотите защитить, вы должны использовать случайный генератор в пространстве имен Cryptography, но это значительно медленнее. Вы просто не можете обоим.

  • Какую криптографическую hash-функцию я должен выбрать?
  • Как hash строку в Android?
  • Обработка криптовых исключений
  • Что делает оператор?
  • Можно ли расшифровывать hashи md5?
  • Использование SHA1 и RSA с java.security.Signature против MessageDigest и Cipher
  • Шифрование с помощью модуля Node.js Crypto и расшифровка с помощью Java (в приложении для Android)
  • Лучший способ создать ключи AES, чем посев SecureRandom
  • C # RSA-шифрование / дешифрование с передачей
  • Подтвердить подпись Authenticode на EXE-C ++ без CAPICOM
  • Почему при использовании функции Non-Random IV с режимом CBC существует уязвимость?
  • Давайте будем гением компьютера.