我的项目使用了电子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