123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using System;
- namespace SharpCompress.Crypto
- {
- public class KeyParameter
- : ICipherParameters
- {
- private readonly byte[] key;
- public KeyParameter(
- byte[] key)
- {
- if (key == null)
- {
- throw new ArgumentNullException(nameof(key));
- }
- this.key = (byte[])key.Clone();
- }
- public KeyParameter(
- byte[] key,
- int keyOff,
- int keyLen)
- {
- if (key == 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();
- }
- }
- }
|