mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-08 07:18:47 +00:00
28 lines
1001 B
Python
28 lines
1001 B
Python
import sys
|
|
from pathlib import Path
|
|
from tempfile import TemporaryDirectory
|
|
from helpers import TEST_PASSWORD
|
|
from utils.key_derivation import derive_key_from_password
|
|
from utils.fingerprint import generate_fingerprint
|
|
from mnemonic import Mnemonic
|
|
|
|
sys.path.append(str(Path(__file__).resolve().parents[1]))
|
|
|
|
from seedpass.core.encryption import EncryptionManager
|
|
from seedpass.core.manager import PasswordManager, EncryptionMode
|
|
|
|
|
|
def test_seed_encryption_round_trip():
|
|
with TemporaryDirectory() as tmpdir:
|
|
seed = Mnemonic("english").generate(strength=128)
|
|
fp = generate_fingerprint(seed)
|
|
key = derive_key_from_password(TEST_PASSWORD, fp)
|
|
enc_mgr = EncryptionManager(key, Path(tmpdir))
|
|
enc_mgr.encrypt_parent_seed(seed)
|
|
decrypted = enc_mgr.decrypt_parent_seed()
|
|
|
|
assert decrypted == seed
|
|
pm = PasswordManager.__new__(PasswordManager)
|
|
pm.encryption_mode = EncryptionMode.SEED_ONLY
|
|
assert pm.validate_bip85_seed(seed)
|