Net.Pkcs11Interop.HighLevelAPI81.MechanismParams.CkAriaCbcEncryptDataParams.CkAriaCbcEncryptDataParams C# (CSharp) Method

CkAriaCbcEncryptDataParams() public method

Initializes a new instance of the CkAriaCbcEncryptDataParams class.
public CkAriaCbcEncryptDataParams ( byte iv, byte data ) : System
iv byte IV value (16 bytes)
data byte Data to encrypt
return System
        public CkAriaCbcEncryptDataParams(byte[] iv, byte[] data)
        {
            _lowLevelStruct.Iv = new byte[16];
            _lowLevelStruct.Data = IntPtr.Zero;
            _lowLevelStruct.Length = 0;

            if (iv == null)
                throw new ArgumentNullException("iv");
            
            if (iv.Length != 16)
                throw new ArgumentOutOfRangeException("iv", "Array has to be 16 bytes long");

            Array.Copy(iv, _lowLevelStruct.Iv, iv.Length);

            if (data != null)
            {
                _lowLevelStruct.Data = UnmanagedMemory.Allocate(data.Length);
                UnmanagedMemory.Write(_lowLevelStruct.Data, data);
                _lowLevelStruct.Length = Convert.ToUInt64(data.Length);
            }
        }