17
6
How can I take the output of sha256sum
sudofox@ubuntu:~$ echo -n 'Hi guys!' | sha256sum
7542fb6685f9fd8f37d56faf62f0bb4563684a51539e4b26f0840db361e0027c -
and turn it into a Base58Check encoded private key?
I need to be able to do this with a list of SHA256 keys. Is there a script I can download, or must I spend a few weeks making it just so I can make my temporary addresses?
In response to first comment: No, I must input a string, like "fluttershy", for example, into sha256sum and then I must encode the output of sha256sum into a base58check private key.
string -->sha256sum --> some automagic process, which is the purpose of this question --> bitcoin private key.
Update: For anyone wanting to use Grondilu's Bitcoin Bash Tools: You need to source the bitcoin.sh file after extracting it into your directory to use the functions.
source ./bitcoin.sh
Update 2 (Aug 2017): Rewrote script to go from step 1 to WIF in one go. You can just add the declaration of base58 and the encodeBase58 functions from bitcoin.sh if you want to skip the rest of the lib.
#!/bin/bash
#Tool to convert bitcoin privkeys into WIF keys
# by sudofox
source ./bitcoin.sh
KEY=$1 # first arg
# add 0x80 to beginning
EXTENDEDKEY=$(echo 80$KEY)
FIRSTHASH=$(echo -n "$EXTENDEDKEY" |xxd -r -p |sha256sum -b|awk '{print $1}')
SECONDHASH=$(echo -n "$FIRSTHASH" |xxd -r -p |sha256sum -b|awk '{print $1}')
CHECKSUM=$(echo $SECONDHASH|cut -c1-8)
FINAL=$(encodeBase58 $EXTENDEDKEY$CHECKSUM)
echo $FINAL
The usage would be
./sha256_to_privkey.sh key
where in my example (see Stephen Gornick's answer), key would be
807542FB6685F9FD8F37D56FAF62F0BB4563684A51539E4B26F0840DB361E0027CCD5C4A8E
Do the same thing for the various functions, modifying as needed. Hope this helps anyone struggling to use the tools.
Yes, this is possible. But I have a strong feeling this is an XY problem
– Nick ODell – 2013-03-09T03:36:03.223Clarification (well, stating in explicit terms) above. – Austin Burk – 2013-03-09T03:50:58.380
Is there some reason why you want to send your bitcoins to an unspendable public key? – Nick ODell – 2013-03-09T04:08:38.310
@Nick ODell "Unspendable public key?" I'm generating a bitcoin private key. That means it would be spendable as long as I still have the key I generated.
You changed the title of my question so that it looks like I want to hash the private key and then try to turn that into a bitcoin address. Why would I want to do that? I'm changing the title to "How can I convert a SHA256 hash into a Bitcoin base58 private key?" – Austin Burk – 2013-03-09T05:04:27.277