RandomNumberGenerator vs RNGCryptoServiceProvider

Laut MSDN-Dokumentation für RandomNumberGenerator:

Anwendung code nicht direkt verwenden Sie diese Klasse. Diese abstrakte Klasse wird als Basisklasse für alle kryptografischen Zufallszahlengeneratoren.

Für eine Implementierung des cryptographic random number generator, verwenden Sie die abgeleitete Klasse RNGCryptoServiceProvider.

Aber ich habe den folgenden code verwendet, auf ein paar Gelegenheiten in unterschiedlichen code-Basen:

byte[] bytes = new byte[...];
RandomNumberGenerator rng = RandomNumberGenerator.Create();
rng.GetBytes(bytes);

Insbesondere mit StackExchange (was ich davon ausgehen, enthält SO) und auch mit BCrypt.Net.

Daher bin ich ein wenig verwirrt - welche Art von RandomNumberGenerator ist der obige code wird zurückgeben? Auch ist es ein bisschen ein Manko, dass einige code-Basen sind Verwendung RandomNumberGenerator eher als RNGCryptoServiceProvider?

Ich gehe davon aus RandomNumberGenerator.Create() tut unter der Haube, die ich bin völlig hier fehlt, ist aber technisch (wie es eine abstrakte Klasse) sollte nicht mit dem obigen code einen Fehler auslösen?

InformationsquelleAutor James | 2012-09-08
Schreibe einen Kommentar