在javascript / Jquery中解密字节数据

时间:2013-01-25 09:33:38

标签: javascript compression gzip

我有一个项目,我在.cs文件中使用gzip来压缩数据并在html页面中获取它。 这是我的gzip代码。

public byte[] CustomerList()
    {
        SqlDataAdapter da = new SqlDataAdapter("select CustomerID from CustomerMaster", con);

        DataSet ds = new DataSet();
        da.Fill(ds);
        return CompressData(ds);
    }
    public byte[] CompressData(DataSet ds)
    {
        using (MemoryStream memory = new MemoryStream())
        {
            using (GZipStream gzip = new GZipStream(memory, CompressionMode.Compress))
            {
                var formatter = new BinaryFormatter();
                formatter.Serialize(gzip, ds);
                gzip.Close();
            }

            return memory.ToArray();
        }
    }

我使用ajax函数成功从html页面接收了数据。这是我的代码

<script type="text/javascript" language="javascript">
    $(document).ready(function () {

                    $.ajax({
                        type: "POST",
                        url: "Service1.svc/CustomerList",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        processdata: true,
                        success: function (data) {
                            alert(data.CustomerListResult);
                        },
                        error: function () {
                            alert("Error");
                        }
                    });
                });



</script>

我收到了字节格式的数据。现在我想解密字节数据以获取原始数据。在这里,我卡住了。请帮我解释如何解密字节以获取原始数据。

1 个答案:

答案 0 :(得分:0)

最佳解决方案是不压缩数据,而是在Web服务器上启用压缩。如果你必须预先压缩数据,那么你需要在另一端解压缩它(这不是世界上最快的东西)。我不知道C#,但看起来你正在使用标准的gzip;因此,您必须编写自己的gzip库或找到之前已经创建过的库。一个快速的谷歌发现this:它是针对node.js的,但你可以移植它以便在浏览器中使用。

tl; dr 让您的网络服务器压缩数据,而不是自己动手。