簡體   English   中英

在 NodeJS 中將私有以太坊密鑰更改為 PEM 或 HMAC 算法

[英]Changing a Private Ethereum Key into a PEM or HMAC algorithm in NodeJS

我有一個私鑰,即:

0x66228b427f07b168c7cb1380aa5554403b9e24bf935a9364c89711a306a23ddb

注意:原始密鑰是發布問題時的公鑰: 0x6a2043113D5640F9F50dC593D0DcD8CC1c970EB1
我為這個問題隨機生成了它,所以不用擔心它在互聯網上是公開的。

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

要將其放入我的庫中,我必須以其中一種格式保存它。

secretOrPrivateKey 是一個字符串、緩沖區或 object,其中包含 HMAC 算法的秘密或 RSA 和 ECDSA 的 PEM 編碼私鑰。 對於帶有密碼的私鑰,可以使用 object { 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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM