diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index 237b06b9..49ef30af 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -115,6 +115,7 @@ namespace WebSocketSharp #region Internal Fields internal const int FragmentLength = 1016; // Max value is Int32.MaxValue - 14. + internal static readonly RandomNumberGenerator RandomNumber = new RNGCryptoServiceProvider (); #endregion @@ -1627,8 +1628,7 @@ namespace WebSocketSharp internal static string CreateBase64Key () { var src = new byte[16]; - var rand = new Random (); - rand.NextBytes (src); + RandomNumber.GetBytes (src); return Convert.ToBase64String (src); } diff --git a/websocket-sharp/WebSocketFrame.cs b/websocket-sharp/WebSocketFrame.cs index 4142fab8..427bb597 100644 --- a/websocket-sharp/WebSocketFrame.cs +++ b/websocket-sharp/WebSocketFrame.cs @@ -277,8 +277,7 @@ namespace WebSocketSharp private static byte[] createMaskingKey () { var key = new byte[4]; - var rand = new Random (); - rand.NextBytes (key); + WebSocket.RandomNumber.GetBytes (key); return key; }