Im Wesentlichen suche ich nach dem Windows-Äquivalent für /dev/urandom
Linux.
Ich weiß, dass ich Windows CNG über die C++-APIs verwenden kann, habe aber keine Ahnung, ob es auf einem modernen Windows-System eine verfügbare (portable) Methode gibt, um über die Befehlszeile auf zufällige Bytes zuzugreifen.
Antwort1
Alles, was Sie über .NET verwenden können (z. B. C#), können Sie auch über PowerShell verwenden. Dazu gehört auch dieKryptographie.ZufallszahlenGeneratorKlasse. (In .NET Core 2.x wird diese Klasse über CNG implementiertBCryptGenRandom()unter Windows, OpenSSLRAND_bytes()unter Linux, AppleCryptoCCRandomGenerateBytes()unter macOS.)
$bytes = New-Object byte[](8)
$rng = [System.Security.Cryptography.RandomNumberGenerator]::Create()
$rng.GetBytes($bytes)
(Code angepasst vonCryptoGetRandom.ps1aus Microsofts „Script Center“. Das Originalskript verwendet die RNGCryptoServiceProvider
Klasse, die fast dasselbe ist, aber in alten .NET 1.x-Runtime-Versionen nicht verfügbar ist.)