Browse Source

check decoded seed with master public key instead of an address

283
ThomasV 12 years ago
parent
commit
3e8099b619
  1. 17
      lib/wallet.py

17
lib/wallet.py

@ -649,11 +649,18 @@ class Wallet:
return s return s
def decode_seed(self, password): def decode_seed(self, password):
# test password on an address seed = self.pw_decode(self.seed, password)
addr = self.all_addresses()[0]
self.get_private_key(addr, password) # check decoded seed with master public key
# return seed curve = SECP256k1
return self.pw_decode(self.seed, password) secexp = self.stretch_key(seed)
master_private_key = ecdsa.SigningKey.from_secret_exponent( secexp, curve = SECP256k1 )
master_public_key = master_private_key.get_verifying_key().to_string().encode('hex')
if master_public_key != self.master_public_key:
print_error('invalid password (mpk)')
raise BaseException('Invalid password')
return seed
def get_history(self, address): def get_history(self, address):

Loading…
Cancel
Save