Last active
October 11, 2024 18:04
-
-
Save gadiener/ebec8b39b15293fbc438b2d21b211dfe to your computer and use it in GitHub Desktop.
OpenSSL commands to create a Bitcoin private/public keys from a ECDSA keypair
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
PRIVATE_KEY="ECDSA" | |
PUBLIC_KEY="ECDSA.pub" | |
BITCOIN_PRIVATE_KEY="bitcoin" | |
BITCOIN_PUBLIC_KEY="bitcoin.pub" | |
echo "Generating private key" | |
openssl ecparam -genkey -name secp256k1 -rand /dev/random -out $PRIVATE_KEY | |
echo "Generating public key" | |
openssl ec -in $PRIVATE_KEY -pubout -out $PUBLIC_KEY | |
echo "Generating Bitcoin private key" | |
openssl ec -in $PRIVATE_KEY -outform DER|tail -c +8|head -c 32|xxd -p -c 32 > $BITCOIN_PRIVATE_KEY | |
echo "Generating Bitcoin public key" | |
openssl ec -in $PRIVATE_KEY -pubout -outform DER|tail -c 65|xxd -p -c 65 > $BITCOIN_PUBLIC_KEY |
@GregoryTrzonkowski unfortunately I don't really remember as the gist is 2 years old. But looking at the documentation you quoted, seems that it's not needed
- BITCOIN_PRIVATE_KEY name may be misleading. There is the hex representation of ECDSA key in the script above. In contrast Bitcoin private keys are typically represented in WIF format (Base58Check encoding) like exported from Bitcoin Core and imported by many wallets.
There is the script that converts keys genereted by OpenSSL to Bitcoin Wallet Import Format (WIF): https://gist.github.com/GregTonoski/438992249df6e4bd613f9758421ff38a
how to hack bitcoin
Hi,I want to generate a password with bitcoin hash string.Is there any openssl script or command that I can use in the terminal for this.Thank you in advance for your help.
Ready to learn it ?
+1
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Source: https://www.openssl.org/docs/man3.0/man1/openssl.html
Is there a reason to include the part of the command:
-rand /dev/random
?