public static byte[] Encrypt(byte[] data, string password, out ToxErrorEncryption error) { if (data == null) { throw new ArgumentNullException(nameof(data)); } if (password == null) { throw new ArgumentNullException(nameof(password)); } byte[] cipher = new byte[data.Length + ToxEncryptionConstants.EncryptionExtraLength]; byte[] passBytes = ToxConstants.Encoding.GetBytes(password); error = ToxErrorEncryption.Ok; var success = ToxEncryptionFunctions.Pass.Encrypt(data, (uint)data.Length, passBytes, (uint)passBytes.Length, cipher, ref error); if (success && error == ToxErrorEncryption.Ok) { return(cipher); } return(null); }
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 byte[] Encrypt(byte[] data, out ToxErrorEncryption error) { if (data == null) { throw new ArgumentNullException(nameof(data)); } byte[] output = new byte[data.Length + ToxEncryptionConstants.EncryptionExtraLength]; error = ToxErrorEncryption.Ok; var success = ToxEncryptionFunctions.Key.Encrypt(this.handle, data, (uint)data.Length, output, ref error); if (success && error == ToxErrorEncryption.Ok) { return(output); } return(null); }
public static byte[] EncryptData(byte[] data, string password, out ToxErrorEncryption error) { if (data == null) { throw new ArgumentNullException("data"); } if (password == null) { throw new ArgumentNullException("password"); } byte[] output = new byte[data.Length + EncryptionExtraLength]; byte[] passBytes = Encoding.UTF8.GetBytes(password); error = ToxErrorEncryption.Ok; if (!ToxEncryptionFunctions.PassEncrypt(data, (uint)data.Length, passBytes, (uint)passBytes.Length, output, ref error) || error != ToxErrorEncryption.Ok) { return(null); } return(output); }
internal static extern bool PassKeyEncrypt(byte[] data, uint dataLength, ref ToxPassKey key, byte[] output, ref ToxErrorEncryption error);
internal static extern bool PassEncrypt(byte[] data, uint len, byte[] passphrase, uint passphraseLength, byte[] output, ref ToxErrorEncryption error);
public static extern Boolean Encrypt(ToxEncryptionKeyHandle key, Byte[] plain, SizeT length, Byte[] cipher, ref ToxErrorEncryption error);
public static extern Boolean Encrypt(Byte[] plain, SizeT len, Byte[] passphrase, SizeT passphraseLength, Byte[] cipher, ref ToxErrorEncryption error);