下载过程中的Javascript解密

Joe*_*gel 2 javascript encryption proxy download

我正在构建一个ASPX网站,允许用户下载CSV/Excel文件(包括"保存到"对话框).CSV包含加密数据 - 解密密钥在用户端可用,并应对Web服务保密.所以解密实际上应该在浏览器中执行,javascript实现(sjcl)证明工作正常.但是如何影响文件下载期间传入的数据流?像浏览器托管代理执行javascript解密的东西?

@closure:非常感谢!Ajax没问题,而且这个想法

<a href='data:application/csv;base64,aGVsbG87d29ybGQNCg=='>click</a>
Run Code Online (Sandbox Code Playgroud)

真的很酷,但它有两个问题:它似乎不适用于IE,它不是真正巨大的表的正确方法.该解决方案应该能够处理数千条记录,因此我们需要某种下载流编码器/解密器.

clo*_*ure 5

以下是实现此目的的步骤:

  1. 而不是将CSV直接下载到客户端计算机,而是通过ajax获取它
  2. 通过Ajax接收数据后,通过Internet上的许多可用功能解析CSV.如果您需要帮助,请告诉我.此函数将CSV转换为本机Javascript阵列.
  3. 遍历阵列并将加密数据转换为未加密的数据.在同一个数组中本机执行.
  4. 将数组转换为CSV(同样在公共域中有函数)
  5. 创建一个链接(一个元素)并将href设置为本地数据 data:text/csv;charset=utf-8, + encodeURIComponent(csv)
  6. 将此链接提供给用户并要求他单击它以在本地保存文件.