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;
}