1

我的项目使用的是electron 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”,有解决方案吗?

谢谢!

4

1 回答 1

0

如果crypto模块没有您需要的,只需使用另一个。NPM 上有很多与加密相关的模块。

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

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

或者直接搜索secp256k1

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

于 2020-06-17T10:06:46.970 回答