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)
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)
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)
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)
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)
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)
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)