Breezip Password [hot] May 2026
def load(self): """Load encrypted storage file.""" if not os.path.exists(STORAGE_FILE): self.data = {} return try: with open(STORAGE_FILE, "r") as f: enc_content = f.read().strip() if not enc_content: self.data = {} return self.master_password = getpass.getpass("Master password: ") json_str = self._decrypt(enc_content, self.master_password) self.data = json.loads(json_str) except Exception: print("❌ Decryption failed. Wrong master password or corrupted file.") self.data = {} self.master_password = None
def _decrypt(self, enc_data: str, password: str) -> str: """Decrypt AES-256-CBC encrypted data.""" raw = base64.b64decode(enc_data) salt = raw[:SALT_SIZE] iv = raw[SALT_SIZE:SALT_SIZE + IV_SIZE] ciphertext = raw[SALT_SIZE + IV_SIZE:] key = self._derive_key(password, salt) cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=default_backend()) decryptor = cipher.decryptor() decrypted_padded = decryptor.update(ciphertext) + decryptor.finalize() # Remove padding return decrypted_padded.rstrip(b"\x00").decode()
def save(self): """Save data to encrypted file.""" if not self.master_password: print("❌ Master password not set.") return json_str = json.dumps(self.data, indent=2) enc_content = self._encrypt(json_str, self.master_password) with open(STORAGE_FILE, "w") as f: f.write(enc_content) print("✅ Data saved securely.") breezip password
def _derive_key(self, password: str, salt: bytes) -> bytes: """Derive a 32-byte AES key from master password using PBKDF2.""" kdf = PBKDF2( algorithm=hashes.SHA256(), length=32, salt=salt, iterations=ITERATIONS, backend=default_backend() ) return kdf.derive(password.encode())
def delete_entry(self): """Delete a service entry.""" service = input("Service name to delete: ").strip() if service in self.data: del self.data[service] self.save() print(f"✅ 'service' deleted.") else: print(f"❌ 'service' not found.") def load(self): """Load encrypted storage file
def set_master_password(self): """Initialize or change master password.""" while True: pwd1 = getpass.getpass("New master password: ") pwd2 = getpass.getpass("Confirm master password: ") if pwd1 == pwd2 and len(pwd1) >= 6: self.master_password = pwd1 print("✅ Master password set.") break else: print("❌ Passwords must match and be at least 6 chars.")
---
def list_services(self): """List all stored service names.""" if not self.data: print("⚠️ No entries.") else: print("\n📋 Stored services:") for i, service in enumerate(self.data.keys(), 1): print(f"i. service")