在浏览器中的二进制数据的加密/解密(Encryption / decryption of binar

2019-10-17 02:11发布

我的工作,需要一个客户端去地穴从服务器接收的二进制数据的项目。 该方案是一个服务器的压缩和加密形式的二进制数据。 浏览器需要接收这个数据(文件),解密并解压缩,然后将它们下载到用户指定的位置在本地计算机上。 据我所知,他们是在浏览器这样的一些限制 -

  1. 是否使用Javascript可以访问本地存储。 我可以写/流多文件到用户指定的位置在硬盘上? 如果是这样,去寻找什么的API。

  2. 可以使用Javascript(或任何其他技术)在浏览器中用于解密(AES-256),并解压缩在浏览器内该数据流?

可以将这些问题用得到解决FileAPI HTML5的?

编辑:
与AES取代SHA2。 我们使用SHA2进行完整性检查,而不是encryption.That是一个错字。

Answer 1:

  1. 您不能直接访问用户的文件系统。 虽然, HTML5文件系统API可以被用于将数据保存在虚拟,沙盒文件系统。
  2. CryptoJS有一个实现了SHA-2

若要从服务器接收数据,我建议使用XMLHttpRequest使用responseType = "arraybuffer"



Answer 2:

我建议你使用JavaScript加密库,这里是一个: http://code.google.com/p/crypto-js/



Answer 3:

SHA-2是不加密或解密的数据的装置,它的一个散列算法,它被用来确定数据是否已被篡改。 加密算法是:DES,3-DES,AES等

我怀疑你需要生成你必须和你收到的散列比较数据的哈希值。



文章来源: Encryption / decryption of binary data in the browser