SharpTox.Encryption.ToxEncryptionFunctions.PassKeyDecrypt C# (CSharp) Method

PassKeyDecrypt() private method

private PassKeyDecrypt ( byte data, uint length, ToxPassKey &key, byte output, ToxErrorDecryption &error ) : bool
data byte
length uint
key ToxPassKey
output byte
error ToxErrorDecryption
return bool
        internal static extern bool PassKeyDecrypt(byte[] data, uint length, ref ToxPassKey key, byte[] output, ref ToxErrorDecryption error);

Usage Example

Example #1
0
        public static byte[] DecryptData(byte[] data, ToxEncryptionKey key, out ToxErrorDecryption error)
        {
            if (data == null)
                throw new ArgumentNullException("data");

            if (key == null)
                throw new ArgumentNullException("key");

            byte[] output = new byte[data.Length - EncryptionExtraLength];
            var pass = key.ToPassKey();
            error = ToxErrorDecryption.Ok;

            if (!ToxEncryptionFunctions.PassKeyDecrypt(data, (uint)data.Length, ref pass, output, ref error) || error != ToxErrorDecryption.Ok)
                return null;

            return output;
        }