微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 NodeJS 中将私有 Etherium 密钥更改为 PEM 或 HMAC 算法

如何解决在 NodeJS 中将私有 Etherium 密钥更改为 PEM 或 HMAC 算法

我有一个私钥是 0x66228b427f07b168c7cb1380aa5554403b9e24bf935a9364c89711a306a23ddb'

注意:原始密钥是发布问题时的公钥 0x6a2043113D5640F9F50dC593D0DcD8CC1c970EB1

我是为这个问题随机生成的,所以不用担心它在互联网上是公开的。

我想将其用作 JWT 令牌的加密方案 a,使用 ES256 算法。

要将其放入我的图书馆,我必须将其采用这些格式之一。

secretorPrivateKey 是一个字符串、缓冲区或对象,其中包含 HMAC 算法的秘密或 RSA 和 ECDSA 的 PEM 编码私钥。如果私钥带有密码,则可以使用对象 { key,passphrase }(基于加密文档),在这种情况下,请确保传递算法选项。

是否有任何简单的方法可以将十六进制值移动到这些格式之一,或者这将不起作用,因为我不了解以太坊私钥和 ES256 之间的区别

解决方法

Etherium 密钥实际上是 ES256K 而不是 ES256,因此在这种情况下可能是不可能的。

如果您需要在 NodeJS 中的 PEM 中转动钥匙,有一个名为 key-encoder 的库用于此特定目的。可以通过以下代码完成。

var KeyEncoder = require('key-encoder');
console.log(KeyEncoder.default);
let keyEncoder = new KeyEncoder.default('secp256k1')

var pemPrivateKey = keyEncoder.encodePrivate('0x66228b427f07b168c7cb1380aa5554403b9e24bf935a9364c89711a306a23ddb','raw','pem')
console.log(pemPrivateKey);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。