public static byte[] EncryptData(byte[] data, ToxEncryptionKey key, out ToxErrorEncryption 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 = ToxErrorEncryption.Ok; if (!ToxEncryptionFunctions.PassKeyEncrypt(data, (uint)data.Length, ref pass, output, ref error) || error != ToxErrorEncryption.Ok) return null; return output; }
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; }
public static byte[] EncryptData(byte[] data, ToxEncryptionKey key, out ToxErrorEncryption 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 = ToxErrorEncryption.Ok; if (!ToxEncryptionFunctions.PassKeyEncrypt(data, (uint)data.Length, ref pass, output, ref error) || error != ToxErrorEncryption.Ok) { return(null); } return(output); }