gpt4 book ai didi

jwt - 为 JOSE/NODEJS 生成 EdDSA 25519 key 对

转载 作者:行者123 更新时间:2023-12-05 00:44:25 26 4
gpt4 key购买 nike

这是我在 ubuntu 20.x 上为 JOSE/NODEJS (14.16) 应用程序生成 EdDSA 25519 key 对的命令:

$ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id-ed25519 -C myemail_address

这是生成的私钥:

-----BEGIN OPENSSH PRIVATE KEY-----
a3BlbnNzaC1rZXktdjEAAAAABG5vbmVAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACAp92w+fwodL4kaUDrNghdZScdcg54IJOO6tLpG91oeKgAAAJj71Y9w+9WP
cAAAAAtzc2gtZWQyNTUxOQAAACAp92w+awodL4kaUDrNghdZScdcg54IJOO6tLpG91oeKg
AAAEDsEfbdyx4HaM5cL1f2Ag2Knb0NDCIiuIDsm6FwR5NJESn3bD5/Ch0viRpQOs2CF1lJ
c1yDnggk47q0ukb3Wh4qAAAAFGVtY2yhYjIwMTFAZ21haWwuY29tAQ==
-----END OPENSSH PRIVATE KEY-----

私钥有 366 个字节而不是 32 个字节。

这是公钥:

BAAAC3NzaC1lZ1I1NTE5AAAAICn3CD5/Ch0viRpQOs2CF1lJx1yDnggk47q0ukb3Wh4q myemail_address

不计算电子邮件地址是 63 字节,看起来太长了。

为 EdDSA 25519 生成 key 对的方法是否正确?如果不是,那么正确的方法是什么?

最佳答案

您也可以为此使用 Node.js (>= 12.0.0)。

const keypair = crypto.generateKeyPairSync(
'ed25519',
{
privateKeyEncoding: { format: 'pem', type: 'pkcs8' },
publicKeyEncoding: { format: 'pem', type: 'spki' }
}
)

console.log(keypair.privateKey)
console.log(keypair.publicKey)

两者都有blockingnon-blocking用于此的 API。

关于jwt - 为 JOSE/NODEJS 生成 EdDSA 25519 key 对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66802775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com