MgfParameters.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using Best.HTTP.SecureProtocol.Org.BouncyCastle.Utilities;
  5. namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters
  6. {
  7. /// <remarks>Parameters for mask derivation functions.</remarks>
  8. public sealed class MgfParameters
  9. : IDerivationParameters
  10. {
  11. private readonly byte[] m_seed;
  12. public MgfParameters(byte[] seed)
  13. : this(seed, 0, seed.Length)
  14. {
  15. }
  16. public MgfParameters(byte[] seed, int off, int len)
  17. {
  18. m_seed = Arrays.CopyOfRange(seed, off, len);
  19. }
  20. public byte[] GetSeed()
  21. {
  22. return (byte[])m_seed.Clone();
  23. }
  24. public void GetSeed(byte[] buffer, int offset)
  25. {
  26. m_seed.CopyTo(buffer, offset);
  27. }
  28. #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER || UNITY_2021_2_OR_NEWER
  29. public void GetSeed(Span<byte> output)
  30. {
  31. m_seed.CopyTo(output);
  32. }
  33. #endif
  34. public int SeedLength => m_seed.Length;
  35. }
  36. }
  37. #pragma warning restore
  38. #endif