Ejemplo n.º 1
0
 def encrypt_address_item(self, item: AddressItem, key: str):
     cipher = AESHelper(key)
     tmp = item._asdict()  # noqa
     tmp['hexseed'] = cipher.encrypt(tmp['hexseed'].encode())
     tmp['mnemonic'] = cipher.encrypt(tmp['mnemonic'].encode())
     tmp['encrypted'] = True
     return AddressItem(**tmp)
Ejemplo n.º 2
0
 def encrypt_item(self, index: int, key: str):
     cipher = AESHelper(key)
     tmp = self._address_items[index]._asdict()  # noqa
     tmp['hexseed'] = cipher.encrypt(tmp['hexseed'].encode())
     tmp['mnemonic'] = cipher.encrypt(tmp['mnemonic'].encode())
     tmp['encrypted'] = True
     self._address_items[index] = AddressItem(**tmp)
Ejemplo n.º 3
0
 def decrypt_address_item(self, item: AddressItem, key: str):
     cipher = AESHelper(key)
     tmp = item._asdict()
     tmp['hexseed'] = cipher.decrypt(tmp['hexseed']).decode()
     tmp['mnemonic'] = cipher.decrypt(tmp['mnemonic']).decode()
     tmp['encrypted'] = False
     return AddressItem(**tmp)
Ejemplo n.º 4
0
 def decrypt_item_ver0(self, index: int, key: str):
     cipher = AESHelper(key)
     tmp = self._address_items[index]._asdict()  # noqa
     tmp['qaddress'] = cipher.decrypt(tmp['qaddress']).decode()
     tmp['hexseed'] = cipher.decrypt(tmp['hexseed']).decode()
     tmp['mnemonic'] = cipher.decrypt(tmp['mnemonic']).decode()
     tmp['encrypted'] = False
     self._address_items[index] = AddressItem(**tmp)
Ejemplo n.º 5
0
    def test_mnemonic_decrypt(self):
        key = 'test1234'

        walletAES = AESHelper(key)
        message = walletAES.decrypt(self.MNEMONIC_SECRET)

        message = message.decode()
        self.assertEqual(self.MNEMONIC_PLAINTEXT, message)
Ejemplo n.º 6
0
    def test_mnemonic_encrypt(self):
        key = 'test1234'
        iv = bytes(hstr2bin('c1f45a71eb78bde0f0d2ce0edd8fd161')
                   )  # Fix it so tests are reproducible

        walletAES = AESHelper(key)
        message = self.MNEMONIC_PLAINTEXT.encode()
        ciphertext = walletAES.encrypt(message, iv)

        self.assertEqual(self.MNEMONIC_SECRET, ciphertext)
Ejemplo n.º 7
0
    def decrypt_item(self, index: int, key: str):
        cipher = AESHelper(key)
        tmp = self._address_items[index]._asdict()  # noqa
        tmp['hexseed'] = cipher.decrypt(tmp['hexseed']).decode()
        tmp['mnemonic'] = cipher.decrypt(tmp['mnemonic']).decode()

        slave_group_asdict = []
        for slaves in tmp['slaves']:
            slave_list_asdict = []
            for i in range(len(slaves)):
                slave_list_asdict.append(slaves[i]._asdict())  # noqa
                slave_list_asdict[i]['hexseed'] = cipher.decrypt(slave_list_asdict[i]['hexseed']).decode()
                slave_list_asdict[i]['mnemonic'] = cipher.decrypt(slave_list_asdict[i]['mnemonic']).decode()
                slave_list_asdict[i]['encrypted'] = False
                slave_list_asdict[i] = AddressItem(**slave_list_asdict[i])
            slave_group_asdict.append(slave_list_asdict)
        tmp['slaves'] = slave_group_asdict
        tmp['encrypted'] = False
        self._address_items[index] = AddressItem(**tmp)