[英]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.