我正在寻找一种方法,以加密客户端的浏览器中的任意大的文件,然后再发送到网络服务器。理想情况下,我想在aes-256-cbc加密,并与openssl格式兼容。
使用Stream API,我现在可以一块一块地读取文件,对其进行处理,并将其传送到XHR POST请求主体中,这很棒。
我现在需要一种使用AES加密它的方法。不幸的是,目前WebCrypto API与ReadableStreams不兼容。
https://github.com/w3c/webcrypto/issues/73
同时,什么可能是最好的替代方案?
发布于 2019-02-10 08:24:28
不幸的是,出于安全原因,我们不太可能在WebCrypto实现中看到streams支持。出于某些原因,请参阅Encrypting streams。
您还应该避免使用JS和WebASM加密实现,因为它们不太可能提供适当的安全保证。查看Why JS Crypto is Considered Harmful和查看Mitigating Side-Channel Attacks的原因。
您最终需要实现自己的分块,并在您的情况下使用WebCrypto。
https://stackoverflow.com/questions/54502097
复制相似问题