如何使用客户端JavaScript加密大型文件?

如何使用客户端JavaScript加密大型文件?,javascript,cryptography,aes,Javascript,Cryptography,Aes,我正在为文件传输协议进行客户端加密(这样即使服务器也不知道文件是什么。)我当前的方法是将文件导入浏览器文件系统,将文件分解为1 MB的块,将每个块存储在内存中,用AES加密每个块,然后连接所有块并上传。这可以防止内存过载,但效率相当低。有更好的方法吗?在浏览器文件系统中加密整个文件的方法?谢谢 使用加密或任何其他加密原语时,必须先创建一个。您计划通过使用基于JavaScript的加密来防止应用程序受到什么威胁?如果威胁是网络上的某个人,那么我们就有惊人的工具来防止基于网络的攻击(我们称之为网络攻

我正在为文件传输协议进行客户端加密(这样即使服务器也不知道文件是什么。)我当前的方法是将文件导入浏览器文件系统,将文件分解为1 MB的块,将每个块存储在内存中,用AES加密每个块,然后连接所有块并上传。这可以防止内存过载,但效率相当低。有更好的方法吗?在浏览器文件系统中加密整个文件的方法?谢谢

使用加密或任何其他加密原语时,必须先创建一个。您计划通过使用基于JavaScript的加密来防止应用程序受到什么威胁?如果威胁是网络上的某个人,那么我们就有惊人的工具来防止基于网络的攻击(我们称之为网络攻击)和一个新的攻击

有些使用基于JavaScript的加密。但是这种“保证不达到峰值”的加密实际上并不能保护客户端免受服务器的攻击——恶意JavaScript可以访问这些密钥,而服务器选择不读取它们——这不是安全性

基于JavaScript的加密无法阻止任何本地攻击(或RCE)或跨域攻击(XSS)——HTTPS也无法阻止这些攻击。由于缺乏可信的威胁参与者,因此加密从未由客户端完成,而是通常由应用程序服务器或应用程序执行。这是因为后端可以对不受信任的客户端保密


<> >如果你想更好地了解开发人员如何编写安全的应用程序,就可以考虑阅读“(JavaScript加密)”。你有没有试过在整件事情上使用,看看效果如何它对你有用吗?分块是为了防止RAM过载,因为加载一个大文件会使页面崩溃。你能定义一个“大”文件吗?可能重复:还要看看从那里链接的是哪个文件。你有没有找到这个@Raphie的解决方案?虽然与所问的问题相关,但我认为这并不是对他的问题的真正回答。您假设他加密是为了安全,但他可能纯粹出于隐私原因进行加密。IT安全通常被认为包括机密性、完整性和可用性(虽然我个人认为这是一个有限的概念,但让我们继续讨论)。“隐私”加密与保密性直接相关。因此,上述评论对我来说毫无意义;如果不是出于安全原因,为什么要加密?