我正在开发一个项目,该项目需要客户端解密从服务器接收的二进制数据。该场景是服务器具有压缩和加密形式的二进制数据。浏览器需要接收这些数据(文件),解密并解压缩它们,然后将它们下载到本地计算机上用户指定的位置。我知道在浏览器中执行此操作有几个限制 -
Javascript 是否可以访问本地存储。我可以将多个文件写入/流式传输到硬盘上用户指定的位置吗?如果是这样,需要寻找哪些 API。
是否可以在浏览器中使用 Javascript(或任何其他技术)在浏览器中解密 (AES-256) 并解压缩此数据流?
使用 FileAPI 可以解决这些问题吗? HTML5 的?
编辑:
将 SHA2 替换为 AES。我们使用 SHA2 进行完整性检查,而不是加密。这是一个拼写错误。
最佳答案
- 您无法直接访问用户的文件系统。不过,HTML5 file system API可用于将数据保存在虚拟的沙盒文件系统中。
- CryptoJS 有一个 implementation对于 SHA-2
要从服务器接收数据,我建议使用 XMLHttpRequest
和 responseType = "arraybuffer"
.
关于javascript - 浏览器中二进制数据的加密/解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11666165/