Why don't addresses in an (unencrypted) wallet.dat file seem to match addresses that would be generated by the private keys in the wallet? I've been messing around with an empty wallet file using the 'pywallet' utility, and have come across something I can't understand.

A dump of the unencrypted wallet readily reveals a list containing entries such as:

        "addr": "1NpYUPpz2E4fhYfoJRfUApa5hSPcrpCGaT", 
        "hexsec": "d38c1f602bc0bc90a54c5d743b3b75460c4aeeb1dc6ad62d3c6758c3714998a0", 
        "reserve": 1, 
        "sec": "5KRTGtTczAwef7vdDfm9knDyKMoaa8XHJURnMZnQFd5qkWVJtsB"


The second/fourth entries are obviously the private key.  However, if I input this key at (for instance) bitaddress.org, it generates

        1EEYqeJHkubdhcrHvH7ajpSBEALXMygoD8 (address)
        1HoVqjG35pW3AQ7wtYtA72tSpyLyP4vDLp (compressed address)


neither of which match ANY of the other addresses listed in the dump.  I can't find an explanation for this anywhere, and I'm wondering what the ramifications of losing, say, the first address in the key entry ('1NpYUP...')  or the addresses in the pool are if they don't actually correspond to the private keys in the file.

Just a heads up - do not post your private key in public unless you'll no longer be using that Bitcoin address

Thanks in advance!
Perhaps pywallet is misreporting the bitcoin address?

Does your wallet actually show a 1NpYUPpz2E4fhYfoJRfUApa5hSPcrpCGaT bitcoin address?

Here's a method to manually determine the public address for the private key.


http://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_addresses