Ist der generierte öffentliche Schlüssel aus privatem Schlüssel einzigartig in Bitcoin?

Ich generiere einen öffentlichen Schlüssel aus meinem privaten Schlüssel. Ich habe in Java-Skript und C #. aber generierte öffentliche Schlüssel sind anders. Mein Code in c# (KeyCore.NET):

PrivateKey pv = new PrivateKey(Globals.ProdDumpKeyVersion, "KwY7eRvXXFd7HPX4Zuv8STZMLsVSe2X22HkU24Av84W1Cb7Rd5Yh");
PublicKey pb = pv.PublicKey;
Console.WriteLine(pb.ToString());

Ergebnis für C#-Code ist 16w4zZWjWnhfEasJcSbfDQeHJRk1LytPHF5ir1ZS9mtUD5adsdHund das Ergebnis für Javascript-Code ist16reZXagkyToongduimD25SEerXwP3MQ4n

Ich habe KeyCore.NET und Bitadresse verwendet

Antworten (2)

Einem privaten Schlüssel entspricht ein eindeutiger öffentlicher Schlüssel.

In Ihrem Fall ist 16reZXagkyToongduimD25SEerXwP3MQ4n eine Adresse (der Hash + die Codierung eines öffentlichen Schlüssels).

aber was ist mit: 16w4zZWjWnhfEasJcSbfDQeHJRk1LytPHF5ir1ZS9mtUD5adsdH? ist es falsch?
Da der öffentliche Schlüssel, der dem privaten Schlüssel entspricht, den Sie in Ihrem Beitrag angegeben haben (übrigens, tun Sie das nicht !!!), '030d4018f164d58e41e0c5fb99eb5ec26b4f21fc8ad0db726d51a7cce60c75df0a' lautet, weiß ich nicht, was 16..sdH ist, muss ich sagen

Die base58-Nummer 16w4zZWjWnhfEasJcSbfDQeHJRk1LytPHF5ir1ZS9mtUD5adsdHist eine base58Check-Kodierung des (komprimierten) öffentlichen Schlüssels:

030d4018f164d58e41e0c5fb99eb5ec26b4f21fc8ad0db726d51a7cce60c75df0a

die entspricht KwY7eRvXXFd7HPX4Zuv8STZMLsVSe2X22HkU24Av84W1Cb7Rd5Yh, und deren Adresse ist 16reZXagkyToongduimD25SEerXwP3MQ4n. Beachten Sie, dass Ihr privater Schlüssel eigentlich etwas mehr als ein privater Schlüssel ist. Es ist eine 38-Byte-Zahl, die eine base58Check-Codierung einer Zahl ist, die 34Bytes enthält (anstatt nur 32 für einen geheimen Schlüssel). Am Anfang befindet sich ein zusätzliches Versionsbyte 0x80, das angibt, dass der private Schlüssel für das Haupt-Bitcoin-Netzwerk (und nicht für ein Testnetzwerk) verwendet werden soll. Es gibt eine zusätzliche0x01Suffix-Byte am Ende (kurz vor den 4 Prüfsummen-Bytes), die angeben, dass der diesem privaten Schlüssel zugeordnete öffentliche Schlüssel in komprimierter Form (33 Bytes) und nicht in unkomprimierter Form (65 Bytes) generiert werden soll. Während es also stimmt, dass Ihre WIF-Darstellung Ihres geheimen Schlüssels zu einer eindeutigen Adresse führt (eine, die einem komprimierten Schlüssel im Hauptnetzwerk entspricht), kann das tatsächliche 32-Byte-Geheimnis möglicherweise zu 4 Adressen führen (abhängig vom Komprimierungsstatus der öffentlicher Schlüssel und Art des Netzwerks).

Danke mein Herr! also jetzt bin ich klar! Wir können base58 des öffentlichen Schlüssels konvertieren, dh 16w4zZWjWnhfEasJcSbfDQeHJRk1LytPHF5ir1ZS9mtUD5adsdHin eine Adresse 16reZXagkyToongduimD25SEerXwP3MQ4nmit Namespace BitcoinAddress-Klasse Bitcoin.KeyCore! eigentlich ist es für den menschlichen Lesekomfort. Ich stimme gerne ab, kann aber nicht!