/// <summary>
        /// Decrypt
        /// </summary>
        /// <param name="data"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static byte[] Decrypt(byte[] data, byte[] key)
        {
            if (data.Length == 0)
            {
                return(data);
            }

            var v = TeaCore.StrConvert.StrToLongs(data, 0, 0);
            var k = TeaCore.StrConvert.StrToLongs(FixKey(key), 0, 16);

            return(TeaCore.DecryptBlock(v, k));
        }