PassDecrypt() private method

private PassDecrypt ( byte data, uint length, byte passphrase, uint passphraseLength, byte output, ToxErrorDecryption &error ) : bool
data byte
length uint
passphrase byte
passphraseLength uint
output byte
error ToxErrorDecryption
return bool
Example #1
0
        public static byte[] DecryptData(byte[] data, string passphrase)
        {
            byte[] output = new byte[data.Length + ToxEncryptionFunctions.PassEncryptionExtraLength()];
            byte[] pp     = Encoding.UTF8.GetBytes(passphrase);
            byte[] result;

            int length = ToxEncryptionFunctions.PassDecrypt(data, (uint)data.Length, pp, (uint)pp.Length, output);

            if (length == -1)
            {
                return(null);
            }

            result = new byte[length];
            Array.Copy(output, 0, result, 0, length);

            return(result);
        }
Example #2
0
        public static byte[] DecryptData(byte[] data, string password, out ToxErrorDecryption 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 = ToxErrorDecryption.Ok;

            if (!ToxEncryptionFunctions.PassDecrypt(data, (uint)data.Length, passBytes, (uint)passBytes.Length, output, ref error) || error != ToxErrorDecryption.Ok)
            {
                return(null);
            }

            return(output);
        }