使用System.Security.Cryptography.RNGCryptoServiceProvider
比System.Random
的优缺点是什么.我知道RNGCryptoServiceProvider
是"更随机的",也就是说,对黑客来说不太可预测.还有其他的优点或缺点吗?
UPDATE:
根据回复,目前使用RNGCryptoServiceProvider
的利弊如下:
赞成的意见
-
RNGCryptoServiceProvider
是一个更强的加密随机数,这意味着它更适合确定加密密钥等.
欺骗
-
Random
更快,因为它是一个更简单的计算;当用于模拟或长时间计算时,如果加密随机性不重要,则应使用此选项.注:有关模拟的详细信息,请参见Kevin's answer–Random
不一定是随机的,您可能需要使用不同的非加密PRNG.