javascript - Electron 应用程序中的安全内容(大量数据)

标签 javascript node.js electron

我正在构建一个 Electron 应用程序,它将与 ~800MB 的大量内容(图像/HTML/视频/音频)捆绑在一起。我将在我的应用程序中呈现此内容。有什么方法可以保护(加密)此内容,以便用户在不启动应用程序的情况下无法直接(或间接)访问它?

我可能必须存储密码和其他一些可以使用 node-keytar 保护的信息,但是使用 keytar 保护我的 800MB 内容似乎很困难。 任何建议/帮助表示赞赏。谢谢!

最佳答案

与其使用第三方工具,不如使用操作系统内置的加密工具? Cipher内置于 Windows 中,并且 OpenSSL for MAC 可用于执行此操作。

我会创建一个 npm 脚本来在打包文件/文件夹之前对其进行加密。因此,npm 脚本 block 可能如下所示:

  "scripts": {
    "encryptWindows": " cipher commands...",
    "encryptMac": "OpenSSL commands...",
    "buildWin": "...",
    "buildMac": "..."
    "build_encrypt_win": "encryptWindows && buildWin"
  }

另一种选择: 这stack overflow post 可能符合要求,因为用户正在加密 1GB 的文件。它使用内置的 Crypto Node 中的功能。

请务必记下您使用的密码/ key ,以便稍后再次使用它进行解密。

请注意 - 我还没有尝试过这两种解决方案,所以当应用程序构建/打包并且这些文件被加密时,Electron 尝试运行和访问这些文件可能会出现问题。

关于javascript - Electron 应用程序中的安全内容(大量数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46293002/

相关文章:

javascript - 具有调整大小事件的等高行

node.js - nodejs控制台多行命令?

angular - Angular Electron 应用程序无法启动并自动退出

node.js - 如何在 Electron 应用程序中显示另存为对话框?

javascript - grunt-rev 与 javascript 源中的图像?

php - 将正则表达式从 PHP 移植到 JavaScript

javascript - 在滚动条上更改图像 Logo

node.js - 如何使用 Nodemailer 以密件抄送方式发送电子邮件

javascript - 某些 expressjs 静态文件正在提供,而另一些则没有

javascript - 如何在 Electron js中创建模态? (javascript,html,css)