小编use*_*976的帖子

Bouncy Castle ECDSA 从私钥创建公钥

我正在尝试用 C# 签署比特币交易。我有 2 位代码正在尝试完成。我可以使用 Bouncy castle 创建一组私钥和公钥。我可以将其转换为钱包导入格式。

我还可以从 ECDSA 公钥生成比特币地址。

但是,我想签署一笔交易,而我拥有的只是我的私钥。我不想导入钱包并签名。那么,在仅给出私钥的情况下,如何生成公钥呢?

我发现了一个 javascript 方法可以做到这一点:

ecparams.getG().multiply(this.priv).getEncoded();
Run Code Online (Sandbox Code Playgroud)

我在 Bouncy Castle 中看到的唯一方法是生成随机对。

private static AsymmetricCipherKeyPair GenerateKeys(int keySize)
{
  ECKeyPairGenerator gen = new ECKeyPairGenerator();
  SecureRandom secureRandom = new SecureRandom();
  KeyGenerationParameters keyGenParam = new KeyGenerationParameters(secureRandom, keySize);
  gen.Init(keyGenParam);
  return gen.GenerateKeyPair();
}
Run Code Online (Sandbox Code Playgroud)

c# bouncycastle bitcoin ecdsa

5
推荐指数
1
解决办法
9619
查看次数

标签 统计

bitcoin ×1

bouncycastle ×1

c# ×1

ecdsa ×1