diff --git a/src/Numerics/Numerics-2017.csproj b/src/Numerics/Numerics-2017.csproj
index d810d513..45933ab2 100644
--- a/src/Numerics/Numerics-2017.csproj
+++ b/src/Numerics/Numerics-2017.csproj
@@ -22,10 +22,9 @@
-
- 4.3.0
-
+
+
-
\ No newline at end of file
+
diff --git a/src/Numerics/Random/CryptoRandomSource.cs b/src/Numerics/Random/CryptoRandomSource.cs
index d3b310b7..2b56f384 100644
--- a/src/Numerics/Random/CryptoRandomSource.cs
+++ b/src/Numerics/Random/CryptoRandomSource.cs
@@ -27,7 +27,7 @@
// OTHER DEALINGS IN THE SOFTWARE.
//
-#if !PORTABLE && !NETSTANDARD1_6
+#if !PORTABLE
using System;
using System.Collections.Generic;
@@ -51,7 +51,7 @@ namespace MathNet.Numerics.Random
/// to set whether the instance is thread safe.
public CryptoRandomSource()
{
- _crypto = new RNGCryptoServiceProvider();
+ _crypto = RandomNumberGenerator.Create();
}
///
@@ -71,7 +71,7 @@ namespace MathNet.Numerics.Random
/// if set to true , the class is thread safe.
public CryptoRandomSource(bool threadSafe) : base(threadSafe)
{
- _crypto = new RNGCryptoServiceProvider();
+ _crypto = RandomNumberGenerator.Create();
}
///
@@ -135,12 +135,12 @@ namespace MathNet.Numerics.Random
var bytes = new byte[values.Length*4];
#if !NET35
- using (var rnd = new RNGCryptoServiceProvider())
+ using (var rnd = RandomNumberGenerator.Create())
{
rnd.GetBytes(bytes);
}
#else
- var rnd = new RNGCryptoServiceProvider();
+ var rnd = RandomNumberGenerator.Create();
rnd.GetBytes(bytes);
#endif
@@ -168,7 +168,7 @@ namespace MathNet.Numerics.Random
/// Supports being called in parallel from multiple threads.
public static IEnumerable DoubleSequence()
{
- var rnd = new RNGCryptoServiceProvider();
+ var rnd = RandomNumberGenerator.Create();
var buffer = new byte[1024*4];
while (true)
diff --git a/src/Numerics/Random/RandomSeed.cs b/src/Numerics/Random/RandomSeed.cs
index 1e7cad9a..df2a1df6 100644
--- a/src/Numerics/Random/RandomSeed.cs
+++ b/src/Numerics/Random/RandomSeed.cs
@@ -6,10 +6,10 @@ namespace MathNet.Numerics.Random
{
static readonly object Lock = new object();
-#if PORTABLE || NETSTANDARD1_6
+#if PORTABLE
static readonly System.Random MasterRng = new System.Random();
#else
- static readonly System.Security.Cryptography.RandomNumberGenerator MasterRng = new System.Security.Cryptography.RNGCryptoServiceProvider();
+ static readonly System.Security.Cryptography.RandomNumberGenerator MasterRng = System.Security.Cryptography.RandomNumberGenerator.Create();
#endif
///
@@ -41,7 +41,7 @@ namespace MathNet.Numerics.Random
{
lock (Lock)
{
-#if PORTABLE || NETSTANDARD1_6
+#if PORTABLE
return MasterRng.NextFullRangeInt32() ^ Environment.TickCount ^ System.Guid.NewGuid().GetHashCode();
#else
var bytes = new byte[4];