Files
sharpcompress/src/SharpCompress/Crypto/KeyParameter.cs
Adam Hathcock 959bbdcf1b big clean up
2022-12-20 15:06:44 +00:00

43 lines
947 B
C#

using System;
namespace SharpCompress.Crypto;
public class KeyParameter : ICipherParameters
{
private readonly byte[] key;
public KeyParameter(byte[] key)
{
if (key is null)
{
throw new ArgumentNullException(nameof(key));
}
this.key = (byte[])key.Clone();
}
public KeyParameter(byte[] key, int keyOff, int keyLen)
{
if (key is null)
{
throw new ArgumentNullException(nameof(key));
}
if (keyOff < 0 || keyOff > key.Length)
{
throw new ArgumentOutOfRangeException(nameof(keyOff));
}
if (keyLen < 0 || (keyOff + keyLen) > key.Length)
{
throw new ArgumentOutOfRangeException(nameof(keyLen));
}
this.key = new byte[keyLen];
Array.Copy(key, keyOff, this.key, 0, keyLen);
}
public byte[] GetKey()
{
return (byte[])key.Clone();
}
}