Bitcoin Address generation

1

The bitcoin wiki says this:


How to create Bitcoin Address

0 - Having a private ECDSA key

18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725

1 - Take the corresponding public key generated with it

0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6

2 - Perform SHA-256 hashing on the public key

600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408

but when I run a sha256 on

0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6

I don't get

600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408

What I get is

32511e82d56dcea68eb774094e25bab0f8bdd9bc1eca1ceeda38c7a43aceddce

what am I doing wrong?

Assaf Shomer

Posted 2013-12-30T13:18:27.003

Reputation: 533

Answers

8

echo -n  "0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6"
| sha256sum 

Gives: 32511e82d56dcea68eb774094e25bab0f8bdd9bc1eca1ceeda38c7a43aceddce

echo "0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6"
| xxd -r -p /proc/self/fd/0 | sha256sum

Gives: 600ffe422b4e00731a59557a5cca46cc183944191006324a447bdb2d98d4b408

Conclusion: You hashed an ASCII representation of the public key in hexadecimal rather than the public key itself.

David Schwartz

Posted 2013-12-30T13:18:27.003

Reputation: 48 957

4

Use must use SHA256 on array of bytes, not on a hex-string representation.

Zergatul

Posted 2013-12-30T13:18:27.003

Reputation: 948