电子4+中的加密模块的createECDH不支持secp256k1

问题描述 投票:0回答:1

我的项目使用电子3.1.13,并且下面的代码运行良好。

class MessageEncryption {
    private ec = crypto.createECDH('secp256k1');
    private key = this.ec.generateKeys();
    private shared;

    getPublicKey() {
        return this.key;
    }

    setSharedKey(key) {
        this.shared = this.ec.computeSecret(key);
    }
}

但是,当我将电子版升级到4.0.0+时,会出现错误。

Uncaught Error: Failed to create EC_KEY using curve name

所以我运行了crypto.getCurves(),结果显示如下。

Array(4)
  0: "prime256v1"
  1: "secp224r1"
  2: "secp384r1"
  3: "secp521r1"

'secp256k1'不在列表中。 :(

我想同时使用高版本的电子和'secp256k1',有解决方案吗?

谢谢!

node.js electron cryptojs ecdh
1个回答
0
投票

crypto模块是Node.js的一部分,而不是Electron。如果该模块没有您需要的模块,则只需导入另一个模块即可。

[尝试一些加密模块来确定它们是否具有secp256k1

https://www.npmjs.com/search?q=crypt

或直接搜索secp256k1

https://www.npmjs.com/search?q=secp256k1

© www.soinside.com 2019 - 2024. All rights reserved.