我正在构建一个 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/