在C#中生成MB的随机数据

时间:2014-01-09 14:07:35

标签: c# random base64 url-encoding

我有一个生成KB顺序随机数据的算法。

byte[] linkBytes = new byte[size * 1024];
var rngCrypto = new System.Security.Cryptography.RNGCryptoServiceProvider();
rngCrypto.GetBytes(linkBytes);
String text128 = Convert.ToBase64String(linkBytes);
String text128Enc = Uri.EscapeDataString(text128);

return text128Enc;

问题是我在Base64中需要MB的随机数据。 在MSDN上说EscapeDataString大约不能超过32766个字符。 int size。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

作为base64编码的字符串,只能包含需要URI编码的三个字符,您只需替换这三个字符:

string text128Enc = text128.Replace("+", "%2b").Replace("/", "%2f").Replace("=", "%3d");

我在100 MB数据创建的base64上进行了测试,编码该字符串大约需要一秒钟。