A modern, zero-boilerplate AES-GCM encryption library and CLI tool.
Project description
🛡️ EzCipher
EzCipher is a modern, lightweight, and zero-boilerplate AES-256-GCM encryption utility for Python.
Designed for developers who need secure encryption without dealing with the complexities of cryptographic primitives.
✨ Features
- Authenticated Encryption (AEAD): Uses AES-GCM to ensure data integrity and confidentiality.
- Zero Boilerplate: No need to manually manage Initialization Vectors (IVs), salts, or authentication tags.
- Secure Key Derivation: Hardened password-based key derivation using PBKDF2-HMAC-SHA256 with 100,000 iterations.
- SecureConfig: Built-in layer for managing encrypted configuration/vault files.
- Command Line Interface (CLI): Encrypt and manage secrets directly from your terminal.
🚀 Installation
pip install EzCipher
🛠️ Library Usage
Simple String Encryption
from EzCipher import EzCipher
# Initialize with a password
cipher = EzCipher.from_password("my-secret-password")
# Encrypt
encrypted_blob = cipher.encrypt("Hello, World!")
print(encrypted_blob) # Returns a versioned Base64 string
# Decrypt
original_text = cipher.decrypt(encrypted_blob)
assert original_text == "Hello, World!"
Encrypted Configuration (Vault)
from EzCipher import SecureConfig
# Create or load an encrypted vault
vault = SecureConfig("secrets.vault", "vault-password")
# Save encrypted data into groups
vault.save("database", {"user": "admin", "password": "db-password-123"})
# Read and decrypt
db_secrets = vault.read("database")
print(db_secrets['password']) # "db-password-123"
💻 CLI Usage
Once installed, use the ezcipher command:
Encrypt/Decrypt Strings
# Encrypt
ezcipher encrypt "secret message" -p "my-pass"
# Decrypt
ezcipher decrypt "AQ==..." -p "my-pass"
Manage Vault Files
# Set a secret
ezcipher config -f keys.vault -p "pass" --set production api_key "sk-12345"
# Get a secret
ezcipher config -f keys.vault -p "pass" --get production api_key
# List all
ezcipher config -f keys.vault -p "pass"
📖 Architecture & Format
EzCipher uses a unified binary format for its output:
[VERSION(1 byte)] | [SALT(16 bytes)] | [NONCE(12 bytes)] | [TAG(16 bytes)] | [CIPHERTEXT]
This ensures that every piece of encrypted data carries everything it needs to be safely decrypted with the correct password.
⚖️ License
Licensed under the MIT License.
Copyright (c) 2026 minicom365
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ezcipher-1.0.0.tar.gz.
File metadata
- Download URL: ezcipher-1.0.0.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcbe5ebb6cdda0518b0305cfd6cd86efcd37b7e3f3e9acb0cec909941e7f478b
|
|
| MD5 |
b7acdec869c4ddb139c5d1717ab4b7c9
|
|
| BLAKE2b-256 |
7ece35b3619e3feaa5acf68cc552f2f7fce7dae74adfa0d802968903e6aaf11c
|
File details
Details for the file ezcipher-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ezcipher-1.0.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d0dc0bd480f6dd15071455fb7e9db7b0d73b16d8d759137dd7077ab6381ae95
|
|
| MD5 |
32c4eefdd224f8201b97a46862eff663
|
|
| BLAKE2b-256 |
1676824f3cb06571077887df47d80a6c39adcc24d331a0a5d3ad4e3c722e27f5
|