Exemple #1
0
 def generate(cls, testnet=False):
     password = getpass.getpass(prompt='New Password: '******'ascii')
     salt = token_bytes(32)
     cipher = cls.cipher(salt, password)
     mnemonic, private_key = HDPrivateKey.generate(testnet=testnet)
     plaintext = private_key.zprv().encode('ascii')
     plaintext += b'\x00' * ((16 - len(plaintext)) % 16)
     encrypted_private = cls(salt, cipher.encrypt(plaintext))
     encrypted_private.private_key = private_key
     encrypted_private.expires = int(time()) + 300
     return mnemonic, encrypted_private
Exemple #2
0
 def generate(cls, testnet=False):
     password = getpass.getpass(prompt='New Password: '******'utf-8')
     salt = token_bytes(32)
     iv = token_bytes(AES.block_size)
     cipher = cls.cipher(salt, iv, password)
     mnemonic, private_key = HDPrivateKey.generate(testnet=testnet)
     # pad the xprv by 2 bytes as the length needs to be a multiple of 16
     if testnet:
         version = TESTNET_XPRV
     else:
         version = MAINNET_XPRV
     unencrypted = private_key.raw_serialize(version) + b'\x00\x00'
     encrypted_private = cls(salt, iv, cipher.encrypt(unencrypted))
     encrypted_private.private_key = private_key
     encrypted_private.expires = int(time()) + 300
     return mnemonic, encrypted_private