12345678910111213141516171819202122232425262728293031323334 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
- namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Prng
- {
- public abstract class EntropyUtilities
- {
- /**
- * Generate numBytes worth of entropy from the passed in entropy source.
- *
- * @param entropySource the entropy source to request the data from.
- * @param numBytes the number of bytes of entropy requested.
- * @return a byte array populated with the random data.
- */
- public static byte[] GenerateSeed(IEntropySource entropySource, int numBytes)
- {
- byte[] bytes = new byte[numBytes];
- int count = 0;
- while (count < numBytes)
- {
- byte[] entropy = entropySource.GetEntropy();
- int toCopy = System.Math.Min(bytes.Length, numBytes - count);
- Array.Copy(entropy, 0, bytes, count, toCopy);
- count += toCopy;
- }
- return bytes;
- }
- }
- }
- #pragma warning restore
- #endif
|