Estoy generando una clave pública a partir de mi clave privada. Lo hice en Java script y C#. pero las claves públicas generadas son diferentes. Mi código en C# (KeyCore.NET):
PrivateKey pv = new PrivateKey(Globals.ProdDumpKeyVersion, "KwY7eRvXXFd7HPX4Zuv8STZMLsVSe2X22HkU24Av84W1Cb7Rd5Yh");
PublicKey pb = pv.PublicKey;
Console.WriteLine(pb.ToString());
el resultado del código C# es 16w4zZWjWnhfEasJcSbfDQeHJRk1LytPHF5ir1ZS9mtUD5adsdH
y el resultado del código javascript es16reZXagkyToongduimD25SEerXwP3MQ4n
Usé KeyCore.NET y bitaddress
A una clave privada le corresponde una clave pública única .
En su caso, 16reZXagkyToongduimD25SEerXwP3MQ4n es una dirección (la codificación hash + de una clave pública).
El número base58 16w4zZWjWnhfEasJcSbfDQeHJRk1LytPHF5ir1ZS9mtUD5adsdH
es una codificación base58Check de la clave pública (comprimida):
030d4018f164d58e41e0c5fb99eb5ec26b4f21fc8ad0db726d51a7cce60c75df0a
que corresponde a KwY7eRvXXFd7HPX4Zuv8STZMLsVSe2X22HkU24Av84W1Cb7Rd5Yh
, y cuya dirección es 16reZXagkyToongduimD25SEerXwP3MQ4n
. Tenga en cuenta que su clave privada es en realidad un poco más que una clave privada. Es un número de 38 bytes que es una codificación base58Check de un número que contiene 34
bytes (en lugar de solo 32 para una clave secreta). Hay un byte de versión adicional 0x80
al principio que indica que la clave privada se utilizará para la red principal de bitcoin (en lugar de una red de prueba). Hay un adicional0x01
byte de sufijo al final (justo antes de los 4 bytes de suma de comprobación) que indica que la clave pública asociada con esta clave privada se generará en forma comprimida (33 bytes) en lugar de sin comprimir (65 bytes). Entonces, si bien es cierto que su representación WIF de su clave secreta conduce a una dirección única (una que corresponde a una clave comprimida en la red principal), el secreto real de 32 bytes puede conducir potencialmente a 4 direcciones (dependiendo del estado de compresión de la clave pública y tipo de red).
16w4zZWjWnhfEasJcSbfDQeHJRk1LytPHF5ir1ZS9mtUD5adsdH
, a dirección 16reZXagkyToongduimD25SEerXwP3MQ4n
con BitcoinAddress
clase de espacio de Bitcoin.KeyCore
nombres! en realidad es para la comodidad de la lectura humana. ¡Me gusta votar pero no puedo!
arman
16w4zZWjWnhfEasJcSbfDQeHJRk1LytPHF5ir1ZS9mtUD5adsdH
? es incorrecto?hartmut