Узел 10.14.2
Электрон 4.0.5
Я пытаюсь получить доступ к встроенному криптообъекту Node из процесса рендеринга следующим образом:
const nodeCrypto = require('crypto');
...
const iv = nodeCrypto.randomBytes(16)
Несмотря на то, что десятки примеров онлайн делают именно это (включая один - https://github.com/electron/electron/issues/2129#issuecomment-118799802 - в выпуске Electron и от члена команды Electron), это не работает.Мой код компилируется, но когда я пытаюсь его запустить, мне говорят, что randomBytes
не существует на nodeCrypto
.
Копая немного дальше, я вижу, что мой объект nodeCrypto является экземпляромбраузер / DOM SubtleCrypto
(https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto), что означает, что мое требование требует не тянуть криптомодуль узла, а вместо этого использовать криптомодуль браузера.
Есть идеи?
Во-вторых, хотя я не знаком с SubtleCrypto
, я полагаю, что он может делать то, что мне нужно - просто базовое шифрование / дешифрование строк. Есть ли причина не для использования SubtleCrypto
?
Спасибо,
TTE