【问题标题】:NodeJS Storing Private Key As String To .txt Is Writing "[object Object]"NodeJS将私钥作为字符串存储到.txt正在写入“[object Object]”
【发布时间】:2021-02-20 23:03:29
【问题描述】:

所以我试图将elliptic 库中的 ec 密钥对作为字符串存储到 .txt 文件中,但它正在将“[object Object]”写入文件。

编辑:您将在下面看到我将对象转换为字符串两次,这是我自己修复的单独问题。

我如何将它写入文件...

        this.keyPair = ec.genKeyPair();

        this.sec = this.keyPair.toString('hex');
        
        fs.writeFileSync(skeyPath, JSON.stringify(this.sec));

我是如何读取文件的(尽管“[object,object]”被写入其中)...

    const rawSkey = fs.readFileSync(skeyPath);
    
    const skey = Buffer.from(rawSkey, 'hex');

如您所见,我尝试将密钥对转换为十六进制字符串以存储到 skeyPath(名为 secret.txt)中,然后将其作为缓冲区检索。不幸的是,如果写入文件的内容是提到的内容,这将不起作用。

我做错了什么,是否有更好的文件格式来存储数组缓冲区字符串?

【问题讨论】:

    标签: javascript node.js file cryptography txt


    【解决方案1】:

    可能this.keyPair.toString('hex'); 不返回字符串键 我已经在 npm here 上查看了包页面 我相信您必须获取公钥并存储它并获取私钥并将其单独存储 我也建议你使用nodejs提供的Crypto

    【讨论】:

    • 你说我应该至少存储私钥而不是整个密钥对确实有道理。至少这样我可以从私人重新生成密钥对。一旦我回来做这件事,我会给这个更新。感谢您的回复。
    猜你喜欢
    • 2013-12-24
    • 2020-07-06
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多