在电子 4+ 中创建加密模块的 ECDH 不支持 secp256k1



我的项目使用了电子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',有解决方案吗?

谢谢!

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

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

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

或者直接搜索secp256k1

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

相关内容

  • 没有找到相关文章

最新更新