Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 internal static extern bool PassKeyEncrypt(byte[] data, uint dataLength, ref ToxPassKey key, byte[] output, ref ToxErrorEncryption error);
Ejemplo n.º 7
0
 internal static extern bool PassEncrypt(byte[] data, uint len, byte[] passphrase, uint passphraseLength, byte[] output, ref ToxErrorEncryption error);
 internal static extern bool PassEncrypt(byte[] data, uint len, byte[] passphrase, uint passphraseLength, byte[] output, ref ToxErrorEncryption error);
 internal static extern bool PassKeyEncrypt(byte[] data, uint dataLength, ref ToxPassKey key, byte[] output, ref ToxErrorEncryption error);
Ejemplo n.º 10
0
 public static extern Boolean Encrypt(ToxEncryptionKeyHandle key, Byte[] plain, SizeT length, Byte[] cipher, ref ToxErrorEncryption error);
Ejemplo n.º 11
0
 public static extern Boolean Encrypt(Byte[] plain, SizeT len, Byte[] passphrase, SizeT passphraseLength, Byte[] cipher, ref ToxErrorEncryption error);