| import os | |
| from cryptography.fernet import Fernet | |
| KEY_FILE = "chroma_key.key" | |
| CHROMA_PATH = "chroma_db" | |
| def decrypt_chroma_files(): | |
| # Load key | |
| with open(KEY_FILE, "rb") as f: | |
| key = f.read() | |
| fernet = Fernet(key) | |
| # Decrypt all .enc files | |
| for root, _, files in os.walk(CHROMA_PATH): | |
| for file in files: | |
| if not file.endswith(".enc"): | |
| continue | |
| encrypted_path = os.path.join(root, file) | |
| original_path = encrypted_path[:-4] # Remove .enc | |
| try: | |
| with open(encrypted_path, "rb") as f: | |
| encrypted_data = f.read() | |
| decrypted_data = fernet.decrypt(encrypted_data) | |
| with open(original_path, "wb") as f: | |
| f.write(decrypted_data) | |
| os.remove(encrypted_path) | |
| print(f"Decrypted: {original_path}") | |
| except Exception as e: | |
| print(f"Error decrypting {encrypted_path}: {e}") | |
| if __name__ == "__main__": | |
| decrypt_chroma_files() | |
| print("Decryption complete. ChromaDB ready for use.") | |