57 lines
2.3 KiB
Python
57 lines
2.3 KiB
Python
from Crypt import CryptBitcoin
|
|
|
|
|
|
class TestCryptBitcoin:
|
|
def testSignOld(self):
|
|
privatekey = "23DKQpDz7bXM7w5KN5Wnmz7bwRNqNHcdQjb2WwrdB1QtTf5gM3pFdf"
|
|
privatekey_bad = "23DKQpDz7bXM7w5KN5Wnmz6bwRNqNHcdQjb2WwrdB1QtTf5gM3pFdf"
|
|
|
|
# Get address by privatekey
|
|
address = CryptBitcoin.privatekeyToAddress(privatekey)
|
|
assert address == "12vTsjscg4hYPewUL2onma5pgQmWPMs3ez"
|
|
|
|
address_bad = CryptBitcoin.privatekeyToAddress(privatekey_bad)
|
|
assert not address_bad == "12vTsjscg4hYPewUL2onma5pgQmWPMs3ez"
|
|
|
|
# Text signing
|
|
sign = CryptBitcoin.signOld("hello", privatekey)
|
|
assert CryptBitcoin.verify("hello", address, sign) # Original text
|
|
assert not CryptBitcoin.verify("not hello", address, sign) # Different text
|
|
|
|
# Signed by bad privatekey
|
|
sign_bad = CryptBitcoin.signOld("hello", privatekey_bad)
|
|
assert not CryptBitcoin.verify("hello", address, sign_bad)
|
|
|
|
def testSign(self):
|
|
privatekey = "5K9S6dVpufGnroRgFrT6wsKiz2mJRYsC73eWDmajaHserAp3F1C"
|
|
privatekey_bad = "5Jbm9rrusXyApAoM8YoM4Rja337zMMoBUMRJ1uijiguU2aZRnwC"
|
|
|
|
# Get address by privatekey
|
|
address = CryptBitcoin.privatekeyToAddress(privatekey)
|
|
assert address == "1MpDMxFeDUkiHohxx9tbGLeEGEuR4ZNsJz"
|
|
|
|
address_bad = CryptBitcoin.privatekeyToAddress(privatekey_bad)
|
|
assert address_bad != "1MpDMxFeDUkiHohxx9tbGLeEGEuR4ZNsJz"
|
|
|
|
# Text signing
|
|
sign = CryptBitcoin.sign("hello", privatekey)
|
|
|
|
assert CryptBitcoin.verify("hello", address, sign)
|
|
assert not CryptBitcoin.verify("not hello", address, sign)
|
|
|
|
# Signed by bad privatekey
|
|
sign_bad = CryptBitcoin.sign("hello", privatekey_bad)
|
|
assert not CryptBitcoin.verify("hello", address, sign_bad)
|
|
|
|
def testNewPrivatekey(self):
|
|
assert CryptBitcoin.newPrivatekey() != CryptBitcoin.newPrivatekey()
|
|
assert CryptBitcoin.privatekeyToAddress(CryptBitcoin.newPrivatekey())
|
|
|
|
def testNewSeed(self):
|
|
assert CryptBitcoin.newSeed() != CryptBitcoin.newSeed()
|
|
assert CryptBitcoin.privatekeyToAddress(
|
|
CryptBitcoin.hdPrivatekey(CryptBitcoin.newSeed(), 0)
|
|
)
|
|
assert CryptBitcoin.privatekeyToAddress(
|
|
CryptBitcoin.hdPrivatekey(CryptBitcoin.newSeed(), 2**256)
|
|
)
|