在电子渲染器过程中访问Node的加密模块

时间:2019-02-28 02:32:06

标签: javascript node.js electron

节点10.14.2

电子4.0.5

我正在尝试从渲染器进程访问Node的内置加密对象,如下所示:

const nodeCrypto = require('crypto');
...
const iv = nodeCrypto.randomBytes(16)

尽管在线上看到数十个示例完全做到了这一点(包括在Electron问题中以及来自Electron团队成员的一个https://github.com/electron/electron/issues/2129#issuecomment-118799802-),但这是行不通的。我的代码可以编译,但是当我尝试运行它时,被告知randomBytes上不存在nodeCrypto

再深入一点,我可以看到我的nodeCrypto对象是浏览器/ DOM SubtleCryptohttps://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto)的实例,这意味着我的require语句不是拉节点加密模块,而是而是依靠浏览器加密模块。

有什么想法吗?

其次,虽然我对SubtleCrypto不熟悉,但我想它可以满足我的需要-只是基本的字符串加密/解密。有什么原因使用SubtleCrypto吗?

谢谢

TTE

0 个答案:

没有答案