gpt4 book ai didi

c++ - 如何在 C++ 中测试公钥/私钥对?

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:09 25 4
gpt4 key购买 nike

有没有办法验证给定的私钥是否与给定的公钥匹配?我想用 C++ 检查它们

最佳答案

这取决于使用 key 的公钥算法,以及这些 key 的编码方式。例如,RSA 公钥由两个参数“n”和“e”组成,而私钥由这两个参数加上“d”组成,可能还有“p”和“q”。所有这些参数都是大整数,一般使用一些大整数库的内部形式表示。因此,要比较公钥和私钥,您只需检查“n”和“e”是否匹配。根据所使用的库和系统,您甚至可以忽略“e”,因为它可能是一个常量。

使用 OpenSSL 可能类似于:

RSA *pubkey = PEM_read_RSA_PUBKEY(...);
RSA *privkey = PEM_read_RSAPrivateKey(...);

if (!BN_cmp(pubkey->n, privkey->n)) {
// same modulus, so the keys match

关于c++ - 如何在 C++ 中测试公钥/私钥对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11651632/

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