Введите следующий Баш функцию в командной строке:
Код:
#! / Bin / Баш
#
base58 = ({1..9} {} {A..H J..N} {P..Z} {a..k} {} m..z)
bitcoinregex ="^ [$ (Printf "% s" "$ {base58 [@]}")] {34} $"
decodeBase58 () {
местные s = $ 1
для я в {0..57}
сделать S ="$ {S // $ {base58 [я]} / $ я}"
сделанный
Округ Колумбия <<< "16o0d $ {s // / + 58 *} + е"
}
encodeBase58 () {
# 58 = 0x3a
До нашей эры <<<"IBase = 16; п = $ {1} ^^; в то время как (п>0) {п% 3A; п / = 3A}" |
нолики |
в то время как чтение п
делать эхо -n $ {base58 [п]}
сделанный
}
контрольная сумма ()
OpenSSL dgst -sha256 -binary
checkBitcoinAddress () {
если [[ "$ 1" = ~ $ Bitcoinregex]]
тогда
ч = $ (decodeBase58 "$ 1")
контрольная сумма "00 $ {ч :: $ {# ч} -8}" |
Grep -qi "^ $ {Ч: -8} $"
еще возвращение 2
фи
}
hash160 ()
XXD -p -c 80
hash160ToAddress ()
Printf "% 34s \ п" "$ (EncodeBase58 "00 $ 1 $ (контрольная сумма "00 $ 1")")"
publicKeyToAddress ()
hash160
)
#
base58 = ({1..9} {} {A..H J..N} {P..Z} {a..k} {} m..z)
bitcoinregex ="^ [$ (Printf "% s" "$ {base58 [@]}")] {34} $"
decodeBase58 () {
местные s = $ 1
для я в {0..57}
сделать S ="$ {S // $ {base58 [я]} / $ я}"
сделанный
Округ Колумбия <<< "16o0d $ {s // / + 58 *} + е"
}
encodeBase58 () {
# 58 = 0x3a
До нашей эры <<<"IBase = 16; п = $ {1} ^^; в то время как (п>0) {п% 3A; п / = 3A}" |
нолики |
в то время как чтение п
делать эхо -n $ {base58 [п]}
сделанный
}
контрольная сумма ()
OpenSSL dgst -sha256 -binary
checkBitcoinAddress () {
если [[ "$ 1" = ~ $ Bitcoinregex]]
тогда
ч = $ (decodeBase58 "$ 1")
контрольная сумма "00 $ {ч :: $ {# ч} -8}" |
Grep -qi "^ $ {Ч: -8} $"
еще возвращение 2
фи
}
hash160 ()
XXD -p -c 80
hash160ToAddress ()
Printf "% 34s \ п" "$ (EncodeBase58 "00 $ 1 $ (контрольная сумма "00 $ 1")")"
publicKeyToAddress ()
hash160
)
Затем вы создаете и зашифровать новый частный ellyptic кривого (заменить grondilu вашего GPG ID):
OpenSSL ecparam -genkey -name secp256k1 |
GPG -п.в -r grondilu |
тройник wallet.pem.asc
Это экономит и печатает шифрованный секретный ключ:
-----НАЧАТЬ PGP MESSAGE -----
Версия: GnuPG v1.4.11 (GNU / Linux)
hQIOA9o1PxP9fpBoEAgAofklK3zqQTYAL4bFOTix3reoHlp1yFBEaJdvKVq6uQn0
i4xIkgKXs36Yp0w4qqtwvDx54nen811EcqLsaHRZgFNISnnk9x9XvJSyMGpZ7xM4
iu57yb8U3p0iY9gZDdjeokgFj1B6YYwpUKpmEPER3jL / Vm + x6mPlD3WKRSzILD2K
WGjxvhExfRU6JpIJsUm9tYGL2Rm6YipQvw1 / hteYoOsaoBWM8F + 8M2VXJ6i2brTp
AK5QVhatcsI0gtFnS3sUKnpSsebPhIbjd8qT8nSJnQ2K1TK7t97NNWejzs7pr2pI
kupcCBSty + dyRU94ZuIWv82cWwRgtWYhyqnmxrnuEwgAgNwBdtXQbDuIkzbR + S2X
bx5kbOM5KSIk1KItWu1lA + 11 / eUHuBSGGGLiFlepkJNQNrReiORilz1vp + 9wFaGV
Ол / pMsd6bLeHYy + twQ8lQ27IXdJcjTfCQ8TDBbikKw1Xw4hFs9iIsICsGpXz9QXD
v2xFxigLEPJUEPJw03Tv / iKyTE9wMX1ASPYW48GYwUA1b / 3KxA3KXW2zs6MiTHFE
BpTb0t8xBXo1u8J6NRzGTOl7Irr75fZSOOMNsjJNi4jMWXk / JeR9ktjuY9tda5he
9CpBTuVteVQ1UATATnpvcfVXYMmkXAe1umshZIO + и / 5YFOg8CJgpQ8AhirCkVeEa
ZtLAVAEX + GsQJEqc6XiHmIUhvJQ06xXmmMZRzXx08MoKDpo + eb9 + Etec / VS2 / 6GT
PhD + jbnVxjEnlFvdNT9oAYVEzUId0beSfNGSszMXl8zLdLfK1RrqIHLJe7eMxsVZ
1EB6ccqt3Sby8hWECG1pkwT30I4BGjV7iMrejEZEtbs4JSUTxLmieoVDTnyT9 / CX
tNNBOQmHGNpX9Fan + 01yqaWeHW9IDJF3hZPVPWU22BzPsYqmCuu + bAzqwqYYoanD
GRsHguwru7bwspN65e8wAgAUInSTNiaeod3V6qWAiD3e6K9rHIqzkgJRB + eWP1ql
db8hsVj4HoLjhq0Vfey0lYjPIJLRIFdbK / 9EgTg4mz / nectoI0pL7g ==
= P2mb
-----END PGP MESSAGE -----
Чтобы увидеть соответствующий Bitcoin адрес, просто запустите:
GPG < wallet.pem.asc |
OpenSSL ес -pubout |
publicKeyToAddress
Это дает мне это:
1QAVk6rZ8Tzj6665X3v1yPGfKwNHFjGV4y
И в основном это Bitcoin адрес, по которому вы можете отправить деньги, которые вы хотите сохранить.
Я еще не знаю, как вы можете получить эти биткойны позже. Но это на самом деле не имеет значения, если вы хотите сохранить его на долгий срок "burrying ваши биткойны", Это, конечно, можно получить их, хотя.
PS. Если вы считаете, что это сообщение полезным, вы можете отправить несколько центов по указанному выше адресу