我想生成随机唯一字符串,如MSDN库生成的字符串:
例如,http://msdn.microsoft.com/en-us/library/t9zk6eay.aspx.应生成类似't9zk6eay'的字符串.
我正在使用以下代码生成反CSRF令牌:
TokenCSRF = new Random(Guid.NewGuid().GetHashCode()).Next(1, 9999).ToString();
Run Code Online (Sandbox Code Playgroud)
这个令牌是可猜测的还是真正随机的?
编辑:我用这个替换了令牌生成器:
byte[] byt = new byte[sizeof(Int32)];
RNGCryptoServiceProvider rngCrypto = new RNGCryptoServiceProvider();
rngCrypto.GetBytes(byt);
return BitConverter.ToInt32(byt, 0);
Run Code Online (Sandbox Code Playgroud)