我正在开发一个项目,该项目要求客户端解密从服务器接收的二进制数据。场景是服务器具有压缩和加密形式的二进制数据。浏览器需要接收此数据(文件),解密并解压缩,然后将它们下载到本地计算机上的用户指定位置。我知道他们在浏览器中执行此操作有几个限制 -
Javascript是否可以访问本地存储。我可以将多个文件写入/流传输到硬盘驱动器上的用户指定位置吗?如果是这样,需要寻找什么API。
可以在浏览器中使用Javascript(或任何其他技术)来解密(AES-256)并在浏览器中解压缩此数据流吗?
使用HTML5的FileAPI可以解决这些问题吗?
修改
用AES替换SHA2。我们使用SHA2进行完整性检查,而不是加密。这是一个错字。
答案 0 :(得分:2)
要从服务器接收数据,我建议将XMLHttpRequest
与responseType = "arraybuffer"
一起使用。
答案 1 :(得分:1)
我建议您使用javascript加密库,这里有一个:http://code.google.com/p/crypto-js/
答案 2 :(得分:0)
SHA-2不是加密或解密数据的手段,它是一种哈希算法,它用于确定数据是否已被篡改。加密算法包括:DES,3-DES,AES等。
我怀疑你需要为你拥有的数据生成一个哈希值,并与你收到的哈希值进行比较。